Hadoop完全分布式的搭建:
1环境的准备:
1: JDK
2: linux
3: 准备3台主机
4: 时间同步
5: ssh免密登录
1-4之间已经做过了
5 免密登录:
1 三台机器分别生成自己的密钥
2 把自己的公钥分别发送给三台主机(包括自己,因为也要自己对自己免密)
scp root@192.168.26.101:~/.ssh/id_rsa.pub ~/.ssh/node1
scp root@192.168.26.102:~/.ssh/id_rsa.pub ~/.ssh/node2
scp root@192.168.26.103:~/.ssh/id_rsa.pub ~/.ssh/node3
3 三台机器分别把三个公钥都追加到自己的authorized_keys文件中
cat node1.pub >> authorized_keys
cat node2.pub >> authorized_keys
cat node3.pub >> authorized_keys
vim authorized_keys
校验:随便登录一台主机,发现是可以的,就说明免密成功了
修改三个主机的DNS的hosts文件:
192.168.26.101 node1
192.168.26.102 node2
192.168.26.103 node3
然后就可以直接这样登录了
ssh root@node1
ssh root@node2
ssh root@node3
查看三台机器 vim .ssh/known_hosts(如果有以下这样,就是成功了,配置好了,别忘记拍摄快照)
上传hadoop压缩包,并解压 然后把解压文件cp到opt/shsxt目录下面
修改配置文件中JAVA_HOME的路径:
vim hadoop-env.sh vim mapred-env.sh
vim yarn-env.sh
修改核心配置文件:
core-site.xml:
fs.defaultFS 默认的服务端口NameNode URI
修改hdfs-site.xml:
配置slaves文件:
vim slaves
配置系统文件:
三个节点的系统配置文件都需要修改,只需要改好第一个,然后把第一个远程发送给第二个和第三个节点就好了
重新加载配置文件:
source /etc/profile
把node1上面的hadoop文件分别远程传输给 node2 node3
scp -r /opt/shsxt/hadoop-2.6.5/ root@node3:/opt/shsxt/
scp -r /opt/shsxt/hadoop-2.6.5/ root@node1:/opt/shsxt/
格式化namenode节点
选择哪个节点作为namenode节点就在哪个节点上格式化:
cd /var/sxt/hadoop/full/dfs/name/current 这里面就包含着fsimage 和edits文件信息
启动HDFS: start-dfs.sh
在浏览器输入 node1:50070 访问界面
系统的hosts文件也需要设置一下 要不然没有办法访问
- List item