0. 写在前面

网上也已经有很多教程了,但是其中都有不少坑,在此记录一下自己安装的过程。

目标:使用docker搭建一个一主两从三台机器的hadoop2.7.7版本的集群

准备

  • 首先要有一台内存8G以上的centos7机器,我用的是阿里云主机。

  • 其次将jdk和hadoop包上传到服务器中。

1. 步骤

大致分以下几步:

  • 安装docker

  • 基础环境准备

  • 配置网络,并启动docker容器

  • 配置host及ssh免密登录

  • 安装配置hadoop

  • 测试使用hadoop

1.1 安装docker

依次执行如下步骤安装docker。如果有docker环境的可以跳过。

1.2 基础环境准备

1.2.1 创建基础的centos7镜像

拉取官方centos7镜像

通过build Dockfile生成带ssh功能的centos镜像

创建Dockerfile文件

vi Dockerfile

将如下内容写入Dockerfile

上述内容大概意思是:以centos镜像为基础,设置密码为wqe123,安装ssh服务并启动

构建Dockerfile

docker build -t="centos7-ssh" .

将生成一个名为centos7-ssh的镜像,可以通过docker images查看

1.2.2 生成有hadoop和jdk环境的镜像

将准备好的包放在当前目录下。hadoop-2.7.7.tar.gz和jdk-8u202-linux-x64.tar.gz

通过build Dockfile生成带hadoop和jdk环境的centos镜像

刚才已经创建了一个Dockerfile了,先将他移开。mv Dockerfile Dockerfile.bak

创建Dockerfile

vi Dockerfile

将以下内容写入:

上述内容大概意思是:以上面生成的centos7-ssh为基础,将hadoop和jdk包放进去,然后配好环境变量。

构建Dockerfile

docker build -t="hadoop" .

将生成一个名为hadoop的镜像

1.3 配置网络,并启动docker容器

因为集群间必须要能网络连通,所以要先配置好网络。

创建网络

docker network create --driver bridge hadoop-br

以上命令创建了一个名为hadoop-br的bridge类型的网络

启动docker时指定网络

查看网络情况

docker network inspect hadoop-br 

执行以上命令就可以看到对应的网络信息:

我们可以得知3台机器对应的ip:

172.18.0.2 hadoop1 172.18.0.3 hadoop2 172.18.0.4 hadoop3 

登录docker容器,互相之间就可以ping通了。

docker exec -it hadoop1 bashdocker exec -it hadoop2 bashdocker exec -it hadoop3 bas

本文转载自博客园:

https://www.cnblogs.com/upupfeng/p/13616125.html

微软MVP组建的.Net社区

你加入了吗?

微软MVP:Eleven组建

国内首屈一指的.Net活跃社区

完整配套的学习资料

最新最热的技术文章

社区内优质岗位直推

全部免费奉送给大家

优质内容持续更新中

戳以下文章立即获取

???

禁止外传!社区内部VIP干货资料自取

(课程视频+面试题+技术专刊+岗位内推)

hadoop集群_使用docker部署hadoop集群相关推荐

  1. docker redis 删除集群_基于Docker的Redis集群实践

    单机版的Redis相信大家都比较熟悉了,这里介绍几种Redis的集群模式,并结合Docker来进行实践操作 abstract.png 准备工作 通过Docker下载最新的Redis镜像 # 获取red ...

  2. 自动化部署mysql主从复制集群_使用docker部署mysql主从复制集群

    一.环境搭建 虚拟机环境:centos7 IP:192.168.37.134 用户名:root 密码:123 启动3个容器,一个是master,端口是3307,另外两个是slaver,端口是3308和 ...

  3. Docker部署hadoop

    Docker部署hadoop集群 一.环境准备 二.安装并启动Docker 三. 配置hadoop 四.启动hadoop集群 五.关闭hadoop集群 六.卸载Docker 一.环境准备 操作系统:C ...

  4. Docker部署Zookeeper集群

    Docker部署Zookeeper集群 官方网站: http://zookeeper.apache.org/ http://zookeeper.apache.org/doc/r3.4.8/zookee ...

  5. 使用Docker部署RabbitMQ集群

    使用Docker部署RabbitMQ集群 概述 本文重点介绍的Docker的使用,以及如何部署RabbitMQ集群,最基础的Docker安装,本文不做过多的描述,读者可以自行度娘. Windows10 ...

  6. 三台机器使用Docker部署Redis集群

    三台机器使用Docker部署Redis集群 我们这里采用Docker在三台服务器上面进行Redis集群的搭建,它方便快捷.容易上手. 1.集群原理 在Redis集群中,所以的节点彼此关联,节点内部通过 ...

  7. 使用Docker部署Hadoop

    使用Docker部署Hadoop 拉取一个`CentOS`镜像作为`Hadoop`运行 配置`Java`与`SSH`环境 创建容器 进入容器 配置镜像 下载阿里云镜像配置 修改配置文件 重置缓存 安装 ...

  8. Docker部署Nginx集群

    背景 Nginx作为负载均衡工具在企业开发中,特别是分布式开发中十分常见,下面来看看腾讯云服务器中在CentOS7.6系统中使用Docker部署Nginx集群的具体步骤 环境 Linux:CentOS ...

  9. docker集群_使用Docker,Chef和Amazon OpsWorks进行集群范围的Java / Scala应用程序部署...

    docker集群 Docker非常适合在单个节点上运行隔离的容器. 但是,大多数软件系统都在多个节点上运行,因此,除了Docker之外,我们还需要某种方法来指定哪些容器应在哪些节点上运行. 我要解决的 ...

最新文章

  1. python 学习笔记8 (模块)
  2. 090620 刚才修复一个fat32分区的经历
  3. HTML5培训分享:HTML5全栈工程师是什么?
  4. android app两种调试方法
  5. 括号配对问题 -- ACM解决方法
  6. 计算机无法播放,如果无法播放计算机mp4文件怎么办?
  7. zabbix2.4 mysql模板_zabbix自带的模板监控mysql
  8. tcp 出现rst情况整理
  9. linux 释放进程res_linux下查询进程占用的内存方法总结
  10. 多线程编程(16) - 多线程同步之 WaitableTimer (等待定时器对象)[续二]
  11. 芯原股份正式加入UCIe产业联盟
  12. excel表格坐标导入cad怎样操作?
  13. QT应用编程: windows下QT调用COM组件
  14. PS技巧分享,不容错过
  15. Kubernets简介
  16. channel通道的一些细节
  17. 手把手带你构建dockers镜像
  18. Unity利用单反相机拍照、录制视频
  19. 服务器维护的几个注意点
  20. Unity中的多光源

热门文章

  1. Elasticsearch 实战2:ES 项目实战(二):基本操作、批处理、高级查询
  2. 微信小程序 ----- this.getOpenerEventChannel is not a function
  3. 【Docker】 安装 Docker
  4. 作为评审人完成了对其他小组第一阶段成果的评价
  5. 互联网高并发之Hystrix实现服务隔离和降级
  6. sql必知必会的数据初始化
  7. fanuc 机床,加工中心通信总结,机床联网监控系统
  8. 洛谷P3144 [USACO16OPEN]关闭农场Closing the Farm_Silver
  9. matlab学习笔记第七章——常微分方程(ODE)的数值解
  10. 【思维】Kenken Race