使用Docker搭建大数据Hadoop环境

一、安装Docker

原文地址:https://www.imooc.com/article/48676、http://www.runoob.com/docker/centos-docker-install.html

这是本人第一次用Docker搭建大数据Hadoop环境的步骤,记录在这里:

1. 对于CenterOS7系统,内置Docker,可以直接安装

yum install -y docker

2、启动docker

service docker start

可能会有相关报错:

service docker startRedirecting to /bin/systemctl start docker.serviceJob for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.

第一,firewalld.service没有关闭。

systemctl disable firewalld

systemctl stop firewalld

第二,selinux没有关闭。请查看本机并关闭

vi  /etc/selinux/config

修改SELINUX=disabled,如下

3、reboot重启并查看状态,使用命令:sestatus

启动Docker,很可能需要卸载重装Docker才能启动

yum remove docker

yum install docker

service docker start

测试运行 hello-world

docker run hello-world

这一步可选的:

4、利用Docker获取CentOS镜像,并建立一个容器

1.下载CentOS

docker pull centos       #该命令会自动下载最新版本docker官方的centos,目前是7.5

2. 查看镜像

docker images

3.创建容器并启动

docker run --privileged=true -it --name=hadoop centos /bin/bash

#注意,此时你已经进入容器,你会发root@cf869bdd4561的主机名发生变化

二、镜像加速

鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,我使用的是网易的镜像地址:http://hub-mirror.c.163.com。

新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者 %programdata%\docker\config\daemon.json(Windows) 来配置 Daemon。

vi   /etc/docker/daemon.json

请在该配置文件中加入(没有该文件的话,请先建一个):

{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}

或者:

{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}

#Docker 官方中国区:      https://registry.docker-cn.com

#网易:                             http://hub-mirror.c.163.com

#ustc:                              https://docker.mirrors.ustc.edu.cn

systemctl restart docker

修改保存后重启 Docker 以使配置生效。

三、搭建hadoop:

原文地址:https://kiwenlau.com/2016/06/12/160612-hadoop-cluster-docker-update/

基于Docker搭建Hadoop集群之升级版

摘要: kiwenlau/hadoop-cluster-docker是去年参加Docker巨好玩比赛开发的,得了二等奖并赢了一块苹果手表,目前这个项目已经在GitHub上获得了236个Star,DockerHub的镜像下载次数2000+。总之,项目还算很受欢迎吧,这篇博客将介绍项目的升级版。

  • 作者: KiwenLau
  • 日期: 2016-06-12

一. 项目介绍

将Hadoop打包到Docker镜像中,就可以快速地在单个机器上搭建Hadoop集群,这样可以方便新手测试和学习。

如下图所示,Hadoop的master和slave分别运行在不同的Docker容器中,其中hadoop-master容器中运行NameNode和ResourceManager,hadoop-slave容器中运行DataNode和NodeManager。NameNode和DataNode是Hadoop分布式文件系统HDFS的组件,负责储存输入以及输出数据,而ResourceManager和NodeManager是Hadoop集群资源管理系统YARN的组件,负责CPU和内存资源的调度。

之前的版本使用serf/dnsmasq为Hadoop集群提供DNS服务,由于Docker网络功能更新,现在并不需要了。更新的版本中,使用以下命令为Hadoop集群创建单独的网络:

sudo docker network create --driver=bridge hadoop

然后在运行Hadoop容器时,使用”–net=hadoop”选项,这时所有容器将运行在hadoop网络中,它们可以通过容器名称进行通信。

项目更新要点:

  • 去除serf/dnsmasq
  • 合并Master和Slave镜像
  • 使用kiwenlau/compile-hadoop项目编译的Hadoo进行安装
  • 优化Hadoop配置

二. 3节点Hadoop集群搭建步骤

1. 下载Docker镜像

sudo docker pull kiwenlau/hadoop:1.0

2. 下载GitHub仓库

git clone https://github.com/kiwenlau/hadoop-cluster-docker

3. 创建Hadoop网络

sudo docker network create --driver=bridge hadoop

4. 运行Docker容器

cd hadoop-cluster-docker
./start-container.sh

运行结果

start hadoop-master container...
start hadoop-slave1 container...
start hadoop-slave2 container...
root@hadoop-master:~#
  • 启动了3个容器,1个master, 2个slave
  • 运行后就进入了hadoop-master容器的/root目录

5. 启动hadoop

./start-hadoop.sh

6. 运行wordcount

./run-wordcount.sh

运行结果

input file1.txt:
Hello Hadoop
input file2.txt:
Hello Docker
wordcount output:
Docker  1
Hadoop  1
Hello   2

Hadoop网页管理地址:

  • NameNode: http://192.168.59.1:50070/
  • ResourceManager: http://192.168.59.1:8088/

192.168.59.1为运行容器的主机的IP。

注意:

如果报错,可能是主机名配置错误,参考文章:https://blog.csdn.net/shirdrn/article/details/6562292,

三. N节点Hadoop集群搭建步骤

