基于docker的CDH离线安装部署。将cdh安装在docker中,并配置网络

规划与规范

确定版本

服务器版本:Centos7

CDH版本:CDH 6.1.1

JDK版本:openjdk1.8

docker engine:19.0.3

Database:mysql 5.7

统一用户密码或设置免密登录

CDH安装过程中需要用到root用户权限,一般使用root用户进行安装。如果必须使用非root用户,请参考官网配置。

如果使用root用户,则统一密码。

如果使用免密登录,则配置免密登录(Centos7配置略)。

密码规范:(略)

集群规划

1台本地仓库repo服务器,带httpd服务。

1台mysql服务器,用作CDH元数据库。

1台cm管理服务器。

6台host节点服务器。

规划网络(内外通讯模式和矩阵)

设置内部局域网,subnet为172.19.0.0/16,gateway为172.19.1.1,只有一个对外堡垒机即CM服务器(配置docker端口映射7180、22两个端口),其他服务器均为局域网内服务器。

网络拓扑图如下:

(略)

规范主机名网络名

主机名规范:假设XX表示cdh集群编号,YY表示服务编号,两者均为从01开始的正整数,则,

cm服务器主机名规范为:cdhXXcmYY

host服务器主机名规范为:cdhXXhostYY

matedatadb主机名规范为:cdhXXmatedbYY

本地仓库repo的主机名为固定为 repo

网络名固定为 e-marker.com

最后的hosts映射关系为:

cdh01cm01.e-marker.com:172.19.0.4

cdh01host01.e-marker.com:172.19.0.5

cdh01host02.e-marker.com:172.19.0.6

cdh01host03.e-marker.com:172.19.0.7

cdh01host04.e-marker.com:172.19.0.8

cdh01host05.e-marker.com:172.19.0.9

cdh01host06.e-marker.com:172.19.0.10

repo.e-marker.com:172.19.0.2

cdh01matedb01.e-marker.com:172.19.0.3

规划挂载卷

1、mysql配置目录:

2、mysql数据目录:

3、HDFS的数据目录:

4、CDH的配置目录:

创建基础镜像

下载centos镜像

docker pull centos:7

必备安装与设置

由于docker版的centos7极度精简,只有220m,很多软件需要自己安装。

#repo服务器创建docker镜像,安装:httpd(设置自启动)。

#cm和host服务器创建docker镜像,

1)安装:openssh-clients、openssh-server(配置SSH登录)、java-1.8.0-openjdk-devel、mysql-connector-java、ntpd(设置自启动)。

2)repo

vi /etc/yum.repos.d/cloudera-repo.repo

[cloudera-repo]

name=cloudera-repo

baseurl=http://repo.e-marker.com/cloudera-repos/cm6/

enabled=1

gpgcheck=0

注意:其中baseurl是!!!!!!!!!!!!!!!!

3)设置root用户密码。

4)Cloudera 建议将 /proc/sys/vm/swappiness 设置为最大值 10,建议设置为1。

修改swappiness参数有临时修改和永久修改两种方法:

----临时修改:

# sysctl vm.swappiness=1

vm.swappiness = 1

----永久修改:

vi /etc/sysctl.conf,添加如下参数:

vm.swappiness=1

或者:

# echo 'vm.swappiness=1'>> /etc/sysctl.conf

保存,重启生效。

#ssh免登录设置

见前面的文章:ssh配置免密登录手动版和脚本版

https://segmentfault.com/a/1190000019919600?share_user=1030000019541827

#禁用防火墙(如果安装了防火墙)

CentOS7防火墙命令

firewall-cmd --state                 查看防火墙

systemctl stop firewalld.service     关闭防火墙

systemctl disable firewalld.service  永久关闭防火墙

注释:docker版centos7不需要。

#禁用SElinux

1)检查SElinux 状态

getenforce

2) 如果输出是 Permissive 或者 Disabled, 则不用配置SElinux,如果输出是enforcing 执行下面步骤设置SElinux

setenforce 0 (临时生效)

修改 /etc/selinux/config 下的 SELINUX=disabled 或者 permissive(重启后永久生效)  

注释:docker版centos7不需要。

#使能NTP服务并同步

Enable an NTP Service | 6.1.x | Cloudera Documentation

注释:docker版centos7没有chronyd,手动安装ntpd服务。

#安装Python 2.7

CDH 6 需要 Python 2.7,RHEL 7系统包含Python 2.7,因此不要安装。查看pyhton 版本

python -V

注释:docker版centos7不需要。

%容器导出镜像%

