VMware下CentOS7虚拟机中基于Docker的Hadoop的完全分布式环境搭建

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

二、在线安装docker

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 #查看信息

  

三、安装hadoop

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 

查看检查实例 

四、Hadoop配置

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 验证,成功

参考:VM+centos7+Docker+hadoop完全分布式环境搭建 - 简书

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值