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的完全分布式环境搭建的主要内容,如果未能解决你的问题,请参考以下文章