使用Mac版Docker搭建Hadoop集群(准备工作)

Hadoop是学大数据必须用到的框架,而hadoop集群搭建是首要步骤。一般的集群搭建都要用到虚拟机,而虚拟机软件下载安装破解本就是一件费时费力的事,而且一个虚拟机软件同时运行多个linux虚拟机可能会让电脑很卡,因此这里尝试使用docker容器构建hadoop集群,模拟真实生产场景中的多个节点。

首先hadoop框架需要实现安装jdk,这里直接使用java:8镜像运行容器,可以直接拉取然后运行容器:

docker pull java:8
docker run -it --name java8 java:8 bash

容器内已自带jdk,可以使用java --version查看版本信息,也可以查看环境变量:

echo $JAVA_HOME

再安装vim和ssh,后面会用到:

apt-get update
apt-get install vim
apt-get install ssh

然后下载hadoop的安装包:清华大学Hadoop镜像源,移到容器内的jdk同级目录:

docker cp 宿主机hadoop安装包的绝对路径 容器id:/usr/lib/

hadoop安装包很大,可能要很久,然后解压:

tar –xvf 文件名.tar

这里是.tar文件,用的参数是-xvf,如果是.tar.gz文件,则使用-zxvf。解压后的文件夹名字一般带有版本号,建议改名去掉版本号:

mv hadoop-3.3.2 hadoop

然后添加环境变量,先进入/etc/profile.d/目录,然后新建编辑my_env.sh:

cd /etc/profile.d/
vim my_env.sh
export HADOOP_HOME=/usr/lib/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

然后依次按ESC,:wq!退出,使环境变量生效:

source my_env.sh

上述方法添加的环境变量是一次性的,退出容器再进入或者重启重启好像会使环境变量失效,后面可以写一个Dockerfile(下节内容中尝试实现),使环境变量永久生效。

接下来通过单词统计案例来验证hadoop安装是否正确,进入hadoop目录:

cd /usr/lib/hadoop

新建输入文件夹,并进入:

mkdir wcinput
cd wcinput

新建文件并编辑:

vi word.txt
ss ss 
cls cls
bz
bobo
yangge

然后保存退出,回到hadoop目录,hadoop目录大致如下图所示:

执行如下命令统计单词数,输出到wcoutput文件夹(注意这里的output一定要实现不存在,如果存在,会抛异常):

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.2.jar wordcount wcinput/ wcoutput

执行完毕后进入wcoutput :

 查看part-r-0000:

 统计结果正确,证明安装的hadoop应该没问题。

然后配置多个容器间的ssh免密登录,首先在运行容器的时候可以指定主机名:

docker run -it --name 容器名 --hostname 主机名 镜像名 bash

然后在/etc/hosts文件中配置其他主机名和ip的映射关系,比如在hadoop1主机中配置hadoop2的主机名和ip,下图是添加后的文件内容(只添加了最后一行):

然后给各主机配置密码:passwd命令,再在各个主机上开启ssh服务:

/etc/init.d/ssh start

如果不开启,后面会报连不上ssh: connect to 主机名/ip port 22: Connection refused。还需要修改配置文件/etc/ssh/sshd_config,将其中的PermitRootLogin 后面改为yes,默认的是withou-password也不行,一定要为yes,否则报错:Permission denied, please try again. 然后可以正常连接其他主机,但是需要密码,此时需要配置免密登录:

ssh-keygen -t rsa

按下三个回车后,再输入:

ssh-copy-id 主机名

输入要连接的主机的密码即可实现免密登录。 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值