超快速使用docker在本地搭建hadoop分布式集群

超快速使用docker在本地搭建hadoop分布式集群


学习hadoop集群环境搭建是hadoop入门的必经之路。搭建分布式集群通常有两个办法:

  • 找多台机器来部署(通常找不到机器)
  • 在本地开多个虚拟机(对宿主机器性能要求很高)

如果以上两种办法都对您不适用,那么现在有种更好更方便的办法,使用docker在本地做虚拟化,搭建hadoop伪分布式集群环境。虽然有点大材小用,但是用来练习还是挺好的。

操作思路:

  1. 使用docker构建一个Hadoop运行环境的镜像文件
  2. 使用这个镜像文件分别启动三个容器:1个master节点,2个slave节点
  3. 在master节点上配置slave节点信息
  4. 在master上启动hadoop

什么是docker?

docker是一个开源项目,诞生于2013年,最初是dotCloud公司内部额一个业余项目,它基于google推出的Go语言实现。项目后来加入了linux基金会,遵Apache2.0协议,项目代码在github上进行维护。

docker项目的目标是实现轻量级操作系统虚拟化解决方案。docker的基础是linux容器(LXC)等技术。

在LXC的基础上docker进行了进一步的封装,让用户不需要去关心容器的管理,使得操作变得简单。用户操作docker的容器就像操作一个快速轻量级的虚拟机一样简单。

(↑以上来自百度)

docker的安装和基本使用

我使用的是fedora22

su -
dnf update && dnf install docker

为了简化,我们假定使用用户是root

下面是检查安装

docker version

或者是

docker info

以守护进程方式启动Docker

docker -d

还可以设定docker髓系统启动,以便我们不需要每次重启都需要运行上面命令

chkconfig docker on

我们还可以用Busybox来打印hello world

docker run -t busybox /bin/echo "hello world"

在这个命令里,我们会告诉docker在Busybox镜像文件的一个实例/容器里执行 /bin/echo “hello world”。

而Busybox是一个小型化的POSIX环境,将很多小工具都结合到一个单独可执行程序里。

我们还可以拉取/下载 Fedora镜像文件:

docker pull fedora:22

下载完成以后,使用docker images,可以列出所有本地的镜像文件

启动一个容器在后台运行:

docker run -dt fedora:22 /bin/bash

注意:如果我们不指定tag的情况下,默认选择tag为latest的镜像文件启动容器;如果我们不指定执行程序的情况下,docker默认执行/bin/bash。在上面的例子也可以写成就是docker run -dt fedora

执行命令,发现容器几乎瞬间启动起来了。比虚拟机快了不知道多少倍。

另外,列出正在运行的容器及其名字标识:

docker ps

关于如何安装hadoop,可以参考在虚拟机安装hadoop的情况,这是大致相同的。

另外地,当你的容器做好了运行hadoop的环境,是时候保存容器当前的状态为一个镜像文件,以备需要的时候使用。

△注意:为了离开容器环境,你必须顺序按下ctrl+qctrl+p,如果你仅仅在shell执行exit,你在停止容器的时候也会失去了目前所做过的所有工作!

回到docker主机,使用docker commit及容器名和你想要的仓库名字/标签:

[root@8ef06706f88d ~]# exit
[KANO@kelvin ~]$ docker commit -m "hadoop install" 8ef06706f88d fedora:hadoop

现在,你保存了容器的状态到一个镜像里,可以使用 docker stop 停止容器了:

docker stop 8ef06706f88d

甚至我们可以直接使用别人已经建好的hadoop项目,详情请看项目地址:https://github.com/kiwenlau/hadoop-cluster-docker

