前言

这是为了CDH server镜像和agent镜像准备的制作环境,这个步骤可以在虚拟机上完成,只是制作镜像包,还不涉及安装部署。

提供相关的安装包

链接:https://pan.baidu.com/s/1bnNaK2ZAcXAc1uQpQHx1Mw 
提取码:m3mw

准备环境

1. 更新yum源

yum install -y vim wget net-tools \
&& mkdir -p /etc/yum.repos.d/repo_bak \
&& mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repo_bak/ \
&& wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo \
&& wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo \
&& yum update -y \
&& yum clean all 

2.  关闭防火墙

#关闭防火墙
systemctl stop firewalld \
&& systemctl disable firewalld \
&& systemctl status firewalld

3. 关闭Linux的安全机制

如果是阿里云或腾讯云上制作,则默认关闭

vim /etc/selinux/config修改为SELINUX=disabled

4. 搭建本地yum源

yum本地库放在宿主机上,可减少server容器和agent容器的空间占用,打成镜像包的体积越小越好,做到足够精简

4.1 拷贝rpm安装包

# 将rpm包拷贝到根目录
[root@cdhuser ~]# tree /root/hadoop_CDH
hadoop_CDH/
├── cloudera-repos
│   ├── allkeys.asc
│   ├── cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
│   ├── cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
│   ├── cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
│   ├── cloudera-manager-server-db-2-6.3.1-1466458.el7.x86_64.rpm
│   ├── enterprise-debuginfo-6.3.1-1466458.el7.x86_64.rpm
│   ├── mysql-community-client-5.7.27-1.el7.x86_64.rpm
│   ├── mysql-community-common-5.7.27-1.el7.x86_64.rpm
│   ├── mysql-community-devel-5.7.27-1.el7.x86_64.rpm
│   ├── mysql-community-libs-5.7.27-1.el7.x86_64.rpm
│   ├── mysql-community-libs-compat-5.7.27-1.el7.x86_64.rpm
│   ├── mysql-community-server-5.7.27-1.el7.x86_64.rpm
│   └── oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm

4.2 安装httpd和createrepo服务

安装httpd服务,默认占用80端口,使得本地文件库可通过url来访问和下载。最重要的是通过yum安装解决了软件之间的依赖性,yum会自行安装软件所需要的依赖,另外通过http实现了宿主机和容器之间文件访问,减少了rpm包的反复拷贝。

安装createrepo服务,使用"createrepo ."创建本地yum库,然后将本地yum源的仓库路径baseurl指向httpd的文件路径

yum -y install httpd createrepo \
&& systemctl start httpd \
&& cd /root/hadoop_CDH/cloudera-repos/ && createrepo . \
&& mv /root/hadoop_CDH/cloudera-repos /var/www/html/ \
&& yum clean all \
&& ll /var/www/html/cloudera-repos结果:
总用量 1582956
-rw-r--r-- 1 root root      14041 7月   8 22:15 allkeys.asc
-rw-r--r-- 1 root root   10483568 7月   8 22:15 cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
-rw-r--r-- 1 root root 1203832464 7月   8 22:16 cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
-rw-r--r-- 1 root root      11488 7月   8 22:15 cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
-rw-r--r-- 1 root root      10996 7月   8 22:15 cloudera-manager-server-db-2-6.3.1-1466458.el7.x86_64.rpm
-rw-r--r-- 1 root root   14209868 7月   8 22:15 enterprise-debuginfo-6.3.1-1466458.el7.x86_64.rpm
-rw-r--r-- 1 root root   25365436 7月   8 22:15 mysql-community-client-5.7.27-1.el7.x86_64.rpm
-rw-r--r-- 1 root root     281248 7月   8 22:15 mysql-community-common-5.7.27-1.el7.x86_64.rpm
-rw-r--r-- 1 root root    3833396 7月   8 22:15 mysql-community-devel-5.7.27-1.el7.x86_64.rpm
-rw-r--r-- 1 root root    2272032 7月   8 22:15 mysql-community-libs-5.7.27-1.el7.x86_64.rpm
-rw-r--r-- 1 root root    2116432 7月   8 22:15 mysql-community-libs-compat-5.7.27-1.el7.x86_64.rpm
-rw-r--r-- 1 root root  173500088 7月   8 22:15 mysql-community-server-5.7.27-1.el7.x86_64.rpm
-rw-r--r-- 1 root root  184988341 7月   8 22:16 oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
drwxr-xr-x 2 root root       4096 7月   8 22:19 repodata最后生成这个

