hadoop的分布式安装过程
分布结构 主节点(1个,是huanghe):NameNode、JobTracker、SecondaryNameNode
从节点(2个,是huanghe1、huanghe2):DataNode、TaskTracker
我的配置:用户名/密码均为:root/huanghe
集群
主机名
ip
主节点:Red Hat Enterprise Linux 6
huanghe
192.168.56.100
从节点1: Red Hat Enterprise Linux 6_1
huanghe1
192.168.56.101
从节点2: Red Hat Enterprise Linux 6_2
huanghe2
192.168.56.102
四步曲:
修改对应的域名:vi /etc/hosts
修改主机名:vi /etc/sysconfig/network
修改hadoop的配置信息( 进入:cd /usr/local/hadoop/conf/):
然后分别修改一以下两个文件:
vi core-site.xml
vi mapred-site.xml
修改完后重启机器:reboot -h now
生成SSH信息:
1、首先删除 /root/.ssh文件夹下的所有文件
rm -rf /root/.ssh/*
2、删除 /usr/local/下的所有文件,以便重新配置(注:以后所有软件包均放在/usr/local/下进行解压安装)
rm -rf /usr/local/*
3、生成SSH公钥(生成的文件自动会放在/root/.ssh文件夹中)
首先执行:ssh-keygen -t rsa
进入 cd /root/.ssh 然后复制id_ras.pub文件,命名为authorized_keys
cp id_rsa.pub authorized_keys
或执行等价命令:cat id_ras.pub >>authorized_keys
验证:ssh localhost 或 ssh huanghe1
安装相应的软件
将相应的软件复制到/usr/local文件夹下,然后 tar -zxvf xxx.tar,进行解压安装,
然后将解压后的文件夹使用mv命令进行重命名
最后修改/etc/profile配置文件,设置路径,具体如下:
修改系统环境变量:
vi /etc/profile
修改完后source一下,使配置文件立即生效:
source /etc/profile
修改每一台主机hosts文件,使之ping 主机名时能通
打开文件 vi /etc/hosts 然后修改为:
192.168.56.100 huanghe
192.168.56.101 huanghe1
192.168.56.102 huanghe2
由伪分布转为全分布时:
把huanghe的/usr/local/hadoop目录下的tmp和logs文件夹删除:
rm -rf /usr/local/hadoop/tmp
rm -rf /usr/local/hadoop/logs
把huanghe中的hadoop目录中的jdk、hadoop文件夹复制到huanghe1、huanghe2节点
scp -r /usr/local/jdk huanghe1:/usr/local/
scp -r /usr/local/hadoop huanghe1:/usr/local/
scp -r /usr/local/jdk huanghe2:/usr/local/
scp -r /usr/local/hadoop huanghe2:/usr/local/
把huanghe中的配置文件/etc/profile复制到huanghe1和huanghe2节点
scp /etc/profile huanghe1:/etc/
scp /etc/profile huanghe2:/etc/
然后在目标节点分别执行
source /etc/profile
设置主从节点关系
进入huanghe的/usr/local/hadoop/conf目录中,修改slaves文件
vi /usr/local/hadoop/conf/slaves
初次打开时,里面有一行,内容是:localhost 先将这行删除,然后在这个文件中添加下面两行:
huanghe1
huanghe2
含义是:将huanghe1和huanghe2这两个节点作为他的从节点
配置完以上信息后,对huanghe节点执行格式化(只需对主节点进行格式化)
hadoop namenode -format
然后启动:
start-all.sh
验证:
输入命令: jps
或在浏览器地址栏中输入:192.168.56.100:50070
192.168.56.101:50070
192.168.56.102:50070
补充:
将主节点中的secondname移到一台独立的节点上,例如移动到huanghe1的节点上,修改如下:
修改主节点中的masters文件,执行步骤如下
stop-all.sh
vi /usr/local/hadoop/conf/masters
将其里面的内容清空,然后添加一行如下
huanghe1
然后再重新启动 start-all.sh
--------------------------------------------注意------------------------------------
对已配置文件core-site.xml和mapred-site.xml在所有节点中都是相同的内容.
core-site.xml文件决定了namenode节点的主机地址
mapred-site.xml文件决定了jobtrack节点的主机地址