技术标签: docker搭建hadoop hadoop docker
最近工作做开始使用到hadoop相关的东西,文件存储原来我们使用NFS方式存储,现在换成产品需要逐步换成hadoop来存储数据文件,所以想搭建一个hadoop来测试学习,以前也会搭建hadoop但是还是太麻烦了,但是,有了docker搭建起来就方便很多了,直接下载镜像然后启动docker就可以直接使用,是不是很方便呀。
注意:文中多次提到容器终端是hadoop-master这个容器的终端。
基础配置,centos7最小化版本,内存我配置了8G,cpu4核,磁盘空间为30G,已经搭建好docker。
对于docker来说镜像是很重要的东西,所以我们第一步需要修改镜像源为国内镜像源这样在拉取镜像的时候可以快一点。下面是已经修改好的,我使用的是163的镜像,当然你们也可以使用其他的镜像源地址。
url | 说明 |
https://registry.docker-cn.com | Docker 官方中国区 |
http://hub-mirror.c.163.com | 网易 |
https://docker.mirrors.ustc.edu.cn | ustc |
https://pee6w651.mirror.aliyuncs.com | 阿里云 |
[[email protected] ~]# cat /etc/docker/daemon.json
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
接下来我们就要拉取镜像了,这个过程可能会有些久,只要连上网应该都能下载下来。
为了不让你下载错误,你可以使用docker search hadoop命令查询一下有哪些hadoop镜像可以下载
[[email protected] ~]#docker pull docker.io/kiwenlau/hadoop:1.0
克隆前由于我是最小化版本所以没有安装git,因此需要先安装git,安装指令如下。
[[email protected] ~]#yum install git
这一步是从github上克隆配置脚本,脚本的内容是使用kiwenlau/hadoop:1.0配置mater、slave1、slave2三个容器,其中slave数量可以修改:
[[email protected] ~]# git clone https://github.com/kiwenlau/hadoop-cluster-docker
Cloning into 'hadoop-cluster-docker'...
remote: Enumerating objects: 392, done.
remote: Total 392 (delta 0), reused 0 (delta 0), pack-reused 392
Receiving objects: 100% (392/392), 191.83 KiB | 2.00 KiB/s, done.
Resolving deltas: 100% (211/211), done.
由于Hadoop的master节点需要与slave节点通信,需要在各个主机节点配置节点IP,为了不用每次启动都因为IP改变了而重新配置,在此配置一个Hadoop专用的网桥,配置之后各个容器的IP地址就能固定下来。
[[email protected] ~]# sudo docker network create --driver=bridge hadoop
04443af07c3d4e5c87db1dd48f0acf87cce59e55944737b68ceab983bfff094a
改脚本模式是创建3个节点。
[[email protected] hadoop-cluster-docker]# ./start-container.sh
start hadoop-master container...
start hadoop-slave1 container...
start hadoop-slave2 container...
[email protected]:~#
执行成功以后,就自动进入容器里面了。
操作之前给大家补充一个命令,就是我们可以通过docker ps获取容器ID,然后可以通过docker exec -it [容器id] /bin/bash进入到容器中操作。为啥需要说这个呢,因为对于新手来说经常搞不明白是本地终端执行命令,还是在容器终端执行命令。
6.1 在容器终端备份sources.list文件
sudo cp /etc/apt/sources.list /etc/apt/sources.list.copy
6.2 在本地终端编写sorces.list文件并且拷贝到容器中。
[[email protected] ~]#vi sources.list
文件内容如下:
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
拷贝文件到容器中
[r[email protected] ~]#sudo docker cp sources.list hadoop-master:/etc/apt
最后在容器终端更新一下软件源
sudo apt-get update
在前面一个步骤的最后进入了Hadoop容器的终端(master节点),因为是已经配置好Hadoop的容器,所以可以直接使用Hadoop,在容器根目录下有一个启动Hadoop的脚本,启动了dfs和yarn:
[email protected]:~# ./start-hadoop.sh
Starting namenodes on [hadoop-master]
hadoop-master: Warning: Permanently added 'hadoop-master,172.18.0.2' (ECDSA) to the list of known hosts.
hadoop-master: starting namenode, logging to /usr/local/hadoop/logs/hadoop-root-namenode-hadoop-master.out
hadoop-slave1: Warning: Permanently added 'hadoop-slave1,172.18.0.3' (ECDSA) to the list of known hosts.
hadoop-slave2: Warning: Permanently added 'hadoop-slave2,172.18.0.4' (ECDSA) to the list of known hosts.
hadoop-slave2: starting datanode, logging to /usr/local/hadoop/logs/hadoop-root-datanode-hadoop-slave2.out
hadoop-slave1: starting datanode, logging to /usr/local/hadoop/logs/hadoop-root-datanode-hadoop-slave1.out
Starting secondary namenodes [0.0.0.0]
0.0.0.0: Warning: Permanently added '0.0.0.0' (ECDSA) to the list of known hosts.
0.0.0.0: starting secondarynamenode, logging to /usr/local/hadoop/logs/hadoop-root-secondarynamenode-hadoop-master.out
starting yarn daemons
starting resourcemanager, logging to /usr/local/hadoop/logs/yarn--resourcemanager-hadoop-master.out
hadoop-slave2: Warning: Permanently added 'hadoop-slave2,172.18.0.4' (ECDSA) to the list of known hosts.
hadoop-slave1: Warning: Permanently added 'hadoop-slave1,172.18.0.3' (ECDSA) to the list of known hosts.
hadoop-slave1: starting nodemanager, logging to /usr/local/hadoop/logs/yarn-root-nodemanager-hadoop-slave1.out
hadoop-slave2: starting nodemanager, logging to /usr/local/hadoop/logs/yarn-root-nodemanager-hadoop-slave2.out
八、登录查看。
使用docker搭建hadoop是不是很简单呀,只要有能下载镜像好像就没有那么难了吧。
这个函数是自己写的,不知道有误没有,网上找了很多但是都写得怪麻烦的。 希望对大家有所帮助 byteLength是返回字节的长度。 privatestaticintGetSum(intbaseInt,int[]sValue){intcount=sValue.Length;if(count==1...
前言现在我们大家在实际的开发中,可能用的最多的就是flex布局,当然还有浮动和定位,除此之外,这两年一直听到网格布局是趋势,即grid布局,但是项目中没有太多的应用,所以特此总结一下,希望对大家也对我自己有帮助。给大家一个直接的效果体验一下:网格布局:就是一个容器内部由一个个的项目组成,是一个二维布局,接下来,我们就会围绕 容器 和项目 来介绍网格布局,目录...
题目: 输入字符串,求输出的值。输入的均为整形,要求包含运算符 例如输入: "24*1 +(4+6)*2+ (4-3*2) *( 4+6-9+(11-3*4)*2 +2)* 10+ 20 -3* 2 *4 +2" 输出结果:20 要求:对于多余空格字符完好的鲁棒性,函数原型:void process(cons
Arm11要用到RVDS来裸机,买的时候却没有附带安装包,这是一件非常恼火的事情,不过,经过我网上寻找,也终于安装完成,且可以调试。AXD调试时遇到的小问题也成功解决。 下面是两步,安装与调试,贴出链接,因为没法上传文件。只要按照步骤,应该没什么问题。1、下载与安装rvds2.2: 一、 我们将rvds2.2的压缩包(下载地址:http://115.com/file/a
第221个本示例的目的是介绍演示如何在vue+openlayers中加载geoserver发布的WMS数据,其核心目标是在地图上显示瓦片,点击瓦片层,可以获取到瓦片上的信息。https://xiaozhuanlan.com/topic/8026571943 这是另外的一种方法。
SVN分为客户端和服务端:服务端:常用的主要有2个,分别为:1. VisualSvn Server:免费,集成了Subversion和Apache,安装使用非常简单;2. Subversion:在Windows上安装起来比较麻烦;所以在Windows环境下搭建SVN服务器时,我们选择VisualSvn Server;客户端:1. VisualSVN :收费,不选择使用;2. T...
转载出处:https://www.cnblogs.com/SummerSunnyDay/p/11543929.html如有侵权,请告之。在本篇里,我们讨论 Verilog 语言的综合问题,Verilog HDL (Hardware Description Language) 中文名为硬件描述语言,而不是硬件设计语言。这个名称提醒我们是在描述硬件,即用代码画图。在 Verilog 语言中,always 块是一种常用的功能模块,也是结构最复杂的部分。笔者初学时经常为 always 语句的编写而苦恼.
为什么80%的码农都做不了架构师?>>> ...
关于echarts使用的常见问题总结来源:李文杨关于echarts使用的问题总结1.legend图例不显示的问题:在legend中的data为一个数组项,数组项通常为一个字符串,每一项需要对应一个系列的 name,如果数组项的值与name不相符则图例不会显示;2.图表位置无法紧贴画布边缘的问题:在grid绘图网格里,containLabel(grid 区域是否包含坐标轴...
一、步进电机相关概念 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数。 角位移:角位移就是步进电机的转轴转动行驶的位移。1.步进电机的相、线、极性...
一、任务概述多样性——同一实体在文本中会有不同的指称。eg:飞人、帮主、老大和MJ都指美国篮球运动员迈克尔·乔丹歧义性——相同的实体指称在不同的上下文中可以指不同的实体。eg:迈克尔·乔丹指美国篮球运动员、爱尔兰政治家等1、任务定义实体消歧,定义为六元组。此处实体指的是命名实体。M=N,E,D,O,K,δM=N,E,D,O,K,\deltaM=N,E,D,O,K,δN=n1,n2,....
企业级 Zabbix 监控1、Zabbix监控架构监控中心zabbix-server|------------------------------| |---proxy--- ---proxy---agent agent agent agent2、zabbix 监控邮件报警Postfix邮局(MTA)------邮递员(smtp 25)------邮局(MTA)| |MDA...