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

Posted 闲来无是非

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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完全分布式环境搭建 - 简书

2016-11-10:win7下VMware虚拟机中CentOS6.5网络配置

在win7环境下,使用桥接和NAT模式配置VMware虚拟机网络,实现宿主机与虚拟机以及虚拟机通过宿主机网卡访问互联网。

1 配置VMware虚拟网络编辑器

VMnet0 桥接模式

无标题

VMnet1仅主机模式

无标题

VMnet8桥接模式,其中子网IP配置自己希望的网段,并点击“NAT设置”设置网关IP

无标题

无标题

上述设置完毕后,在宿主机win7的网络适配器中看到如下网卡信息以及IP地址信息

无标题

无标题

为了使虚拟机可以通过宿主机网卡访问互联网,将本地连接共享开启

无标题

2 VMware添加网卡设备

添加使用NAT模式网卡,留意网卡的MAC地址,后面在虚拟机网络配置时,NAT模式网卡的网关需要设置与VMnet8的一致,即137网段。

无标题

添加使用桥接模式网卡,在配置虚拟机网络时,桥接模式的网卡的网关设置与宿主机网段一致,即12网段。

无标题

3 配置虚拟机IP地址

虚拟机硬件网卡名称已虚拟机启动时自动生成的网卡名称为标准,添加对应的配置文件。其中DNS地址与宿主机DNS地址保持一致。

DEVICE=eth2
BOOTPROTO=static
ONBOOT=yes
TYPE=Ethernet
IPADDR=192.168.137.80
NETMASK=255.255.255.0
GATEWAY=192.168.137.1
DNS1=61.139.2.69
DEVICE=eth3
BOOTPROTO=static
ONBOOT=yes
TYPE=Ethernet
IPADDR=192.168.12.70
NETMASK=255.255.255.0
GATEWAY=192.168.12.1
DNS1=61.139.2.69

重启网络服务,并查看虚拟机网卡信息,注意MAC地址与虚拟网卡MAC地址对应是否正确。

无标题

查看虚拟机路由配置信息

无标题

测试网络连通性

无标题

宿主机与虚拟机共享文件夹

无标题

共享文件挂载路径

/mnt/hgfs/centos_share/

以上是关于VMware下CentOS7虚拟机中基于Docker的Hadoop的完全分布式环境搭建的主要内容,如果未能解决你的问题,请参考以下文章

Vmware虚拟机中centOS7安装图文教程

基于vmware15的centos7.6的安装操作记录

VMware虚拟机中CentOS7配置静态IP

VMware虚拟机中CentOS7配置静态IP

VMware 虚拟机中 CentOS7 的硬盘空间扩容

VMware虚拟机中CentOS 7的硬盘空间扩容