***注意,主机名应和IP地址一致(此为dcos和k8s DNS访问要求,本身只安装DCOS不需要)
hostnamectl --static set-hostname10.1.24.173
1.环境准备
注意!启动节点必须要单独一台,不能和master节点混用,另外master节点也必须是单独一台,不能和slave节点混用。boot节点以后如果DCOS崩溃的时候还可以用来恢复集群。
- 单独一台boot节点
- 单独一台master节点
- 3台slave节点
操作系统都要centos7以上版本,集群节点间网络要能互通,boot节点到其他节点要做ssh互信,所有节点都要关闭selinux和防火墙。
Master节点要可以上网。因为在安装dcos的时候,会更新软件和相关插件
先检查DNS是否可用,(ping百度)
ping baidu.com
然后查看ip
ifconfig
如果ping不同需要修改网络服务DNS
cd /etc/sysconfig/network-scripts
vi /etc/resolv.conf
DNS样例
nameserver202.96.128.86
nameserver202.96.128.166
nameserver 8.8.8.8
nameserver 8.8.4.4
修改完重启网卡服务
service network restart
traceroute202.108.22.5
如果是新装的机器,可以方便配置修改主机名
主机名配置文件一
vi /etc/sysconfig/network
样例
HOSTNAME=master
HOSTNAME=slave1
HOSTNAME=slave2
HOSTNAME=slave3
HOSTNAME=slave4
主机名配置文件二
vi /etc/hosts
样例
10.1.131.11master
10.1.131.12slave1
10.1.131.13slave2
10.1.131.14slave3
10.1.131.15slave4
2需要boot节点到所有其他,master,slave节点的免验证登录
第一步:创建ssh-key
ssh-keygen-t rsa
说明:多次回车后
第二步:cd ~/.ssh
说明:
~代表你的/home/用户明目录
假设你的用户名是x,那么~/就是/home/x/
.是代表此目录本身,但是一般可以不写
所以cd ~/. 和cd ~ 和cd ~/效果是一样的
但是.后面有东西又是另外一个问题,点在文件名头部,代表一个隐藏文件
~/.local是你的主目录下一个.local的文件夹的路径,并且从.可以看出,这是一个饮藏文件,如果不用ls -a的话,一般ls是无法看到的
拷贝公钥
第三步:cat id_rsa.pub >>authorized_keys
测试公钥
第六步:输入如下命令,测试是否成功
sshlocalhost
输入yes后
再次 ssh localhost
本地主机自己的免登陆就完成了,接下来是其他主机免登陆,方法同上,依次拷贝添加
cd~/.ssh
分发公钥到其他节点
scp./id_rsa.pub hadoop-slave:~/.ssh/id_master.pub
sshhadoop-slave1
cd~/.ssh
catid_master.pub >> authorized_keys
3关闭防火墙
systemctlstop firewalld.service
systemctldisable firewalld.service
systemctlstop iptables.service
systemctldisable iptables.service
4关闭SELINUX
setenforce0
sed-i'/^SELINUX=/c\SELINUX=disabled' /etc/selinux/config
2.安装overlayFS docker
**注意!**DCOS默认底层存储引擎要用overlayFS格式的,如果是按照devicemapper方式安装的docker在安装DCOS的时候会报错,提示服务器存储空间不够docker启动不起来,这个问题搞了好久,最后还是按照官方的要求重新安装docker才解决。另外说一下所有的节点都需要安装docker,包括boot节点。
建立overlay配置文件
tee/etc/modules-load.d/overlay.conf <<-'EOF'
overlay
EOF
验证overlayFS是否开启
命令:lsmod | grep overlay
结果:overlay
6配置docker启动使用overlayFS的方式
mkdir -p/etc/systemd/system/docker.service.d && sudo tee/etc/systemd/system/docker.service.d/override.conf <<- EOF
[Service]
ExecStart=
ExecStart=/usr/bin/dockerdaemon --storage-driver=overlay
EOF
7升级系统内核
7.1如果你直接安装的是centos7.2就不用升级了
yumupgrade--assumeyes--tolerantyumupdate--assumeyes
7.2 验证系统内核是3.1以上版本
uname -r
3.10.0-327.10.1.el7.x86_64
7.3打开 OverlayFS
tee /etc/modules-load.d/overlay.conf <<-'EOF'
overlay
EOF
7.4 重启系统
reboot
7.5 验证overlayFS是否开启
$ lsmod | grep overlay
overlay
8 配置docker yum源
这个版本的yum 用centos自带的yum源就不行了,需要加一个repo文件
tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
9 配置docker启动使用overlayFS的方式
mkdir -p/etc/systemd/system/docker.service.d&& sudo tee /etc/systemd/system/docker.service.d/override.conf <<- EOF
[Service]
ExecStart=
ExecStart=/usr/bin/dockerdaemon --storage-driver=overlay -H fd://
EOF
*********注意!需要查询官网dcos现有版本支持那种版本的docker,博主一开始用的最新版本1.12的docker结果安装各种问题,降级为1.11的docker就没有问题,官网上当时支持到1.11版本的docker。
yum install -y docker-engine-1.11.2
10 安装启动docker
systemctl restartdocker
systemctlenabledocker
如果启动成功的话,应该能看到
Complete!
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
11 测试docker安装成功否
dockerps
3.在boot节点上下载DCOS安装文件
这个安装文件大概500多m,500多m的sh文件,很奇怪吧:)其实是官方把安装镜像也包里边去了,只要下一个这个就够了。
curl -O https://downloads.dcos.io/dcos/EarlyAccess/dcos_generate_config.sh
12.运行安装脚本
bashdcos_generate_config.sh--web
输出结果
Running mesosphere/dcos-genconf docker withBUILD_DIR setto /home/centos/genconf
16:36:09 dcos_installer.action_lib.prettyprint::====> Starting DC/OS installer in web mode
16:36:09 root:: Starting server ('0.0.0.0', 9000)
万一启动失败了,你可以用这个命令看更精细的输出,方便调试
bash dcos_generate_config.sh --web
13.进入web安装界面
http://boot节点IP:9000