机器学习和生物信息学实验室联盟

标题: 基于docker快速搭建Hadoop容器集群,方便调试及应用部署 [打印本页]

作者: shixiang    时间: 2016-8-15 14:29
标题: 基于docker快速搭建Hadoop容器集群,方便调试及应用部署
Hadoop真实集群昂贵,本地搭建主要问题是繁琐,服务器集群主要问题是昂贵。借助alvinhenrick/hadoop-mutinode及东京大学的kiwanlau项目成果,我制作了shixiang/hadoop镜像,增加暴露tomcat端口。它实现了通过docker容器将Hadoop容器集群打包成镜像,减少初学者在集群搭建上的时间花费,最终使Hadoop程序在任意一台机器(尤其是服务器)上都能快速部署,高效运行。因此,如果你有以下需求,不妨尝试:
1. 希望尽快随时随地运行Hadoop程序
2. 希望做一个运行Hadoop程序的网站,但没有服务器集群

一、搭建三节点容器群
1. 拉取docker镜像:sudo docker pull shixiang/hadoop:1.0

2. 克隆Github仓库:git clone https://github.com/ShixiangWan/easy-docker-hadoop

3. 创建Hadoop集群通信网络:sudo docker network create --driver=bridge hadoop

4. 启动容器:cd easy-docker-hadoop; sh start-container.sh

5. 启动Hadoop:sh start-hadoop.sh

6. 运行wordcount:sh run-wordcount.sh

特别说明:
* 镜像中Hadoop版本为2.7.2, 操作系统Ubuntu14.04, Tomcat暴露端口为8090
* 容器默认包含1个主节点,2个从节点
* 容器操作目录位于主节点hadoop-master的/root路径下
* NameNode管理地址: http://localhost:50070/
* ResourceManager管理地址: http://localhost:8088/


二. 搭建任意节点Hadoop容器群
1. 拉取镜像+克隆Github仓库+创建Hadoop集群通信网络:与上面步骤相同

2. 重建Docker镜像: sudo sh resize-cluster.sh 5

3. 启动容器:sudo sh start-container.sh 5

4. 启动Hadoop+运行wordcount:与上面步骤相同

三、Docker常用命令
1.Ubuntu 14.04~16.04 安装docker
  1. sudo apt-get install apt-transport-https
  2. sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
  3. sudo bash -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
  4. sudo apt-get update
  5. sudo apt-get install lxc-docker
复制代码

2. 查看本地镜像:docker images
3. 查看本地容器:docker ps(查看本地所有容器:docker ps -a)
4. 启动容器:docker start <container_id1> <container_id2>...
5. 关闭容器:docker stop <container_id1> <container_id2>...
6. 进入容器:docker exec -it <container_id> /bin/bash
7. 复制宿主机文件或文件夹至容器:docker cp <local_path> <container_id>:<container_path>
8. 复制容器文件或文件夹至宿主机:docker cp <container_id>:<container_path> <local_path>

easy-docker-hadoop:
Github托管地址:https://github.com/ShixiangWan/easy-docker-hadoop




欢迎光临 机器学习和生物信息学实验室联盟 (http://123.57.240.48/) Powered by Discuz! X3.2