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