1.docker一键安装见
docker一键安装
2.拉取镜像
sudo docker pull kiwenlau/hadoop:1.0
3.下载启动脚本
git clone https://github.com/kiwenlau/hadoop-cluster-docker
4.创建网桥
由于 Hadoop 的 master 节点需要与 slave 节点通信,需要在各个主机节点配置节点 IP,为了不用每次启动都因为 IP 改变了而重新配置,在此配置一个 Hadoop 专用的网桥,配置之后各个容器的 IP 地址就能固定下来。
sudo docker network create --driver=bridge hadoop
5.下载完成后进入该目录
cd hadoop-cluster-docker/
6.编辑docker启动脚本
为了方便后续通过 Java API 访问 HDFS,需要修改脚本,添加一个端口映射,将容器的 9000 端口映射到本地的 9000 端口,我们需要在-p 8088:8088 \下添加一行,如下图所示
7.在容器内启动hadoop
./start-hadoop.sh
8.访问
http://IP:50070/
http://IP:8088
HDFS访问地址为:IP:9000
9.hadoop权限问题解决
客户端错误:hadoop.security.AccessControlException: Permission denied root:supergroup:drwxr-xr-x
解决:java实现:System.setProperty(“HADOOP_USER_NAME”,“root”);