使用vmware建立Hadoop 1.X集群环境,实验环境如下:
机器名 IP地址 操作系统
master 192.168.1.115 Centos x64
slave1 192.168.1.111 Centos x64
slave2 192.168.1.112 Centos x64
1、安装虚拟机。
1)安装vmware,用centos x64做一份虚拟系统,网络使用桥接方式,硬盘动态预留40G。
2)用vmware自带clone功能,克隆出两份副本。
2、关闭防火墙。
1)关闭SELINUX,设置SELINUX=disabled,保存退出。
vi /etc/selinux/config
2)关闭防火墙
/sbin/service iptables stop
永久关闭
chkconfig --level 35 iptables off
3、配置网络。
手动配置IP地址。
4、修改主机名和映射。
1)修改主机名。
vi /etc/sysconfig/network
例如:
NETWORKING=yes
HOSTNAME=slave2
2)修改hosts映射,添加主机映射。
vi /etc/hosts
例如:
192.168.1.115 master
192.168.1.111 slave1
192.168.1.112 slave2
重启网络。
service network restart
5、生成ssh免密码(用普通用户生成)
1)三台机生成密钥对。
ssh-keygen -t rsa
2)将slave1和slave2生成的公钥拷贝到master:
scp 192.168.1.111:/home/huser/.ssh/id_rsa.pub ./slave1_rsa.pub scp 192.168.1.112:/home/huser/.ssh/id_rsa.pub ./slave2_rsa.pub
master上公钥往本机拷贝一份:
cp id_rsa.pub master_rsa.pub
3)3个公钥文件中的内容存放至authorized_keys,采用文本追加的方式:
cat master_rsa.pub >> authorized_keys cat slave1_rsa.pub >> authorized_keys cat slave2_rsa.pub >> authorized_keys
4)生成的authorized_keys需要设置权限:
chmod 600 authorized_keys
5)authorized_keys拷贝到另外两台机器上,ssh免密码登录其他机器测试。
6、安装JAVA
1)Linux可能自带OpenJDK或者IBMJDK,需要卸载掉重新安装Oracle JDK。
查看JDK信息
rpm -qa|grep java
卸载已经安装的JAVA:
yum -y remove java-1.6.0-openjdk-1.6.0.0-3.1.13.1.el6_5.x86_64
所有安装版本都卸载,直到提示找不到Java环境。
2)在/usr下创建一个java目录,将JAVA安装包上传,解压文件
tar -xzvf jdk-7u51-linux-x64.tar.gz
3)配置JAVA环境
先备份
cp /etc/profile /etc/profile.bak
编辑profile
先注释一行 #export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
再设置环境变量
export JAVA_HOME=/usr/java/jdk1.7.0_51 export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar export JRE_HOME=$JAVA_HOME/jre export PATH=$JAVA_HOME/bin:$PATH
修改完成,生效环境变量:
source /etc/profile
用java -version查看JAVA环境变量是否设置正确。
7、安装Hadoop 1.x(用普通用户安装)
1)下载hadoop-1.2.1.tar.gz,上传到/home/huser/hadoop,解压安装包。
tar -xvf hadoop-1.2.1.tar.gz
2)修改conf/hadoop-env.sh中的export JAVA_HOME=/usr/java/jdk1.7.0_51,即前面安装的JAVA路径。
3)修改conf/core-site.xml,在configuration下面添加:
<property> <name>fs.default.name</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/huser/hadoop/tmp/</value> </property>
需要在/home/huser/hadoop/,新建tmp文件夹。
4)修改conf/hdfs-site.xml,在configuration下面添加:
<property> <name>dfs.replication</name> <value>2</value> </property>
5)修改conf/mapred-site.xml,在configuration下面添加:
<property> <name>mapred.job.tracker</name> <value>master:9001</value> </property>
6)修改conf/masters,添加:
master
7)修改conf/slaves,添加:
slave1
slave2
8)将修改过后的上述配置文件拷贝到其他机器上,保证集群中每台机器环境一致。
9)在master机上格式化
[huser@master hadoop]$ hadoop-1.2.1/bin/hadoop namenode -format
10)在master机上启动集群
[huser@master hadoop]$ hadoop-1.2.1/bin/start-all.sh
查看启动情况
master上面进程情况
[huser@master hadoop]$ jps
3177 NameNode 3511 Jps 3428 JobTracker 3335 SecondaryNameNode
slave上面进程情况
[huser@slave1 hadoop]$ jqs
2576 DataNode 2754 Jps 2669 TaskTracker