5. 安装Docker

安装Docker的版本,对后期的安装部署影响不大

yum install -y yum-utils device-mapper-persistent-data lvm2 \
&& yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo\
&& yum -y install docker-ce \
&& yum clean all \
&& docker version # 结果:
Client: Docker Engine - CommunityVersion:           19.03.13API version:       1.40Go version:        go1.13.15Git commit:        4484c46d9dBuilt:             Wed Sep 16 17:03:45 2020OS/Arch:           linux/amd64Experimental:      false
...

6. 配置Docker加速地址

mkdir -p /etc/docker/ && \
(cat <<EOF
{"registry-mirrors": ["https://1e7waog4.mirror.aliyuncs.com"]}
EOF
) >>/etc/docker/daemon.json # 在启动docker
systemctl start docker && systemctl enable docker && systemctl status docker

7. 制作基础镜像

通过DockerFile完成基础镜像的制作,该镜像基于CentOS7.7 ,并安装了ssh服务,开放了22端口,后续在该基础镜像上制作server镜像和agent镜像

[root@cdhuser ~]# cat cdh_dockerfile#选择centos7.7.1908作为基础镜像FROM centos:centos7.7.1908#镜像维护者信息MAINTAINER "secretWHD"#描述信息LABEL name="Docker build CDH cluster server" \build_date="2021-09-12 15:07:12" #构建容器时需要运行的命令#安装openssh-server、openssh-clients、sudo、vim和net-tools软件包RUN yum -y install openssh-server openssh-clients sudo vim net-tools#生成相应的主机密钥文件RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_keyRUN ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_keyRUN ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key#设置环境变量ENV CENTOS_DEFAULT_HOME /root#终端默认登录进来的工作目录WORKDIR $CENTOS_DEFAULT_HOME#启动sshd服务并且暴露22端口 EXPOSE 22CMD ["/usr/sbin/sshd", "-D"]# 依赖centos镜像创建,为安装cdh做准备,注意“最后的 . 别忘了”
docker build -f /root/cdh_dockerfile -t server/bashimage . && docker images# 结果:
Successfully built 8cfb66f19550
Successfully tagged server/bashimage:latest
REPOSITORY         TAG              IMAGE ID       CREATED         SIZE
server/bashimage   latest           8cfb66f19550   1 second ago    404MB
centos             centos7.7.1908   08d05d1d5859   22 months ago   204MB

再次完成基础镜像的制作,后续CDH server容器和agent容器将在此基础上制作

有问题欢迎在评论区留言,你的提问就是对我最大的支持

