一、Hadoop搭建准备(centOs6.5 且每个系统都要有同一个用户,如:hadoop)
1、IP的配置
包括Master和Slaves的IP配置,之间能够相互ping通;
例如:
192.168.1.2 Master
192.168.1.3 Slave-1
192.168.1.4 Slave-2
192.168.1.5 Slave-3
其中每台机子配置IP的过程如下:
vi /etc/sysconfig/network //配置hostName
vi /etc/sysconfig/network-script/ifcfg-eth0 //配置ip
vi /etc/hosts //配置hosts(所有集群的IP地址和对应的主机名称)
配置完成后,重启network 命令:service network restart
测试是否能够ping通过
2、配置SSH
1)首先,查看是否已经安装SSH
rmp -qa | grepopenssh
rmp -qa |grep rsync
2)若没有查询到结果,请按以下方式安装
yum -y installopenssh
yum -y install rsync
3)重新启动服务:service sshd restart
4)然后,配置Master无密码登录其它Slaves(以hadoop用户登录)
(1)ssh-keygen –t rsa –P '' //生成密钥对
(2)cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
(3)chmod 600 authorized_keys
(4)用root用户登录服务器修改SSH配置文件"/etc/ssh/sshd_config"的下列内容。
RSAAuthentication yes #启用 RSA认证
PubkeyAuthentication yes #启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径(和上面生成的文件同)
(5)设置完之后记得重启SSH服务,才能使刚才设置有效。
servicesshd restart
(6)使用下面的命令格式进行复制公钥:
scp ~/.ssh/id_rsa.pub hadoop@192.168.1.3:~/
cat ~/id_rsa.pub >>~/.ssh/authorized_keys
chmod 600~/.ssh/authorized_keys
(7)用root用户修改"/etc/ssh/sshd_config"
3、配置Java环境(其它机子雷同)
(1)下载适合系统版本的Java
(2)解压到/usr/java
(3) vim /etc/profile加入:
#set java environment
export JAVA_HOME=/usr/java/jdk1.6.0_31
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
(4) 测试环境:java -version
二、Hadoop的安装
1、下载对应版本的Hadoop(安装到的目录/usr/hadoop)
2、hadoop目录设置权限(用户组和用户都是hadoop)
chown -Rhadoop:hadoop hadoop
3、设置hadoop 启动环境
vim/etc/profile
#set hadoop path
export HADOOP_HOME=/usr/hadoop
export PATH=$PATH :$HADOOP_HOME/bin
source/etc/profile
4、配置Hadoop
(1)vim /usr/hadoop/conf/hadoop-env.sh
# set java environment
exportJAVA_HOME=/usr/java/jdk1.6.0_31
(2)vim /usr/hadoop/conf/core-site.xml
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.1.2:9000</value>
</property>
(3)vim /usr/hadoop/conf/hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>1</value>
(备注:replication是数据副本数量,默认为3,salve少于3台就会报错)
</property>
(4)vim/usr/hadoop/conf/mapred-site.xml
<property>
<name>mapred.job.tracker</name>
<value>http://192.168.1.2:9001</value>
</property>
(5)vim /usr/hadoop/conf/master
192.168.1.2(本机IP地址,是指当本机down机时,进行冷启动的备份机)
(6)vim /usr/hadoop/conf/slaves
192.168.1.3
192.168.1.4
192.168.1.5
5、配置到其它Slaves机子
(1)scp拷贝
scp -r /usr/hadoop root@目标Ip:~/usr/
(2)改变权限
chown -R hadoop:hadoophadoop
(3)设置Hadoop运行环境
vim /etc/profile(见二-3)
三、启动Hadoop集群(使用hadoop用户)
1、格式化HDFS文件系统
hadoop namenode -format
2、启动hadoop
start-all.sh
ls /usr/hadoop/logs/ 查看日志
3、验证hadoop
(1) jps
(2)hadoop dfsadmin -report
四、其它问题
1、日志Error:getting localhost name using 'localhost'
查看是否配置好 /etc/hosts要和Master的配置一样
2、日志Error:java.net.NoRouteToHostException:No route
查看防火墙是否关闭:service iptables status
关闭防火墙:service iptables stop
永远关闭:chkconfig --level 0123456 iptables off