超快速使用docker在本地搭建hadoop分布式集群的更多相关文章

  1. 使用Docker在本地搭建Hadoop分布式集群

    学习Hadoop集群环境搭建是Hadoop入门必经之路.搭建分布式集群通常有两个办法: 要么找多台机器来部署(常常找不到机器) 或者在本地开多个虚拟机(开销很大,对宿主机器性能要求高,光是安装多个虚拟 ...

  2. 使用docker搭建hadoop分布式集群

    使用docker搭建部署hadoop分布式集群 在网上找了非常长时间都没有找到使用docker搭建hadoop分布式集群的文档,没办法,仅仅能自己写一个了. 一:环境准备: 1:首先要有一个Cento ...

  3. 分布式计算(一)Ubuntu搭建Hadoop分布式集群

    最近准备接触分布式计算,学习分布式计算的技术栈和架构知识.目前的分布式计算方式大致分为两种:离线计算和实时计算.在大数据全家桶中,离线计算的优秀工具当属Hadoop和Spark,而实时计算的杰出代表非 ...

  4. 在 Ubuntu 上搭建 Hadoop 分布式集群 Eclipse 开发环境

    一直在忙Android FrameWork,终于闲了一点,利用空余时间研究了一下Hadoop,并且在自己和同事的电脑上搭建了分布式集群,现在更新一下blog,分享自己的成果. 一 .环境 1.操作系统 ...

  5. CentOS7.5搭建Hadoop分布式集群

    材料:3台虚拟主机,ip分别为: 192.168.1.201 192.168.1.202 192.168.1.203 1.配置主机名称 三个ip与主机名称分别对应关系如下: 192.168.1.201 ...

  6. VM搭建hadoop分布式集群

    1.  安装VMware Workstation Pro 2.安装Ubuntu-16.04 3.以下全程使用sudo –s 切换root权限 4.更新deb软件包列表:apt-get update 5 ...

  7. hadoop分布式集群的搭建

    电脑如果是8G内存或者以下建议搭建3节点集群,如果是搭建5节点集群就要增加内存条了.当然实际开发中不会用虚拟机做,一些小公司刚刚起步的时候会采用云服务,因为开始数据量不大. 但随着数据量的增大才会考虑 ...

  8. Hadoop分布式集群搭建hadoop2.6+Ubuntu16.04

    前段时间搭建Hadoop分布式集群,踩了不少坑,网上很多资料都写得不够详细,对于新手来说搭建起来会遇到很多问题.以下是自己根据搭建Hadoop分布式集群的经验希望给新手一些帮助.当然,建议先把HDFS ...

  9. 一脸懵逼学习Hadoop分布式集群HA模式部署(七台机器跑集群)

    1)集群规划:主机名        IP      安装的软件                     运行的进程master    192.168.199.130   jdk.hadoop      ...

随机推荐

  1. Cassandra - Non-system keyspaces don't have the same replication settings, effective ownership information is meaningless

    In cassandra 2.1.4, if you run "nodetool status" without any keyspace specified, you will ...

  2. PHP定义数组常量

    最先想到的方法是这样: define('SIGN_CODE', array('9df512','59gf1g','5eg7h1','g1agf5','f5e151','g51gfr','a5481s' ...

  3. (c#)WinForm遍历所有控件

    遍历WinForm中的所有控件,只执行一次以下语句是不行的 foreach (Control ctl in this.Controls) { } 这样只能遍历到第一层控件,子控件是遍历不到的,要想遍历 ...

  4. HTML4如何让一个DIV居中对齐?float输入日志标题

    float:left,right clear:both 如何让一个DIV居中对齐? 第一步:设置外层的DIV的text-align:center; 第二步:设置里层的DIV的margin:auto 以 ...

  5. juce中的BailOutChecker

    界面库中值得注意的一点就是对象响应事件的时候自身被删除了,那么后续的访问自然就会出问题,所以需要在响应事件之后先添加引用,相关处理之后再查看自身是否已经被删除,如果已经被删除那么就直接退出.juce中 ...

  6. python运维开发(五)----模块、生成器

    内容目录 双层装饰器 字符串格式化 生成器和迭代器 递归 模块 双层装饰器 需求场景介绍: 现有用户登录系统,普通用户能查看自己相关信息的权限,管理员用户能查看所有用户的权限,可以做两个装饰器来实现需 ...

  7. Maven管理Android项目1

    maven-android-plugin网站:https://code.google.com/p/maven-android-plugin/wiki/GettingStarted   android ...

  8. Oracle EBS-SQL (WIP-12):总装车间任务查询.sql

    select         WT.WIP_ENTITY_NAME                                                                任务名 ...

  9. WIN ERROR:C:\Windows\System32\<LANG_NAME>\mstsc.exe.MUI

    Issue: When you upgrade Win7, you may found your remote desktop will not work. You may get following ...

  10. rhel6.4 配置本地yum的源

    1 创建rhel-debuginfo.repo,如果有则先备份再删除       cd  /etc/yum.repos.d    rm  rhel-debuginfo.repo    vi  rhel ...