制作篇1 - 宿主机准备制作环境相关推荐

  1. windows个人电脑上用vmware作为宿主机制作qcow2镜像

    通常云服务商提供的多为基础镜像主机,无法定制系统环境. 本篇主要为了解决项目上云过程有自定义镜像需求以达到快速部署集群需求以节约时间成本的场景 如:项目镜像需要集成k8s.agent脚本等各种集成场景 ...

  2. docker制作深度学习镜像(以windows环境下为例)

    向AI转型的程序员都关注了这个号???????????? 人工智能大数据与深度学习  公众号:datayx 用 Docker 安装深度学习环境,轻量.方便!整个系统大小仅需2~3G,用完还能带着走!一 ...

  3. 精通RPM之--制作篇(上)

    制作篇(上) 要想制作一个RPM格式的软件包,需要编写软件包描述文件.其标准命名格式为:软件名-版本号-释出号.spec,这个文件,详细描述了有关该软件包的诸多信息,如软件名,版本,类别,说明摘要,创 ...

  4. 搭建Ubuntu GPU服务器(宿主机篇)

    搭建Ubuntu GPU服务器(宿主机篇) 1.安装Ubuntu 20.04 注意,安装千万不要选择最小安装,就选正常安装就行 2.换源 阿里源网站 注意千万别换成其他版本的源,一定要对应ubuntu ...

  5. 开放世界游戏中的大地图的实现——内容制作篇

    https://www.gameres.com/304464.html 开放世界游戏中的大地图的实现--程序技术篇 二.内容制作篇:设计和创造(Content Design & Creatio ...

  6. 开放世界游戏中的大地图的实现——内容制作篇/异次元篇

    转自:https://www.gameres.com/304464.html https://www.gameres.com/304808.html 二.内容制作篇:设计和创造(Content Des ...

  7. 第一部分:使用iReport制作报表的详细过程(Windows环境下)

    第一部分:使用iReport制作报表的详细过程(Windows环境下) 提示:在有些板块,文中的图片看不到,建议到我的blog浏览文章:http://blog.csdn.net/jemlee2002/ ...

  8. linux手机刷机包制作工具_大神教你五分钟制作安卓ROM包 ROM包修改教程

    之前很多人在网上问:"如何自己制作安卓ROM包?"今天,刷机帮的小编就给大家分享一篇关于安卓ROM包制作以及修改的实用教程,感兴趣的朋友可以一起来看看,当然,老司机就直接略过. 制 ...

  9. Centos7的安装与模板机的制作

    Centos7的安装与模板机的制作 1.安装环境准备 1.VMware Workstation 2.centos7镜像 本文用的VMware版本为16.2.1 build-18811642 2.开始安 ...

最新文章

  1. chrome浏览器测试插件postman安装
  2. 深入理解java虚拟机(7)---线程安全  锁优化
  3. C与指针、C陷阱与缺陷
  4. 图片上传unexpected end of stream
  5. RedisRDB持久化机制
  6. 静态内存、动态内存与堆栈
  7. 计算机网络基础:网络标准相关知识介绍
  8. idea修改代码后不重启项目_使用DevTool实现SpringBoot项目热部署
  9. python读csv最快方法_使用Python读写csv文件的三种方法
  10. STM8学习笔记---利用PWM功能输出SPWM波
  11. CCF201803-3 URL映射(100分)【文本处理+暴力】
  12. 【渝粤教育】国家开放大学2018年春季 0471-22T畜牧学 参考试题
  13. hadoop hdfs文件给其他账号授权
  14. python关闭word_python自动化办公:玩转word之样式秘笈
  15. 第八章第二层交换和生成树协议(STP)
  16. 怎样做sns网站?哪里可下载这类程序?
  17. 校园网系统集成方案设计
  18. Python中文分词库——jieba的用法
  19. vue+elementUi——实现竖向公告滚动效果(功能实现)
  20. TRS Database admin数据字段类型总结

热门文章

  1. 【工具】开发工具记录(CoolFormat源代码格式化工具)
  2. 猪宝宝问题(有符号 无符号类型 整形提升)
  3. 杰理之充电仓不带通信方案【篇】
  4. Excel读取03版本和07版本
  5. form表单基本练习
  6. C++ QT视频音乐播放器
  7. 微服务(项目原理和教程)
  8. oracle 计算入职年份,mssql sqlserver 获取入职日期到今天日期所经过的年份及月份信息呢?...
  9. wow 正在登陆服务器 就未响应,魔兽6.1游戏启动慢魔兽世界未响应解决方法
  10. C++回顾之前置++、后置++、不等号!及赋值运算符重载