本篇文章是基于Docker搭建大数据集群系列的开篇之作

主要内容

  1. docker搭建
  2. docker部署CentOS
  3. 容器免密钥通信
  4. 容器保存成镜像
  5. docker镜像发布

环境

  • Linux 7.6

一、Docker安装

安装工具包

  1. yum install -y yum-utils #安装工具包,缺少这些依赖将无法完成```
  2. ### 设置远程仓库
  3. ```bash
  4. yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo```
  5. ### 安装
  6. ```bash
  7. yum install docker-ce```
  8. ### 启动
  9. ```bash
  10. systemctl start docker```
  11. ### 查看版本
  12. ```bash
  13. docker version```
  14. ### 校验
  15. ```bash
  16. docker run hello-world```
  17. ## 二、docker部署CentOS
  18. ### 拉取镜像
  19. ```bash
  20. docker pull centos```
  21. ### 查看是否拉取成功
  22. ```bash
  23. docker imsages```
  24. ### 设置docker网桥,用于分配固定IP
  25. ```bash
  26. docker network create --subnet=172.15.0.0/16 netgroup```
  27. ### 创建容器
  28. > --name 容器名称
  29. > -h 容器主机名
  30. > --net 设置网桥
  31. > --ip 指定容器IP
  32. **master**

docker run -d --privileged -ti -v /sys/fs/cgroup:/sys/fs/cgroup --name cluster-master -h cluster-master --net netgroup --ip 172.15.0.2 centos /usr/sbin/init

  1. **slave1**

docker run -d --privileged -ti -v /sys/fs/cgroup:/sys/fs/cgroup --name cluster-slave1-h cluster-slave1--net netgroup --ip 172.15.0.3 centos /usr/sbin/init

  1. **slave2**

docker run -d --privileged -ti -v /sys/fs/cgroup:/sys/fs/cgroup --name cluster-slave2-h cluster-slave2--net netgroup --ip 172.15.0.4 centos /usr/sbin/init

  1. **slave3**

