一、先安装好三个虚拟机
安装虚拟机请参考我另一篇博客,这里不多赘述
二、在各个节点创建Hadoop账号
#关闭防火墙
systemctl stop firewalld
#创建名为hadoop的账号
useradd hadoop
#给名为hadoop的账号设置密码
passwd hadoop
#给hadoop账号设置免密登录权限
#1.给sudoers文件赋予权限
chmod +w /etc/sudoers
#2.打开sudoers文件进行编辑
vi /etc/sudoers
#在文件最后添加以下内容
hadoop ALL=(root)NOPASSWD:ALL
#取消sudoers文件的写权限
chmod -w /etc/sudoers
#给/etc/hosts读写权限
chmod 777 /etc/hosts
三、安装jdk
请参考我这篇文章
四、配置hosts系统文件(需要在hadoop账号下配置)
#切换到hadoop账号(su后输入你的hadoop账号的密码)
su hadoop
#编辑hosts文件
vi /etc/hosts
#添加以下内容(你的节点ip+xt1 xt1是别名,可自己修改)
192.168.123.100 xt1
192.168.123.101 xt2
192.168.123.102 xt3
#利用scp命令将hosts文件分发到其他节点(就是复制上述配置到另外两台虚拟机)
scp /etc/hosts hadoop@xt2:/etc
scp /etc/hosts hadoop@xt3:/etc
五、安装SSH,配置免密登陆
#生成该节点的公钥和私钥,一路按回车
ssh-keygen -t rsa
#将公钥文件内容追加到authorized_keys中
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
#给hadoop和authorized_keys赋予权限
chmod 700 /home/hadoop
chmod 600 ~/.ssh/authorized_keys
#其他节点使用ssh-keygen -t rsa创建密钥然后追加到xt1节点的authorized_keys中
#hadoop:账户名 xt1:别名
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@xt1
#将dn1的authorized_keys分发到其他节点
scp ~/.ssh/authorized_keys hadoop@xt2:~/.ssh/
scp ~/.ssh/authorized_keys hadoop@xt3:~/.ssh/
#测试(无需密码则表示成功)
ssh xt2
六、Zookeeper安装
请参考我另一篇文章
#需要注意的是安装后需要将安装的zookeeper拥有者切换成hadoop并在zookeeper的bin文件下运行否则会报权限不足
sudo chown -R hadoop zookeeper-3.4.14/
#启动zookeeper
./zkServer.sh start