超快速使用docker在本地搭建hadoop分布式集群
超快速使用docker在本地搭建hadoop分布式集群
学习hadoop集群环境搭建是hadoop入门的必经之路。搭建分布式集群通常有两个办法:
- 找多台机器来部署(通常找不到机器)
- 在本地开多个虚拟机(对宿主机器性能要求很高)
如果以上两种办法都对您不适用,那么现在有种更好更方便的办法,使用docker在本地做虚拟化,搭建hadoop伪分布式集群环境。虽然有点大材小用,但是用来练习还是挺好的。
操作思路:
- 使用docker构建一个Hadoop运行环境的镜像文件
- 使用这个镜像文件分别启动三个容器:1个master节点,2个slave节点
- 在master节点上配置slave节点信息
- 在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+q
和ctrl+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分布式集群的更多相关文章
-
使用Docker在本地搭建Hadoop分布式集群
学习Hadoop集群环境搭建是Hadoop入门必经之路.搭建分布式集群通常有两个办法: 要么找多台机器来部署(常常找不到机器) 或者在本地开多个虚拟机(开销很大,对宿主机器性能要求高,光是安装多个虚拟 ...
-
使用docker搭建hadoop分布式集群
使用docker搭建部署hadoop分布式集群 在网上找了非常长时间都没有找到使用docker搭建hadoop分布式集群的文档,没办法,仅仅能自己写一个了. 一:环境准备: 1:首先要有一个Cento ...
-
分布式计算(一)Ubuntu搭建Hadoop分布式集群
最近准备接触分布式计算,学习分布式计算的技术栈和架构知识.目前的分布式计算方式大致分为两种:离线计算和实时计算.在大数据全家桶中,离线计算的优秀工具当属Hadoop和Spark,而实时计算的杰出代表非 ...
-
在 Ubuntu 上搭建 Hadoop 分布式集群 Eclipse 开发环境
一直在忙Android FrameWork,终于闲了一点,利用空余时间研究了一下Hadoop,并且在自己和同事的电脑上搭建了分布式集群,现在更新一下blog,分享自己的成果. 一 .环境 1.操作系统 ...
-
CentOS7.5搭建Hadoop分布式集群
材料:3台虚拟主机,ip分别为: 192.168.1.201 192.168.1.202 192.168.1.203 1.配置主机名称 三个ip与主机名称分别对应关系如下: 192.168.1.201 ...
-
VM搭建hadoop分布式集群
1. 安装VMware Workstation Pro 2.安装Ubuntu-16.04 3.以下全程使用sudo –s 切换root权限 4.更新deb软件包列表:apt-get update 5 ...
-
hadoop分布式集群的搭建
电脑如果是8G内存或者以下建议搭建3节点集群,如果是搭建5节点集群就要增加内存条了.当然实际开发中不会用虚拟机做,一些小公司刚刚起步的时候会采用云服务,因为开始数据量不大. 但随着数据量的增大才会考虑 ...
-
Hadoop分布式集群搭建hadoop2.6+Ubuntu16.04
前段时间搭建Hadoop分布式集群,踩了不少坑,网上很多资料都写得不够详细,对于新手来说搭建起来会遇到很多问题.以下是自己根据搭建Hadoop分布式集群的经验希望给新手一些帮助.当然,建议先把HDFS ...
-
一脸懵逼学习Hadoop分布式集群HA模式部署(七台机器跑集群)
1)集群规划:主机名 IP 安装的软件 运行的进程master 192.168.199.130 jdk.hadoop ...
随机推荐
-
HTML5存储
Web Storage的概念和cookie相似,区别是它是为了更大容量存储设计的.Cookie的大小是受限的,并且每次你请求一个新的页面的时候Cookie都会被发送过去,这样无形中浪费了带宽,另外co ...
-
【GOF23设计模式】解释器模式 &; 访问者模式
来源:http://www.bjsxt.com/ 一.[GOF23设计模式]_解释器模式.访问者模式.数学表达式动态解析库式 1.解释器模式Interpreter 2.访问者模式Visitor
-
LianLianKan[HDU4272]
LianLianKan Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
-
CyclicBarrier、CountDownLatch与Semaphore的小记
CyclicBarrier: 适合的业务场景,比如 1).,现有一大任务,需要得到全年的统计数据的,这个工作量是巨大的,那么可以将其分割为12个月的子任务,各个子任务相互独立,当所有子任务完成了,则就 ...
-
Nginx (基于linux)综合
重启Nginx服务:centos:测试NGINX配置文件是否有效:/usr/local/nginx/sbin/nginx -t 平滑重启:/usr/local/nginx/sbin/nginx -s ...
-
Tomcat问题笔记
1. Tomcat服务器只能同步WebContent目录到webapps下面,如果WebContent里面的.html文件引用了与WebContent文件夹同级目录下的一个.js文件,Tomcat服务 ...
-
LR实战之Discuz开源论坛——网页细分图结果分析(Web Page Diagnostics)
续LR实战之Discuz开源论坛项目,之前一直是创建虚拟用户脚本(Virtual User Generator)和场景(Controller),现在,终于到了LoadRunner性能测试结果分析(An ...
-
单链表创建、删除、查找、插入之C语言实现
本文将详细的介绍C语言单链表的创建.删除.查找.插入以及输出功能 一.创建 #include<stdio.h> #include<stdlib.h> typedef int E ...
-
Tsinghua 2018 DSA PA3简要题解
CST2018 3-1-1 Sum (15%) 简单的线段树,单点修改,区间求和. 很简单. CST2018 3-1-2 Max (20%) 高级的线段树. 维护区间最大和,区间和,左边最大和,右边最 ...
-
Linux 常用系统工作命令
1.echo 用于输出字符串或者变量的值 2.date 显示及设置系统的时间和日期,格式为 “date [选项][+指定格式]”,输入以“+”号开头的参数,及可按照指定格式输出 date命令参数及作用 ...