docker run -d --privileged -ti -v /sys/fs/cgroup:/sys/fs/cgroup --name cluster-slave3-h cluster-slave3--net netgroup --ip 172.15.0.5 centos /usr/sbin/init

  1. ### 查看运行中的容器
  2. ```bash
  3. docker ps```
  4. ### 查看所有容器,包括未运行的容器
  5. ```bash
  6. docker pa -a```
  7. ### 运行容器
  8. ```bash
  9. docker run 容器名或容器ID```
  10. ### 进入容器
  11. ```bash
  12. docker run exec -ti 容器名或容器ID bash```
  13. ### 配置hosts文件
  14. ```bash
  15. #安装VIM编辑工具
  16. yum install vim
  17. vim /etc/hosts
  18. #追加以下内容
  19. 172.15.0.2 cluster-master
  20. 172.15.0.3 cluster-slave1
  21. 172.15.0.4 cluster-slave2
  22. 172.15.0.5 cluster-slave3
  23. #将配置文件发送到其它节点
  24. scp /etc/hosts cluster-slave1:/etc/
  25. scp /etc/hosts cluster-slave2:/etc/
  26. scp /etc/hosts cluster-slave3:/etc/

三、容器免密钥通信

更换阿里YUM源

  1. mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
  2. curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

部署OpenSSH

  1. yum -y install openssh openssh-server openssh-clients
  2. systemctl start sshd

生成密钥

敲出下面命令后连续回车三次

  1. ssh-keygen -t rsa```
  2. ### 设置用户密码
  3. ```bash
  4. passwd root```
  5. ### 公钥分发
  6. > 在所有结点都生成密钥之后再进行这步
  7. **master**
  8. ``` bash
  9. ssh-copy-id -f -i ~/.ssh/id_rsa.pub cluster-master
  10. ssh-copy-id -f -i ~/.ssh/id_rsa.pub cluster-slave1
  11. ssh-copy-id -f -i ~/.ssh/id_rsa.pub cluster-slave2
  12. ssh-copy-id -f -i ~/.ssh/id_rsa.pub cluster-slave3

slave1

  1. ssh-copy-id -f -i ~/.ssh/id_rsa.pub cluster-master
  2. ssh-copy-id -f -i ~/.ssh/id_rsa.pub cluster-slave1
  3. ssh-copy-id -f -i ~/.ssh/id_rsa.pub cluster-slave2
  4. ssh-copy-id -f -i ~/.ssh/id_rsa.pub cluster-slave3

slave2

  1. ssh-copy-id -f -i ~/.ssh/id_rsa.pub cluster-master
  2. ssh-copy-id -f -i ~/.ssh/id_rsa.pub cluster-slave1
  3. ssh-copy-id -f -i ~/.ssh/id_rsa.pub cluster-slave2
  4. ssh-copy-id -f -i ~/.ssh/id_rsa.pub cluster-slave3

slave3

  1. ssh-copy-id -f -i ~/.ssh/id_rsa.pub cluster-master
  2. ssh-copy-id -f -i ~/.ssh/id_rsa.pub cluster-slave1
  3. ssh-copy-id -f -i ~/.ssh/id_rsa.pub cluster-slave2
  4. ssh-copy-id -f -i ~/.ssh/id_rsa.pub cluster-slave3

测试免密钥

第一次敲下面命令时,会向你询问,直接打 yes,然后输入对应主机的访问密码

第二次敲ssh命令时,应当直接能够访问,无需输入密码

退出当前用户使用命令 exit

master

  1. ssh cluster-master
  2. ssh cluster-slave1
  3. ssh cluster-slave1
  4. ssh cluster-slave1

slave1

  1. ssh cluster-master
  2. ssh cluster-slave1
  3. ssh cluster-slave1
  4. ssh cluster-slave1

slave2

  1. ssh cluster-master
  2. ssh cluster-slave1
  3. ssh cluster-slave1
  4. ssh cluster-slave1

slave3

  1. ssh cluster-master
  2. ssh cluster-slave1
  3. ssh cluster-slave1
  4. ssh cluster-slave1

四、容器保存成镜像

  1. docker commit -m '提交文字说明' -a '作者' 容器名 提交后的镜像名:提交后的镜像tag

五、镜像推送到远程仓库

新建账号

https://hub.docker.com/

创建一个镜像仓库

给需要推送的镜像打标签

  1. docker tag 镜像id 要推入的仓库的用户名/要推入的仓库名:新定义的tag

推送镜像到仓库

  1. docker push 要推入的仓库的用户名/要推入的仓库名:镜像标签

基于Docker搭建大数据集群(一)Docker环境部署的更多相关文章

  1. 基于Docker搭建大数据集群(六)Hive搭建

    基于Docker搭建大数据集群(六)Hive搭建 前言 之前搭建的都是1.x版本,这次搭建的是hive3.1.2版本的..还是有一点细节不一样的 Hive现在解析引擎可以选择spark,我是用spar ...

  2. 基于Docker搭建大数据集群(七)Hbase部署

    基于Docker搭建大数据集群(七)Hbase搭建 一.安装包准备 Hbase官网下载 微云下载 | 在 tar 目录下 二.版本兼容 三.角色分配 节点 Master Regionserver cl ...

  3. Docker搭建大数据集群 Hadoop Spark HBase Hive Zookeeper Scala

    Docker搭建大数据集群 给出一个完全分布式hadoop+spark集群搭建完整文档,从环境准备(包括机器名,ip映射步骤,ssh免密,Java等)开始,包括zookeeper,hadoop,hiv ...

  4. 基于Docker搭建大数据集群(二)基础组件配置

    主要内容 jdk环境搭建 scala环境搭建 zookeeper部署 mysql部署 前提 docker容器之间能免密钥登录 yum源更换为阿里源 安装包 微云分享 | tar包目录下 JDK 1.8 ...

  5. 基于Docker搭建大数据集群(三)Hadoop部署

    主要内容 Hadoop安装 前提 zookeeper正常使用 JAVA_HOME环境变量 安装包 微云下载 | tar包目录下 Hadoop 2.7.7 角色划分 角色分配 NN DN SNN clu ...

  6. 基于Docker搭建大数据集群(五)Mlsql部署

    主要内容 mlsql部署 前提 zookeeper正常使用 spark正常使用 hadoop正常使用 安装包 微云下载 | tar包目录下 mlsql-cluster-2.4_2.11-1.4.0.t ...

  7. 基于Docker搭建大数据集群(四)Spark部署

    主要内容 spark部署 前提 zookeeper正常使用 JAVA_HOME环境变量 HADOOP_HOME环境变量 安装包 微云下载 | tar包目录下 Spark2.4.4 一.环境准备 上传到 ...

  8. 关于在真实物理机器上用cloudermanger或ambari搭建大数据集群注意事项总结、经验和感悟心得(图文详解)

    写在前面的话 (1) 最近一段时间,因担任我团队实验室的大数据环境集群真实物理机器工作,至此,本人秉持负责.认真和细心的态度,先分别在虚拟机上模拟搭建ambari(基于CentOS6.5版本)和clo ...

  9. CDH搭建大数据集群(5.10.0)

    纠结了好久,还是花钱了3个4核8G的阿里云主机,且行且珍惜,想必手动搭建过Hadoop集群的完全分布式.HBase的完全分布式的你(当然包括我,哈哈),一定会抱怨如此多的配置,而此时CDH正是解决我们 ...

随机推荐

  1. 自制微信小程序 提示插件 -- noticeUitis.js

    /* noticeMsg.js by: FEer_llx Modify 2016/08/24 */ function weNotice(obj) { this.fadeFlag = true; thi ...

  2. C++string,char* 字符数组,int类型之间的转换

    string.int 常见类型之间相互转换 int & string 之间的转换 C++中更多的是使用流对象来实现类型转换 针对流对象 sstream实现 int,float 类型都可以实现 ...

  3. fiddler的安装于使用(一)安装fiddler

    Fiddler的简介 Fiddler是位于客户端和服务器端之间的代理,也是目前最常用的抓包工具之一 .它能够记录客户端和服务器之间的所有 请求,可以针对特定的请求,分析请求数据.设置断点.调试web应 ...

  4. 【selenium】- 自动化测试必备工具FireBug&FirePath

    本文由小编根据慕课网视频亲自整理,转载请注明出处和作者. 1. FireBug FireBug的安装: 如果使用Firefox浏览器的话,推荐使用较低版本,比如27-32.否则会报错. 点击右上角的菜 ...

  5. P4570 [BJWC2011]元素 线性基 + 贪心

    题意 给定n个物品,每个物品有一个编号和价值,问如何取使得拿到的物品价值总和最大,并且取得物品的编号的子集异或和不能为0. 思路 这是个贪心,我们先按照价值从大到小排序,然后贪心地取,如果当前要取的物 ...

  6. bzoj 4025 二分图 lct

    题目传送门 题解: 首先关于二分图的性质, 就是没有奇环边. 题目其实就是让你判断每个时段之内有没有奇环. 其次 lct 只能维护树,(反正对于我这种菜鸟选手只会维护树), 那么对于一棵树来说, 填上 ...

  7. CodeForces - 1150 D Three Religions

    题目传送门 题解: id[ i ][ j ] 代表的是在第j个位置之后的第i个字符的位置在哪里. dp[ i ][ j ][ k ] 代表的是 第一个串匹配到第i个位置, 第二个串匹配到第j个位置, ...

  8. lightoj 1226 - One Unit Machine(dp+大组合数去摸)

    题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1226 题解:由于这些任务完成是有先后的所以最后一个完成的肯定是最后一个任务的子 ...

  9. HDU2276 Kiki & Little Kiki 2 矩阵快速幂

    Kiki & Little Kiki 2 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java ...

  10. airflow使用SimpleHttpOperator实现http调用任务

    使用SimpleHttpOperator作为处理器的时候,会发现默认访问的地址www.google.com端口为443 例如下面这样定义的任务 task = SimpleHttpOperator( t ...