docker hadoop 简单实例

Sep 12, 2016

单机测试用 hadoop ! 操作系统 centos-7

  1. 选择镜像 https://hub.docker.com/r/sequenceiq/hadoop-docker/
  2. 拉取最新版本  docker pull sequenceiq/hadoop-docker 或者想用的版本 如 hadoop-docker:2.7.0, hadoop-docker:2.6.0
  3. 启动 docker run -it sequenceiq/hadoop-docker /etc/bootstrap.sh -bash  进入控制台
  4. 后台启动  docker run -d -P sequenceiq/hadoop-docker   会将所有的端口自动映射为随机端口
  5. 后台启动并自定义端口映射 docker run -d -p 12122:2122 -p 18030:8030 -p 18031:8031 -p 18032:8032 -p 18033:8033 -p 18040:8040 -p 18042:8042 -p 18088:8088 -p 19888:19888 -p 19707:49707 -p 10010:50010 -p 10020:50020 -p 10070:50070 -p 10075:50075 -p 10090:50090 -p 19000:9000 --name hadoop sequenceiq/hadoop-docker  端口规则 1 开头后四位相同
  6. 测试是否成功 http://192.168.1.19:18088/    http://192.168.1.19:10090/status.html  http://192.168.1.19:10070/    #192.168.1.19# 我的宿主机的IP

注意可以需要配置 免密码 远程登陆(ssh):

  1. 宿主机生成密钥对 ssh-keygen -t rsa -P ''
  2. 将公钥复制到 容器中 docker cp /root/.ssh/id_rsa.pub hadoop:/root/.ssh/authorized_keys
  3. 如果必要需要修改 authorized_keys 权限 600 (可以不设置)
  4. 查看文件权限 docker exec hadoop ls -l /root/.ssh/authorized_keys
  5. 设置 600 权限  docker exec hadoop chmod 600 /root/.ssh/authorized_keys
  6. 登陆进入容器  ssh root@localhost -p 12122
  7. 执行  cat /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys 否则 hadoop 将无法启动
  8. 搞定