三台阿里云服务器搭建完全分布式Hadoop集群
1.集群规划
角色分配:
2.准备环境
阿里云环境:CentOS Hadoop-3.2.2 jdk1.8
Xshell Xftp
打开Xshell
ssh 477.xx.xx
(公网ip)
输入用户名root和密码
点击Xshell上方小图标
双击返回上一级
进入usr
将下载好的hadoop和jdk拖拽过来
等待传输完成
3.开始搭建
1.SSH无秘钥访问
连接至master
ssh 477.xx.xx,xxx
(外网ip)
修改主机名:
vim /etc/hostsname
将默认值删掉改为自己角色主机名
关闭防火墙:
systemctl stop firewalld.service
//关闭防火墙
systemctl firewalld.service
//关闭防火墙开机自启动
配置主机映射:
vim /etc/hosts
477.xx.xx.xxx slave1 (外网ip)
477.xx.xx.xxx slave2 (外网ip)
172.xxx.xx.xx master (内网ip)
生成秘钥:
ssh-keygen
//根据提示连敲三下回车
发送秘钥:
ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2
重启:
reboot
连接至slave1
ssh 477.xx.xx,xxx
(外网ip)
修改主机名:
vim /etc/hostsname
将默认值删掉改为自己角色主机名
关闭防火墙:
systemctl stop firewalld.service
//关闭防火墙
systemctl firewalld.service
//关闭防火墙开机自启动
配置主机映射:
vim /etc/hosts
477.xx.xx.xxx master(外网ip)
477.xx.xx.xxx slave2 (外网ip)
172.xxx.xx.xx slave1(内网ip)
生成秘钥:
ssh-keygen
//根据提示连敲三下回车
发送秘钥:
ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2
重启:
reboot
连接至slave2
ssh 477.xx.xx,xxx
(外网ip)
修改主机名:
vim /etc/hostsname
将默认值删掉改为自己角色主机名
关闭防火墙:
systemctl stop firewalld.service
//关闭防火墙
systemctl firewalld.service
//关闭防火墙开机自启动
配置主机映射:
vim /etc/hosts
477.xx.xx.xxx master(外网ip)
477.xx.xx.xxx slave1 (外网ip)
172.xxx.xx.xx slave2(内网ip)
生成秘钥:
ssh-keygen
//根据提示连敲三下回车
发送秘钥:
ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2
重启:
reboot
检验:登录三台服务器互相用ssh访问查看是否需要密码
2.配置jdk
连接至master
ssh 477.xx.xx,xxx
(外网ip)
解压jdk和hadoop:
cd /usr
tar -zxvf 文件名
更改文件名
mv 旧文件名 新文件名
配置java环境变量
vim /etc/profile
export JAVA_HOME=/usr/jdk
export PATH=$JAVA_HOME/bin:$PATH
source /etc/profile
//使文件生效
java -version
//查看版本
登录slave1
ssh slave1
解压jdk和hadoop:
cd /usr
tar -zxvf 文件名
更改文件名
mv 旧文件名 新文件名
vim /etc/profile
export JAVA_HOME=/usr/jdk
export PATH=$JAVA_HOME/bin:$PATH
source /etc/profile
//使文件生效
java -version
//查看版本
退出slave1
exit
登录slave2
ssh slave2
解压jdk和hadoop:
cd /usr
tar -zxvf 文件名
更改文件名
mv 旧文件名 新文件名
vim /etc/profile
export JAVA_HOME=/usr/jdk
export PATH=$JAVA_HOME/bin:$PATH
source /etc/profile
//使文件生效
java -version
//查看版本
退出slave2
exit
3.配置hadoop
登录master
ssh 477.xx.xx.xxx
(外网ip)
cd /usr/hadoop/etc/hadoop
vim hadoop-env.sh
export JAVA_HOME=/usr/jdk
vim mapred-env.sh
export JAVA_HOME=/usr/jdk
vim yarn-env.sh
export JAVA_HOME=/usr/jdk
vim core-site.xml
vim hdfs-site.xml
vim mapred-site.xml
vim yarn-site.xml
vim workers
cd /usr/hadoop/sbin
vim start-dfs.sh
vim stop-dfs.sh
vim start-yarn.sh
vim stop-yarn.sh
将修改的配置同步到slave1和slave2
scp -r /usr/hadoop/etc/hadoop root@slave1:/usr/hadoop/etc/
scp -r /usr/hadoop/etc/hadoop root@slave2:/usr/hadoop/etc/
scp -r /usr/hadoop/sbin root@slave1:/usr/hadoop/
scp -r /usr/hadoop/sbin root@slave1:/usr/hadoop/
master开放端口9000和50070
格式化Namenode
/usr/hadoop/bin/hdfs namenode -format
启动进程
/usr/hadoop/sbin/start-dfs.sh
ssh root@slave2 /usr/hadoop/sbin/start-yarn.sh
前往master的公网ip加端口号50070查看
477.xx.xx.xxx:50070