logo资料库

CDH docker镜像构建、管理.docx

第1页 / 共59页
第2页 / 共59页
第3页 / 共59页
第4页 / 共59页
第5页 / 共59页
第6页 / 共59页
第7页 / 共59页
第8页 / 共59页
资料共59页,剩余部分请下载后查看
1.CentOS-6安装docker
1.1.系统要求
1.2.内核升级
1.1.1.下载地址
1.1.2.内核包
1.1.3.依赖包
1.1.4.安装内核
1.1.5.修改/etc/grub.conf
1.3.卸载旧版
1.4.添加安装源
1.5.在线安装docker-engine
1.5.1.安装docker
1.5.2.启动/停止/查看docker
1.5.3.设置开机启动
1.6.离线安装docker-engine
1.6.1.下载地址
1.6.2.安装包
1.6.3.依赖包
1.6.4.安装docker-engine
2.CentOS-6安装mesos+marathon+zk
2.1.前期准备
2.1.1.关闭SELinux
2.1.2.关闭防火墙
2.1.3.配置hosts
2.1.4.安装java
2.2.离线安装zookeeper
2.2.1.下载地址
2.2.2.安装包
2.2.3.安装zookeeper
2.2.4.配置zookeeper
2.2.5.注册zookeeper服务
2.2.6.启动/停止/查看zookeeper
2.2.7.设置zookeeper开机自启
2.2.8.查看开机自启服务
2.3.离线安装mesos
2.3.1.下载地址
2.3.2.安装包
2.3.3.依赖包
2.3.4.安装mesos
2.3.5.配置mesos-master
2.3.6.配置mesos-slave
2.3.7.其他
2.4.离线安装marathon
2.4.1.下载地址
2.4.2.2.安装包
2.4.3.安装marathon
2.4.4.配置marathon
2.4.5.注册marathon服务
2.4.6.启动/停止/查看marathon
2.4.7.设置marathon开机自启
2.4.8.查看开机自启服务
3.CentOS-7安装docker
3.1.系统要求
3.2.卸载旧版
3.3.添加安装源
3.4.在线安装docker-ce
3.4.1.安装所需的软件包
3.4.2.更新 yum 软件包索引
3.4.3.列出可用版本
3.4.4.安装最新版本的 Docker CE
3.5.离线安装docker-ce
3.5.1.下载地址
3.5.2.安装包
3.5.3.依赖包
3.5.4.安装docker-ce
3.5.5.重载docker配置
3.5.6.启动/停止/查看docker
3.5.7.设置开机启动
3.5.8.查看docker
3.5.9.其他
3.6.配置Docker使用devicemapper
3.6.1.创建一个物理卷
3.6.2.创建一个”docker”卷组
3.6.3.创建一个名为thinpool的存储池
3.6.4.转换存储池
3.6.5.配置存储池
3.6.6.应用新lvm配置
3.6.7.验证lv是否受监控
3.6.8.移动备份旧的驱动数据
3.6.9.配置devicemapper选项
3.6.10.查看devicemapper结构
3.6.11.重启docker
3.7.配置Docker私有仓库Registry
3.7.1.拉取registry镜像
3.7.2.启动registry容器
3.7.3.添加仓库地址
3.7.4.重启docker
3.7.5.推送镜像到仓库
3.7.6.查看Registry中镜像
3.8.镜像操作
3.8.1.镜像查看
3.8.2.镜像导出
3.8.3.镜像导入
3.8.4.修改镜像标签
3.8.5.镜像删除
4.CentOS-7安装mesos+marathon+zk
4.1.前期准备
4.1.1.关闭防火墙
4.1.2.其他
4.2.添加安装源
4.3.在线安装zookeeper
4.3.1.安装zookeeper
4.3.2.配置zookeeper
4.3.3.启动/停止/停止zookeeper
4.3.4.查看zookeeper启动日志
4.3.5.设置开机启动
4.4.在线安装mesos
4.4.1.安装mesos
4.4.2.配置mesos
4.4.3.启动/停止/查看mesos-master
4.4.4.设置mesos-master开机启动
4.4.5.启动/停止/查看mesos- slave
4.4.6.设置mesos-master开机启动
4.5.在线安装marathon
4.5.1.安装marathon
4.5.2.配置marathon
4.5.3.启动/停止/marathon
4.5.4.设置开机启动
4.6.离线安装zookeeper
4.6.1.下载zookeeper
4.6.2.安装包
4.6.3.依赖包
4.6.4.安装zookeeper
4.6.5.配置zookeeper
4.7.离线安装mesos
4.7.1.下载地址
4.7.2.安装包
4.7.3.依赖包
4.7.4.安装mesos
4.7.5.配置mesos
4.8.离线安装marathon
4.8.1.下载marathon
4.8.2.安装包
4.8.3.安装marathon
4.8.4.配置marathon
5.CentOS-7安装kubernetes+etcd
5.1.前期准备
5.1.1.配置hosts
5.1.2.其他
5.2.添加安装源
5.2.1.添加etcd安装源
5.2.2.添加kubernetes安装源
5.3.在线安装etcd
5.3.1.安装etcd
5.3.2.配置etcd
5.3.3.启动/停止/查看etcd
5.3.4.设置开机启动
5.3.5.查看etcd启动日志
5.3.6.查看etcd集群节点
5.3.7.查看etcd集群状态
5.4.在线安装kubernetes
5.4.1.安装kubernetes
5.4.2.配置kubernetes
5.4.3.master节点启动服务
5.4.4.master节点开机启动
5.4.5.slave节点启动服务
5.4.6.slave节点开机启动
5.4.7.验证kubernetes集群
5.5.离线安装etcd
5.5.1.下载地址
5.5.2.安装包
5.5.3.安装etcd
5.5.4.配置etcd
5.6.离线安装kubernetes
5.6.1.下载地址
5.6.2.安装包
5.6.3.依赖包
5.6.4.安装kubernetes
5.6.5.配置kubernetes
6.CentOS-7安装consul
6.1.前期准备
6.1.1.配置hosts
6.1.2.安装工具包
6.1.3.关闭防火墙
6.2.离线安装consul
6.2.1.下载地址
6.2.2.安装包
6.2.3.安装consul
6.2.4.配置consul
6.2.5.配置Syslog日志
6.2.6.注册consul服务
6.2.7.启动/停止/查看consul
6.2.8.设置开机启动
7.docker跨主机通信
7.1.前期准备
7.2.Docker配置
7.2.1.配置启动参数
7.2.2.配置docker服务
7.2.3.重启docker
7.3.创建overlay网络
8.centos-ssh镜像构建
8.1.Dockerfile内容
8.2.构建命令
9.java镜像构建
9.1.前期准备
9.2.Dockerfile内容
9.3.构建命令
10.mysql镜像构建
10.1.前期准备
10.2.supervisord.conf内容
10.3.mysql-config.sh内容
10.4.Dockerfile内容
10.5.其他文件
10.6.构建命令
11.CDH从节点镜像构建
11.1.前期准备
11.2.limits.conf内容
11.3.rclocal.conf内容
11.4.supervisord.conf内容
11.5.scm-config.sh内容
11.6.Dockerfile内容
11.7.其他文件
11.8.构建命令
12.CDH主节点镜像构建
12.1.前期准备
12.2.scm-config.sh内容
12.3.scm-prepare-db.sh内容
12.4.Dockerfile内容
12.5.构建命令
13.启动mysql容器
13.1.在主机创建目录
13.2.启动mysql容器
14.启动CDH节点
14.1.前期准备
14.2.配置主节点宿主机
14.2.1.创建目录
14.2.2.配置manifest.json
14.2.3.添加parcel-repo包
14.2.4.添加csd包
14.2.5.添加数据库驱动
14.3.启动CDH容器
14.3.1.启动cloudera-master
14.3.2.启动cloudera-slave1
14.3.3.启动cloudera-slave2
14.3.4.启动cloudera-slave3
14.4.CDH配置
1. CentOS-6 安装 docker 1.1. 系统要求 CentOS-6 内核需升级到 3.10 以上。 1.2. 内核升级 1.1.1. 下载地址 http://elrepo.reloumirrors.net/kernel/el6/x86_64/RPMS/ 1.1.2. 内核包 kernel-lt-4.4.154-1.el6.elrepo.x86_64.rpm kernel-lt-devel-4.4.154-1.el6.elrepo.x86_64.rpm kernel-lt-doc-4.4.154-1.el6.elrepo.noarch.rpm kernel-lt-headers-4.4.154-1.el6.elrepo.x86_64.rpm 1.1.3. 依赖包 perl-version-0.77-144.el6.x86_64.rpm perl-Pod-Simple-3.13-144.el6.x86_64.rpm perl-Pod-Escapes-1.04-144.el6.x86_64.rpm perl-Module-Pluggable-3.90-144.el6.x86_64.rpm perl-libs-5.10.1-144.el6.x86_64.rpm perl-5.10.1-144.el6.x86_64.rpm 1.1.4. 安装内核 sudo rpm -ivh *.rpm 1.1.5. 修改/etc/grub.conf sudo vi /etc/grub.conf 如下图:
把 default 改成 0 1.3. 卸载旧版 sudo yum remove docker docker-common docker-selinux docker-engine docker-io 如果 yum 报告未安装任何这些软件包,这表示情况正常。 将保留 /var/lib/docker/ 的内容,包括镜像、容器、存储卷和网络。 1.4. 添加安装源 sudo tee /etc/yum.repos.d/docker.repo <<-'EOF' [dockerrepo] name=Docker Repository baseurl=https://yum.dockerproject.org/repo/main/centos/6/ enabled=1 gpgcheck=1 gpgkey=https://yum.dockerproject.org/gpg EOF 1.5. 在线安装 docker-engine 1.5.1. 安装 docker sudo yum install docker-engine 1.5.2. 启动/停止/查看 docker sudo service docker start sudo service docker stop sudo service docker status
1.5.3. 设置开机启动 sudo chkconfig docker on 1.6. 离线安装 docker-engine 1.6.1. 下载地址 https://yum.dockerproject.org/repo/main/centos/6/Packages/ 1.6.2. 安装包 docker-engine-1.7.1-1.el6.x86_64.rpm 1.6.3. 依赖包 xz-4.999.9-0.5.beta.20091007git.el6.x86_64.rpm libcgroup-0.40.rc1-26.el6.x86_64.rpm 1.6.4. 安装 docker-engine sudo rpm -ivh *.rpm 2. CentOS-6 安装 mesos+marathon+zk 2.1. 前期准备 2.1.1. 关闭 SELinux sudo vi /etc/selinux/config 将 SELINUX=enforcing 修改为 SELINUX=disabled 重启生效 2.1.2. 关闭防火墙 sudo service iptables stop
2.1.3. 配置 hosts sudo vi /etc/hosts /etc/hosts 内容: 127.0.0.1 ::1 192.168.245.227 192.168.245.228 192.168.245.229 iot-node1 iot-node2 iot-node3 localhost localhost.localdomain localhost4 localhost4.localdomain4 localhost localhost.localdomain localhost6 localhost6.localdomain6 2.1.4. 安装 java 1)卸载 CentOS 自带的 OpenJDK sudo rpm -e --nodeps $(sudo rpm -qa | grep java) sudo rpm -e --nodeps $(sudo rpm -qa | grep gcj) sudo rpm -e --nodeps $(sudo rpm -qa | grep jdk) 2)用 cd 命令进入到 jdk-8u181-linux-x64.tar.gz 所在目录,执行以下命令 sudo tar -zxf jdk-8u181-linux-x64.tar.gz -C /opt sudo mv /opt/jdk1.8.0_181 /opt/java 3)配置环境变量 sudo vi /etc/profile 在/etc/profile 的最后加入以下几行: JAVA_HOME=/opt/java CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME export CLASSPATH export PATH=$PATH:$JAVA_HOME/bin 4)使环境变量生效 source /etc/profile 5)设置 java 软连接 sudo ln -sf /opt/java/bin/java /usr/bin/java sudo ln -sf /opt/java/bin/javac /usr/bin/javac sudo ln -sf /opt/java/bin/javaws /usr/bin/javaws 如果/usr/bin 目录已存在 java、javaws,删除/usr/bin 目录下的 java、javaws 然后执行上面的命令 2.2. 离线安装 zookeeper 2.2.1. 下载地址 http://mirrors.hust.edu.cn/apache/zookeeper/
2.2.2. 安装包 zookeeper-3.4.13.tar.gz 2.2.3. 安装 zookeeper 1)进入到 zookeeper-3.4.13.tar.gz 所在目录 执行解压命令: sudo tar -zxf zookeeper-3.4.13.tar.gz -C /opt 2)修改文件夹名称: sudo mv /opt/zookeeper-3.4.13 /opt/zookeeper 3)创建文件夹: sudo mkdir /opt/zookeeper/data sudo mkdir /opt/zookeeper/logs 2.2.4. 配置 zookeeper 1)每个 master 节点设置不同的 myid 值 在/opt/zookeeper/data/myid 中写入一个 1 到 255 范围的数值,需要注意的是,每个节 点的 myid 不要重复。 sudo vi /opt/zookeeper/data/myid 这里将 3 个 master 节点的 myid 分别设置为:1,2,3 2)修改配置: sudo cp /opt/zookeeper/conf/zoo_sample.cfg /opt/zookeeper/conf/zoo.cfg sudo vi /opt/zookeeper/conf/zoo.cfg 修改 dataDir=/var/lib/zookeeper 为 dataDir=/opt/zookeeper/data 在配置文件/opt/zookeeper/conf/zoo.cfg 中加入下面内容: server.1= iot-node1:2888:3888 server.2= iot-node2:2888:3888 server.3= iot-node3:2888:3888 注意:iot-node1、iot-node2、iot-node3 位主节点主机名 server.后的数字对应 myid 的内容 3)修改 zookeeper 日志路径 sudo vi /opt/zookeeper/bin/zkEnv.sh 找到以下为内容: if [ "x${ZOO_LOG_DIR}" = "x" ] then ZOO_LOG_DIR="." fi 修改为: if [ "x${ZOO_LOG_DIR}" = "x" ] then
ZOO_LOG_DIR="" $ZOOBINDIR/../logs fi 2.2.5. 注册 zookeeper 服务 1)新建一个 zookeeper 脚本 sudo touch /etc/rc.d/init.d/zookeeper 2)给脚本添加执行权限 sudo chmod +x /etc/rc.d/init.d/zookeeper 3)编辑/etc/rc.d/init.d/zookeeper sudo vi /etc/rc.d/init.d/zookeeper /etc/rc.d/init.d/zookeeper 内容: #!/bin/bash #chkconfig:2345 20 90 #description:zookeeper #processname:zookeeper export JAVA_HOME=/opt/java case $1 in start) sudo /opt/zookeeper/bin/zkServer.sh start;; stop) sudo /opt/zookeeper/bin/zkServer.sh stop;; status) sudo /opt/zookeeper/bin/zkServer.sh status;; restart) sudo /opt/zookeeper/bin/zkServer.sh restart;; *) echo "require start|stop|status|restart" ;; esac 2.2.6. 启动/停止/查看 zookeeper sudo service zookeeper start sudo service zookeeper stop sudo service zookeeper status 2.2.7. 设置 zookeeper 开机自启 sudo chkconfig zookeeper on 2.2.8. 查看开机自启服务 sudo chkconfig --list
2.3. 离线安装 mesos 2.3.1. 下载地址 https://open.mesosphere.com/downloads/mesos/ 2.3.2. 安装包 mesos-1.6.1-2.0.1.el6.x86_64.rpm 2.3.3. 依赖包 apr-util-1.3.9-3.el6_0.1.x86_64.rpm apr-util-1.3.9-3.el6_0.1.x86_64.rpm cyrus-sasl-md5-2.1.23-15.el6_6.2.x86_64.rpm gnutls-2.12.23-22.el6.x86_64.rpm libevent-1.4.13-4.el6.x86_64.rpm libevent-devel-1.4.13-4.el6.x86_64.rpm libevent-doc-1.4.13-4.el6.noarch.rpm libevent-headers-1.4.13-4.el6.noarch.rpm libproxy-0.3.0-10.el6.x86_64.rpm libproxy-bin-0.3.0-10.el6.x86_64.rpm libproxy-python-0.3.0-10.el6.x86_64.rpm neon-0.29.3-3.el6_4.x86_64.rpm pakchois-0.4-3.2.el6.x86_64.rpm perl-URI-1.40-2.el6.noarch.rpm subversion-1.6.11-15.el6_7.x86_64.rpm 2.3.4. 安装 mesos 进入到 mesos 安装包和依赖包所在目录执行命令: sudo rpm -ivh *.rpm 2.3.5. 配置 mesos-master 1)每个 master 节点的/etc/mesos/zk 配置文件中设置 zk 的地址 sudo vi /etc/mesos/zk /etc/mesos/zk 内容: zk:// iot-node1:2181, iot-node2:2181, iot-node3:2181/mesos 2)/etc/mesos-master/quorum 中设置 quorum 值
sudo vi /etc/mesos-master/quorum 这个值要大于 master 数/2,这里 master 数为 3,则要设为 2 3)配置 ip、hostname、port sudo vi /etc/mesos-master/ip /etc/mesos-master/ip 内容为当前宿主机 IP sudo vi /etc/mesos-master/hostname /etc/mesos-master/ hostname 也配置当前宿主机 IP 注意:hostname 如果配置主机名,web ui 会出现不停地弹出对话框,“Failed to connect to 192.168.245.227:5050",进行重新连接 也可以修改/etc/default/mesos-master sudo vi /etc/default/mesos-master 显示内容: PORT=5050 ZK=`cat /etc/mesos/zk` 2.3.6. 配置 mesos-slave 1)每个 master 节点的/etc/mesos/zk 配置文件中设置 zk 的地址 sudo vi /etc/mesos/zk /etc/mesos/zk 内容: zk:// iot-node1:2181, iot-node2:2181, iot-node3:2181/mesos 3)配置 ip、hostname sudo vi /etc/mesos-slave/ip /etc/mesos- slave/ip 内容为当前宿主机 IP sudo vi /etc/mesos- slave/hostname /etc/mesos- slave/hostname 也配置当前宿主机 IP 注意:hostname 如果配置主机名,web ui 会出现不停地弹出对话框,“Failed to connect to 192.168.245.227:5050",进行重新连接 4)修改 mesos 容器端口范围 mesos 默认容器端口范围是 31000 - 32000 sudo vi /etc/mesos-slave/resources /etc/mesos-slave/resources 内容: ports(*):[1024-65534] 也可以在 mesos-slave 启动命令后加上: --resources=ports(*):[1024-65534] 注意:mesos- slave 可与 marathon、mesos-master 安装在同一个宿主机 2.3.7. 其他 1)几个配置启动参数的目录: /etc/mesos-master/ /etc/mesos-slave/ /etc/marathon/conf/
分享到:
收藏