配置Cloudera Manager 使用Parcel repo

  1. 两种方法二选一,配置parcel
  2. Navigation bar - 导航条
  3. 点击navigation bar 的parcel图标或者点击 Hosts 然后点击 Parcels 标签
  4. 点击 Configuration 按钮
  5. Menu - 菜单
  6. 选择 Administration (管理) -> Settings (设置)
  7. 选择 Category  > Parcels
  8. Remote Pacel Respository URLs 点击添加按钮,并添加。
  9. 填上parcel地址,比如  http://<web_server>/cloudera-parcels/cdh6/6.2.0/
  10. 填写 Reason for change  变更原因,点击 Save Changes 提交保存。

做好集群规划

CM使用两台、hdfs至少3台,kafka至少3台。

配置一台软件仓库服务器,仅仅在安装和升级的时候使用一次即可。固定hostname=bd000.mybd.com

使用本地包仓库部署安装

安装教程参考:

Step 4: Install and Configure Data

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Linux Docker离线安装部署需要以下步骤: 1. 在联网环境下,下载Docker安装包和相关依赖包,可以使用命令:sudo apt-get install docker.io 2. 将下载好的Docker安装包和相关依赖包复制到离线环境的某个目录下。 3. 在离线环境使用命令:sudo dpkg -i 安装包名,安装Docker和相关依赖包。 4. 安装完成后,使用命令:sudo systemctl start docker,启动Docker服务。 5. 使用命令:sudo docker run hello-world,测试Docker是否安装成功。 6. 如果需要使用Docker镜像,可以将镜像文件复制到离线环境使用命令:sudo docker load -i 镜像文件名,加载镜像。 7. 使用命令:sudo docker run 镜像名,启动容器。 注意事项: 1. 离线环境需要安装Docker版本和相关依赖包版本需要与联网环境下载的版本一致。 2. 离线环境需要安装Docker版本和相关依赖包版本需要与操作系统版本兼容。 3. 在离线环境安装Docker和相关依赖包时,可能会遇到依赖关系问题,需要手动安装依赖包。 <br>### 回答2: Docker是一种容器化技术,可以在其运行各种应用程序。如果要在没有网络连接的情况下安装部署Docker,可以使用离线安装方式。下面是一些关于Linux Docker离线安装部署的步骤: 1. 获取Docker二进制文件 在一个连接互联网的计算机上,可以通过官方网站或镜像站点下载适用于Linux系统的Docker二进制文件,然后将它们拷贝到没有网络连接的计算机上。 2. 安装DockerDocker二进制文件拷贝到需要安装Docker的计算机上后,通过sudo命令运行dockerd,启动Docker守护进程。然后使用docker命令测试Docker是否安装成功。 3. 配置Docker离线安装的情况下,可能需要为Docker配置所需的镜像、存储库和网络。可以通过以下步骤来完成配置: - 创建私有Docker注册表 - 拷贝所需的Docker镜像文件到Docker注册表 - 配置Docker客户端以使用私有注册表 - 配置Docker网络 4. 运行Docker容器 在安装配置Docker后,可以通过Docker容器运行应用程序。可以使用Dockerfile创建Docker镜像,然后利用docker run命令对容器进行操作。运行Docker容器可以采用以下命令: - sudo docker run -itd --name container_name image:tag 其,-itd表示以交互式和后台模式运行容器,--name指定容器名称,image:tag指定所需的Docker镜像文件。 总之,对于需要在没有网络连接的计算机上安装部署Docker的用户,可以采用离线安装方式。通过拷贝Docker二进制文件、安装Docker配置Docker和运行Docker容器,可以轻松地完成Linux Docker离线安装部署的任务。 <br>### 回答3: Docker是一种快速创建、部署和运行应用程序的开源容器化平台,它允许用户在隔离的容器运行应用程序。Docker离线安装部署可以在没有网络连接或网络连接不稳定的情况下进行安装,而且具有快速、简便、可重复性好等优点。以下是基于Linux操作系统的docker离线安装部署流程: 1. 下载Docker离线安装包,比如在Docker官网上下载一个tar包。 2. 构建一个离线安装镜像,将下载的离线安装包复制到镜像。 3. 上传镜像到目标服务器。可以使用FTP、rsync等工具将镜像复制到目标服务器。也可以借助U盘、光盘等存储介质进行传输。 4. 在目标服务器上加载镜像,使用如下命令进行加载: docker load -i /path/to/your/image.tar 5. 安装完成后,使用如下命令查看安装的版本: docker version 6. 启动Docker服务,使用如下命令启动Docker: systemctl start docker 7. 确认Docker是否已经成功安装,在终端上输入以下命令,若能正常输出,则表明Docker已经可以正常使用docker run hello-world 8. 如果需要安装其他Docker镜像,可以使用docker pull命令进行下载。如: docker pull centos 到这里,Docker离线安装部署就已经完成了。值得注意的是,在没有网络连接的情况下无法通过Docker Hub下载和安装Docker镜像,所以需要在离线环境下构建自己的Docker镜像进行部署使用

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值