当前位置:   article > 正文

使用Mac版Docker搭建Hadoop集群(准备工作)_mac docker 如何部署hadoop环境

mac docker 如何部署hadoop环境

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

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

  1. docker pull java:8
  2. docker run -it --name java8 java:8 bash

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

echo $JAVA_HOME

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

  1. apt-get update
  2. apt-get install vim
  3. 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:

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

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

source my_env.sh

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

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

cd /usr/lib/hadoop

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

  1. mkdir wcinput
  2. cd wcinput

新建文件并编辑:

vi word.txt
  1. ss ss
  2. cls cls
  3. bz
  4. bobo
  5. 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 主机名

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/483122
推荐阅读
相关标签
  

闽ICP备14008679号