赞
踩
CentOS虚拟机的安装暂且不谈,下列教程中使用的系统是安装了GNOME的。。
1、检查是否安装docker
2、如已安装,则卸载 Docker 引擎、CLI 和 Containerd 软件包
yum remove docker-ce docker-ce-cli containerd.io
#或者使用
rpm -e docker-ce docker-ce-cli containerd.io
3、手动清理删除所有映像、容器和卷
#查找出docker的相关文件夹
find -name 'docker'
删除这些文件夹
rm -rf /var/lib/docker
rm -rf /var/lib/containerd
1、安装所需的软件包(GNOME版已安装)
yum-utils 提供了yum-config-manager,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
yum install -y yum-utils device-mapper-persistent-data lvm2
2、设置仓库为阿里源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3、更新源
yum clean all && yum makecache
4、检查版本(可省略)
yum list docker-ce --showduplicates | sort -r
yum list docker-ce-cli --showduplicates | sort -r
5、默认安装(默认安装仓库中最新版本)
yum install docker-ce docker-ce-cli containerd.io
#或者指定版本
yum install docker-ce-20.10.9-3.el7 docker-ce-cli-20.10.9-3.el7 containerd.io
6、启动和查看
systemctl start docker # 启动 docker
systemctl enable docker # 设置开机启动
systemctl status docker #服务状态,是否启动
docker --version #查看版本
docker info #查看信息
1、 在docker中查找hadoop 镜像
docker search hadoop
2、选择镜像拉取
docker pull sequenceiq/hadoop-docker
3、查看镜像
docker images # 查看所有镜像
创建三个Hadoop 实例(注意加粗部分)
docker run --name hadoop -d -h master sequenceiq/hadoop-docker
docker run --name hadoop1 -d -h slave1 sequenceiq/hadoop-docker
docker run --name hadoop2 -d -h slave2 sequenceiq/hadoop-docker
查看检查实例
1、同时再开启3个命令窗口,分别执行:
# master 执行
docker exec -it hadoop bash
# slave1 执行
docker exec -it hadoop1 bash
# salve2 执行
docker exec -it hadoop2 bash
2、新开的master、slave1、slave2三个窗口都执行以下代码生成密钥文件
/etc/init.d/sshd start
ssh-keygen -t rsa # 一直回车即可
cd /root/.ssh
cat id_rsa.pub > authorized_keys
3、本地窗口(第一个)执行代码创建目录
mkdir /ssh && cd /ssh
将三个实例的密钥文件拷贝到本地目录
docker cp hadoop:/root/.ssh/authorized_keys ./authorized_keys_master
docker cp hadoop1:/root/.ssh/authorized_keys ./authorized_keys_slave1
docker cp hadoop2:/root/.ssh/authorized_keys ./authorized_keys_slave2
touch authorized_keys #创建新的密钥文件
将三个实例密钥文件合并成到新的密钥文件
cat authorized_keys_master authorized_keys_slave1 authorized_keys_slave2 > authorized_keys
分别拷贝新的密钥文件authorized_keys 到三个hadoop实例
docker cp /ssh/authorized_keys hadoop:/root/.ssh/authorized_keys
docker cp /ssh/authorized_keys hadoop1:/root/.ssh/authorized_keys
docker cp /ssh/authorized_keys hadoop2:/root/.ssh/authorized_keys
4、master、 slave1、slave2 三个窗口分别执行
ifconfig
## 正常情况 master(inet addr:172.17.0.2)
# slave1(inet addr:172.17.0.3)
# slave2(inet addr:172.17.0.4)
vi /etc/hosts ### 追加内容
172.17.0.2 master
172.17.0.3 slave1
172.17.0.4 slave2
5、查看master、slave1、slave2中的秘钥内容与本地窗口中的authorized_keys一致
6、验证免密登录是否成功
7、master、 slave1、slave2修改Hadoop配置文件
find / -name hadoop-env.sh
# /usr/local/hadoop-2.7.0/etc/hadoop/hadoop-env.sh
cd /usr/local/hadoop-2.7.0/etc/hadoop
vi core-site.xml
追加以下内容
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop-2.7.0/hdpdata</value>
</property>
vi yarn-site.xml
追加
<property>
<name>yarn.resourcemanager.hostname</name>
<value>172.17.0.2</value>
</property>
8、master 窗口执行关闭集群
#关闭
cd /usr/local/hadoop-2.7.0/sbin && ./stop-all.sh
9、#将配置文件yarn-site.xml拷贝到另外2个节点
cd /usr/local/hadoop-2.7.0/etc/hadoop
scp yarn-site.xml slave1:/usr/local/hadoop-2.7.0/etc/hadoop
scp yarn-site.xml slave2:/usr/local/hadoop-2.7.0/etc/hadoop
10、#格式化NameNode
cd /usr/local/hadoop-2.7.0/bin
./hadoop namenode -format
11、#启动集群
cd /usr/local/hadoop-2
./start-all.sh
12、三个窗口分别执行jps 验证,成功
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。