一,服务准备
本案例用Linux虚拟机服务器来搭建HADOOP集群,所用的软件版本:
Vmware 11.0
Contos 6.5 64bit
二,JDK环境安装
上传JDK安装包---》解压(tar -zxvf)到指定目录---》配置环境变量 vi /etc/profile
三,网络环境准备
1,将虚拟机的网络环境设置为NAT
2,修改主机名:vi /etc/sysconfig/network 重启服务器生效
3,修改ip 。若为动态ip(不好,环境配置好后ip会随时发生变化)则可以跳过此步。
两种方式:
第一种:通过Linux图形界面进行修改(强烈推荐)
进入Linux图形界面 -> 右键点击右上方的两个小电脑 -> 点击Edit connections -> 选中当前网络System eth0 -> 点击edit按钮 ->
选择IPv4 -> method选择为manual -> 点击add按钮 -> 添加IP:192.168.1.101 子网掩码:255.255.255.0 网关:192.168.1.1 -> apply
第二种:修改配置文件方式(屌丝程序猿专用)
vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0" BOOTPROTO="static" ### HWADDR="00:0C:29:3C:BF:E7" IPV6INIT="yes" NM_CONTROLLED="yes" ONBOOT="yes" TYPE="Ethernet" UUID="ce22eeca-ecde-4536-8cc2-ef0dc36d4a8c" IPADDR="192.168.1.101" ### NETMASK="255.255.255.0" ### GATEWAY="192.168.1.1" ###四,修改主机 名和映射关系
vi /etc/sysconfig/network 修改主机名 重新启动有效
vim /etc/hosts
192.168.184.136 server3
五,关闭防火墙
#查看防火墙状态
service iptables status #关闭防火墙 service iptables stop #查看防火墙开机启动状态 chkconfig iptables --list #关闭防火墙开机启动 chkconfig iptables off六,安装HADOOP-2.4.1
Alt+p出现sftp窗口后put上传---》解压到指定目录---》和配置JDK一样 ,配置HADOOP的环境变量,要配置bin和sbin,改完后source /etc/profile 载入配置 ---》修改配置文件(5个),都在hadoop-2.4.1/etc/hadoop/ 目录下
1,vi hadoop-env.sh 第27行 export JAVA_HOME=/(JDK安装的目录)
2,vi core-site.xml
<!--指定HADOOP所用的文件系统schema(url),HDFS的老大NameNode的地址-->
<property>
<name>fs.defaultFS</name> <value>hdfs://server1:9000</value><!--这样的话不用怕动态ip变换来回改的麻烦,只改IP和主机名映射即可--> </property> <!-- 指定hadoop运行时产生文件的存储目录 --> <property> <name>hadoop.tmp.dir</name> <value>file:/home/hadoop-2.6.1/tmp</value> </property>3,vi hdfs-site.xml
<!-- 指定HDFS副本的数量 -->
<property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.secondary.http.address</name> <value>server1:50090</value> </property><!--指定hdfs中namenode的存储位置--> <property> <name>dfs.namenode.name.dir</name> <value>file:/home/hadoop-2.6.1/tmp/dfs/name</value> </property> <!--指定hdfs中datanode的存储位置--> <property> <name>dfs.datanode.data.dir</name> <value>file:/home/hadoop-2.6.1/tmp/dfs/data</value> </property>4,vim mapred-site.xml (mv mapred-site.xml.template mapred-site.xml)
<!-- 指定mr运行在yarn上 -->
<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>5,vi yarn-site.xml
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property> <name>yarn.resourcemanager.hostname</name> <value>server1</value> </property> <!-- reducer获取数据的方式 --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property>七,HADOOP的启动
1,格式化NameNade hdfs namenode -format (hadoop namenode -format)
2,启动HADOOP start-all.sh
3,验证是否启动成功 使用jps命令验证 正常有6个返回的数据
4,通过浏览器登入管理界面 ,会有NameNode和DtatNode的现实
http://192.168.159.232:50070 (HDFS管理界面)
http://192.168.1.101:8088 (MR管理界面)5,如果登入失败,不要慌,按照步骤走:关闭防火墙---》删除/hadoop-2.6.0/tmp/dfs/data目录下的登入连接文件---》初始化NameNode---》检查端口是否被占:netstat -tunlp |grep 9000。杀死占用端口的进程:kill 程序序列号。---》检查代码错误---》重新启动
6,配置主从机
vi slaves
主机第一行
server3
server2server1八,配置ssh免密登入
#生成ssh免登陆密钥
#进入到我的home目录 cd ~/.sshssh-keygen -t rsa (四个回车)
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥) 将公钥拷贝到要免密登陆的目标机器上 ssh-copy-id localhost如果没有配置ssh登入 在start-all的时候会出现starting datanode 很长一段时间 这里输入密码即可继续运行
启动集群在主机启动