完整步骤的思维导图
一、主机规划
3台主机:1个master、2个slaver/worker
ip地址使用docker默认的分配地址:
master:
主机名: hadoop2、ip地址: 172.17.0.2
slaver1:
主机名: hadoop3、ip地址: 172.17.0.3
主机名: hadoop4、ip地址: 172.17.0.4
二、软件安装
1、在docker中安装centos镜像,并启动centos容器,安装ssh。
--详见"docker上安装centos镜像"一文。
2、通过ssh连接到centos容器,安装jdk1.8、hadoop3.0
可以按照传统linux安装软件的方法,通过将jdk和hadoop的tar包上传到主机进行安装。
三、环境准备
1、创建hadoop专属账户
a、创建用户 useradd -m -s /bin/bash hadoop
b、修改密码 passwd hadoop
2、环境变量配置
前提:完成上一步骤,并使用hadoop用户登录
a、JAVA_HOME环境变量设置
修改用户根目录下的.bash_profile文件添加jdk的跟目录
b、HADOOP_HOME环境变量设置
修改用户根目录下的.bash_profile文件添加hadoop安装的根目录
c、将jdk和hadoop的bin、sbin目录添加到PATH环境变量中
3、在/etc/hosts文件中添加3台主机的主机名和ip地址对应信息
172.17.0.2 hadoop2
172.17.0.3 hadoop3
172.17.0.4 hadoop4
172.17.0.3 hadoop3
172.17.0.4 hadoop4
在docker中直接修改/etc/hosts文件,在重启容器后会被重置、覆盖。因此需要通过容器启动脚本docker run的--add-host参数将主机和ip地址的对应关系传入,容器在启动后会写入hosts文件中。如:
docker run --name hadoop2
--add-host hadoop2:172.17.0.2 --add-host hadoop3:172.17.0.3 --add-host hadoop4:172.17.0.4 -it centos
4、配置ssh免密码登录
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys
四、hadoop部署
1、在workers文件中定义工作节点
在hadoop根目录下的etc/hadoop目录下新建workers文件,并添加工作节点主机信息。
按照步骤一中的主机规划,工作节点主机为hadoop3和hadoop4两台主机。如:
[hadoop@2e1b5caaf225 ~]$ cat hadoop-3.0.0/etc/hadoop/workers
hadoop3
hadoop4
2、修改配置文件信息
a、在hadoop-env.sh中,添加JAVA_HOME信息
# JAVA_HOME=/u