1. 准备

  • 参考第二部分1~3:下载Docker镜像,下载GitHub仓库,以及创建Hadoop网络

2. 重新构建Docker镜像

./resize-cluster.sh 5
  • 可以指定任意N(N>1)

3. 启动Docker容器

./start-container.sh 5
  • 与第2步中的N保持一致。

4. 运行Hadoop

  • 参考第二部分5~6:启动Hadoop,并运行wordcount。

使用Docker搭建大数据Hadoop环境相关推荐

  1. 搭建大数据运行环境之二

    前言 上篇文章咱们将大数据相关的一些组件都集成安装在了一个docker中 搭建大数据运行环境之一 这篇文章咱们继续 启动下该docker中的大数据相关的组件 将大数据运行环境跑起来 上篇文章的几个注意 ...

  2. 5分钟搭建大数据学习环境

    想学大数据,先搭个环境再说,要准备多少台服务器,每台服务器的基础环境设置,各个服务器的网络互联,真是很麻烦的一件事 第一座山先把想入门的学习者挡在门外,别放弃,这里又一个即全面又快捷的搭建大数据环境的 ...

  3. 在阿里云中搭建大数据实验环境

    云计算是和自来水一样的商业模式.有了自来水,我们可以不用自己挖井,就可以快速.便捷.廉价地获得水资源.而有了云计算,我们就可以不用自己建机房.买设备.维护系统,就可以快速.便捷.廉价地获得IT资源(C ...

  4. 大数据hadoop环境部署

    大数据hadoop在linux环境下的部署安装,包括单节点模式.伪分布模式以及完全分布式模式

  5. 搭建大数据运行环境之一

    前言 一键搭建 zookeeper/hadoop/hive/hbase/sqoop/kafka/spark/kylin 服务器资源 本地Mac有3个虚拟机 server1 192.168.84.128 ...

  6. 在家搭建大数据分布式计算环境!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:牧小熊,华中农业大学,Datawhale原创作者 0. 前言 分布 ...

  7. 大数据Hadoop环境安装

    前言 工作场景的需要,最近开始学习起了大数据相关的东西.对于我这个初学者,大数据入门就是首先得学会Hadoop环境的安装,按照步骤如遇相关问题,请指正. Hadoop环境的安装,我是用自己电脑借助VM ...

  8. 大数据架构师:如何从零基础搭建大数据hadoop生态圈

    从年初起,几家国际大厂的开发者大会,无论是微软Build.Facebook F8还是稍后的Google I/O,莫不把"AI优先"的大旗扯上云霄.如果这一波AI大潮只是空喊几句口号 ...

  9. 搭建大数据开发环境-Hadoop篇

    前期准备 操作系统 hadoop目前对linux操作系统支持是最好的,可以部署2000个节点的服务器集群:在hadoop2.2以后,开始支持windows操作系统,但是兼容性没有linux好.因此,建 ...

最新文章

  1. 杭电1019 Least Common Multiple(已解决)
  2. javascript 之 this 用法
  3. 提取文件出错_提取中文、英文和数字,其实很简单
  4. 强化学习(八)价值函数的近似表示与Deep Q-Learning
  5. 前端设置画布的高度_Table问题,设置了一个手机页面的Table高度问题
  6. Quantitative Researcher Summer Internship (for Overseas Schools)
  7. three.js 几何体-组合网格_3dmax利用优化和多边形倒角制作饰品组合1
  8. 基于Matlab的跨孔电磁波\跨孔雷达的胖射线追踪(一)
  9. 分解得到的时频域特征_AI大语音(四)| MFCC特征提取(深度解析)
  10. 月球探测器中的计算机技术,月球探测器自主视觉导航技术的研究
  11. games101-789-shading
  12. 数据库原理实验六——ODBC/JDBC数据库编程
  13. 窗户控制app开发day1(机智云的二次开发之换皮肤)
  14. Joplin 的思维导图 Mindmap(脑图)插件
  15. php新年计划,New Year’s Resolution |给20出头的你19条最赞的新年计划
  16. Ubuntu 好用的BT下载工具qBittorrent
  17. 拯救者笔记本ubuntu亮度调节
  18. Deep Graph Kernels
  19. kali 2019安装8812bu无线网卡驱动
  20. js 删除list中的某个元素 向list中添加某个元素

热门文章

  1. 【已解决】第一次遇到无法新建APP问题
  2. c语言浮点数无效,深入C++浮点数无效值定义与判定的解决办法
  3. 页面跳转传参,A 页面跳转到B页面,把A页面获取的值传到B页面
  4. ASO优化之如何正确筛选关键词
  5. 正则表达式“\\s+“ 匹配任意空白字符
  6. springboot 系列教程四:springboot thymeleaf配置
  7. 路由追踪命令Tracert
  8. php调用会员刷卡,dedecms模板中调用会员信息标签的方法
  9. java 输出素数_java 素数(按要求输出)
  10. VMware创建Linux虚拟机之(三)Hadoop安装与配置及搭建集群