基于docker搭建hadoop伪分布式环境时遇到的坑

最近课堂作业需要使用hadoop环境,正好前段时间学了一下docker教程的用法,而自己又只有一台电脑,所以就趁着这次机会学习下怎么利用docker搭建伪分布式的hadoop环境。
我主要时参考这篇博主的教程,教程很好,跟着这个教程大部分都是很顺利的,但是加上自己docker的使用也不太熟练,配置过程中难免遇到一些问题,所以就用这篇博客记录一下。

启动动并挂载本地目录

docker run -it -v e:/docker:/cjn williamyeh/java8:latest bash
apt-get update 拿到个新的linux环境,先更新一下apt-get源

下载程序和工具

利用清华的源,速度更快一点

apt-get install nano 这个nano编辑器比vim轻量级一些
apt-get换源,修改完文件后要记得apt-get update更新
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.6.5/hadoop-2.6.5.tar.gz
apt install net-tools这是后续为了使用ifconfig命令看ip用的

nano的使用

nano的编辑界面都有功能键提示其中 “^”代表ctrl,” M”代表alt, Enter是确定

再次进入已经启动的docker容器

docker exec -it 6d0 bash
要是这个容器建立的时候管理过本地文件夹,那么就可以这样直接进去容器,不用再关联文件夹和其他设置

修改配置文件并使其生效,这个原博客里没写。

修改~/.bashrc文件。输入nano ~/.bashrc在文件末尾加入下面配置信息:
修改完之后 source ~/.bashrc 使配置文件生效

我是把最后装好的环境提交成hadoop:v2镜像了

启动master容器,并设置端口映射

docker run -ti -v e:/docker/hadoop/master:/cjn -p 50070:50070 -p 50030:50030 -p 8080:8080 -h master –name master hadoop:complete2

启动slave1容器

docker run -ti -v e:/docker/hadoop/slave1:/cjn -h slave1 hadoop:complete2

启动slave2容器

docker run -ti -v e:/docker/hadoop/slave2:/cjn -h slave2 hadoop:complete2

启动hadoop时出现SSH 出现 The authenticity of host xxx can’t be established.

解决办法:https://segmentfault.com/q/1010000006670515

记得把master的容器也提升为镜像

免密码ssh设置,不要忘了

启动hadoop

运行start-dfs.sh 启动dataNode
然后运行start-yarn.sh 启动NodeManager

格式化的问题、很容易出错

格式化只能搞一次,否则要把相关文件(master节点的datanode和namenode文件夹)删了,重新来

在hadoop里运行写好的一个经典的例子wordcount.java的整个过程

https://blog.csdn.net/u010223750/article/details/52838186

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值