前两天在破船(K650D)上试图搭建Hadoop伪分布式失败(一直报3.1.2 hadoop-master: ssh: Could not resolve hostname hadoop-master: Name or service not known),现在打算在Ubuntu16.04上用Docker部署Hadoop集群。
Docker安装
sudo apt-get install docker.io
拉取Hadoop镜像
查找相关镜像
docker search hadoop
出现报错:
Is the docker daemon running on this host?
原因解决:
第一种:权限不够,加sudo
依次运行以下命令,跳转至root用户去运行docker命令:
sudo su //切换到root
service docker start //启动docker service
docker images //显示所有images
docker ps //重新运行docker命令
第二种:添加用户组解决
把当前用户加到docker用户组中:
# 添加docker用户组
sudo groupadd docker
# 把自己加到docker用户组中
sudo gpasswd -a myusername docker
# 重启docker后台服务
sudo service docker restart
重启系统,直接运行docker命令就行了,不用加上sudo。
切换源
源在国外的,可以切换Ubuntu系统的更新源为国内,直接拉取kiwenlau做好的镜像
sudo docker pull kiwenlau/hadoop:1.0
配置
-
clone项目
git clone https://github.com/kiwenlau/hadoop-cluster-docker
-
配置网桥
sudo docker network create --driver=bridge hadoop
之后进入刚刚clone的kiwenlau的github项目,运行相关进程,即运行配置好的docker(运行脚本),进入Docker之后运行脚本即可。