集群安装配置Hadoop
集群节点:node4、node5、node6、node7、node8。
详细架构:
node4 |
Namenode,secondnamenode,jobtracker |
node5 |
Datanode,tasktracker |
node6 |
Datanode,tasktracker |
node7 |
Datanode,tasktracker |
node8 |
Datanode,tasktracker |
操作系统为:CentOS release 5.5 (Final)
安装步骤
一、创建Hadoop用户组。
二、安装JDK。
下载安装jdk。安装文件夹例如以下:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlhX3l1X21hb19mYQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
三、改动机器名。改动文件/etc/hosts。例如以下:
四、安装ssh服务。命令:yum install openssh-server。
五、建立ssh无password登陆。
(一)切换到hadoop用户。su – hadoop
(二)创建ssh-key,利用ssh-keygen命令。採用rsa方式生成密钥。命令:ssh-keygen -t rsa -f ~/.ssh/id_rsa,产生公钥:~/.ssh/id_rsa.pub。
(三)将公钥加入至authorized_keys中。命令:
cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
(四)改动authorized_keys文件权限:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlhX3l1X21hb19mYQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
(五) 编辑sshd配置文件/etc/ssh/sshd_confi把#AuthorizedKeysFile .ssh/authorized_keys前面的凝视取消掉。
(六)又一次启动sshd服务。
(七)将authorized_keys文件拷贝到其它节点上(node5——8)。例如以下:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlhX3l1X21hb19mYQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
(八)測试SSH连接。连接时会提示是否连接。按回车后会将此公钥增加至knows_hosts中。命令:
ssh localhost。
连接成功后,记得exit,退出远程机器。
六、将Hadoop相关程序下载上传到node4上。
下载使用的Hadoop版本号为1.2.1。
七、安装配置hadoop
(一)登陆node4,切换hadoop用户。
创建安装文件夹,解压hadoop,命令:
mkdir hadoop_program //创建hadoop安装文件夹。
cp HADOOP/hadoop-1.2.1.tar.gz hadoop_program/ //将hadoop程序cp到hadoop安装文件夹下。
cd hadoop_program/ //cd到该文件夹。
tar -xvf hadoop-1.2.1.tar.gz //解压hadoop程序。
mv hadoop-1.2.1 hadoop //将hadoop文件夹改名字
(二)创建环境Hadoop相关环境变量。
改动conf/hadoop-env.sh。找到#export JAVA_HOME=...,去掉凝视#,然后加上本机的jdk路径(在第二步安装的路径),例如以下:
加入HADOOP_HOME环境变量。命令:vim ~/.bashrc。
加入例如以下:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlhX3l1X21hb19mYQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
(三)改动Hadoop配置文件
改动conf/core-site.xml文件。
改动mapred-site.xml文件
改动hdfs-site.xml
改动masters文件
改动slaves文件
八 将配置好的Hadoop和jdk拷贝到其它节点上:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlhX3l1X21hb19mYQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
九。启动hadoop測试是否成功安装。
命令:hadoop namenode -format(首先格式化namenode)。
命令:start-all.sh (启动hadoop)。
命令:cd到jdk的bin文件夹下。
执行jps命令。察看:
node4:
执行正常。
Node5-8:
执行正常。
十。
遇到问题。
1、安装的过程发现node5-8无法启动datanode和tasktracker,后来发现原由于node5-8机器中已经执行了java程序。用ps -ef|grep java察看,关闭相关进程后,再启动hadoop后正常。
2、使用过程中。出现错误:Bad connect ack with firstBadLink,解决的方法:
1) '/etc/init.d/iptables stop' -->stopped firewall
2) SELINUX=disabled in '/etc/selinux/config' file.-->disabled selinux