CentOS 7.2安装DCOS 详解(2)

在 Linux中有一件很美妙的事情,就是你可以在一个运行的系统中恢复系统,而不需要用boot-cd来专门引导。当然,如果你的系统已经挂掉不能启动了, 你可以用Live CD来启动,效果是一样的。你还可以用一个命令把Linux系统中的所有文件干掉,当然在这里我不打算给出这个命令!

使用下面的命令来恢复系统:
# tar xvpfz backup.tgz -C /

如果你的档案文件是使用Bzip2压缩的,应该用:
# tar xvpfj backup.tar.bz2 -C /

注意:上面的命令会用档案文件中的文件覆盖分区上的所有文件。

执行恢复命令之前请再确认一下你所键入的命令是不是你想要的,执行恢复命令可能需要一段不短的时间。

恢复命令结束时,你的工作还没完成,别忘了重新创建那些在备份时被排除在外的目录:
# mkdir proc
 # mkdir lost+found
 # mkdir mnt
 # mkdir sys
等等

当你重启电脑,你会发现一切东西恢复到你创建备份时的样子了!

2. 本文分析内容安排

1.关闭firewalld和selinux
2.ssh免密码登录
3.时间同步
4.安装overlay模块
5.安装docker
6.安装dcos

3. 关闭firewalld和selinux

所有机器上执行systemctl stop firewalld && systemctl disable firewalld
执行firewall-cmd --state查看firewalld是否成功关闭,应该显示not running

所有机器执行setenforce 0,sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config,重启后输入sestatus查看selinux状态,此时应该显示disabled

4. ssh免密码登录

在boot节点上执行ssh-keygen -t rsa生成密钥
执行ssh-copy-id -i 10.107.x.x分别将私钥复制到其他要免密钥登陆的机器

5. 时间同步

参考

6. 安装overlay模块

执行命令

tee /etc/modules-load.d/overlay.conf <<-'EOF' overlay EOF

并重启将overlay模块加载如系统中,并执行lsmod | grep overlay查看是否加载成功,成功应该显示overlay 42451 0

7. 安装docker

首先,通过rpm或者yum install的方式安装docker,在没网的情况下需要先下载docker安装相关的rpm包;之后,设置docker的存储为overlay,具体应该执行如下脚本:

mkdir -p /etc/systemd/system/docker.service.d && tee /etc/systemd/system/docker.service.d/override.conf <<- EOF [Service] ExecStart= ExecStart=/usr/bin/docker daemon --storage-driver=overlay EOF

改变配置后需要执行systemctl daemon-reload命令使配置生效;
这时便可以启动docker了,如下:

systemctl start docker systemctl enable docker

最后,运行docker info命令查看是否正常安装docker,并且存储用的是overlay,正确情况时显示如下图

CentOS 7.2安装DCOS 详解

8. 安装dcos

在boot节点上下载dcos的installer:dcos_generate_config.sh(大约726MB),同时在与dcos_generate_config.sh文件同级目录下新建genconf目录,我是在/home/dcos目录下建的

mkdir -p genconf
cd genconf

在genconf中新建一个ip-detect文件,用于探测集群中节点的ip,我使用的文件内容为

#!/bin/bash echo $(ip addr s | grep inet | grep 10.107 | awk -F' ' '{print $2}'| awk -F'/' '{print $1}')

这里不能写错,因为该文件内容最终会被拷贝到master和agent节点的/opt/mesosphere/bin/detect_ip中,在第9步启动dcos服务时用来探测ip。如果,写错将不能正常启动集群,报如下错误

time="2017-01-13T00:57:22+08:00" level=info msg="/opt/mesosphere/etc/endpoints_config.json not found" time="2017-01-13T00:57:22+08:00" level=error msg="Could not detect IP: fork/exec /opt/mesosphere/bin/detect_ip: exec format error" time="2017-01-13T00:57:22+08:00" level=error msg="Could not get mesos node id: Get :5051/state: dial tcp :5051: getsockopt: connection refused" time="2017-01-13T00:57:22+08:00" level=fatal msg="Found unhealthy systemd units"

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/2137a9595de6406e146a1e9822903493.html