Dcos环境步骤搭建

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dcos环境步骤搭建相关的知识,希望对你有一定的参考价值。

Dcos环境步骤搭建

1DCOS介绍

·        DC/OSDataCenter Operating System)是以Apache Mesos 为分布式系统内核的分布式数据中心操作系统

·        DC/OS可以使企业像使用一台主机一样使用分布式数据中心的多个集群资源,进行弹性地扩容与缩容

·        DC/OS实现资源自动化管理、进程调度、方便内部进程通讯、简化分布式服务的安装和管理

·        DC/OS提供网页界面和 CLI ,方便对集群和其中的服务进行远程地管理和监控

2、节点介绍

   Dcos环境分为三个节点, bootstrapnodemaster nodesagent nodesslave nodes)。

·          bootstrap node

操作系统硬件资源符合最低CPU  2 Cores、内存16 GB RAM、硬盘60 GB HDD。并需要遵从TCP/IP协议,必须和master nodestcp端口80, 443, 8080, 8181, 2181, 5050要通信。

注:bootstrap 节点是不再dcos节点范畴内。

·        master nodes

最小配资源

最大支持资源

Nodes: 1
  OS: RHEL/CentOS 7.2
  Processor: 4 cores
  Memory: 32 GB RAM
  Hard disk space: 120 GB

Nodes: 3
  OS: RHEL/CentOS 7.2
  Processor: 4 cores
  Memory: 32 GB RAM
  Hard disk space: 120 GB

master nodes 最少一个节点,最多3个节点

·        agent nodesslave nodes

最小配资源

最大支持资源

Nodes: 1
  OS: RHEL/CentOS 7.2
  Processor: 2 cores
  Memory: 16 GB RAM
  Hard disk space: 60 GB

Nodes: 6 or more
  OS: RHEL/CentOS 7.2
  Processor: 2 cores
  Memory: 16 GB RAM
  Hard disk space: 60 GB

slave nodes 一个节点,最多6个或以上节点。并且最少分区/var10G的空间。因为docker需要的到这个,dokcer容器,镜像都是在这个目录下。

3、防火墙设置

对于RHEL 7 CentOS 7操作系统,必须要把firewalld防火墙关闭掉,firewalld的防火墙和docker之间并不友好,注意的是不要把iptables关了,因为docker容器和宿主机之前通信是要用到iptables的功能。各个节点都要关闭firewalld

 

# sudo systemctl stop firewalld &&sudo systemctl disable firewalld

4DC/OS目录介绍

      dc/os安装完成后的目录在/opt/mesosphere,该节点正确并需要存在,不能是一个单独的LVM逻辑卷或者共享存储。

     Master nodes slave nodes存放的重要信息放在/var/lib/mesos目录

        /tmp目录挂在属性不能有noexec,因为后续要在/tmp目录下创建一个目录并运行一个脚本。

         注意:目录/var/lib/mesos和目录/var/lib/docker不能远程挂载。

5、端口和协议网络配置

·        所有节点相互之间能SSH连接。

·        所有节点相互之间能ICMP连接。

·        所有节点相互之间的网络能访问bootstrap node连接。

·        UDP端口53必须打开。Agent node slave node)的服务dcos-mesos-slave会使用53端口会找leader.mesos

·        高速率访问:最低速率要10 Mbit。其中安装完后/opt/mesosphere/etc/mesos-slave-common目录里面的MESOS_EXECUTOR_REGISTRATION_TIMEOUT参数定义最低速率为10 Mbit

6、初始化脚本配置

         初始化脚本

 

 安装在DC/OS mastersand agents 上。(请看附件)

7docker配置

         适用于所有节点的docker配置

·        1.7.x

·        1.8.x

·        1.9.x

·        1.10.x

·        1.11.x

注意重要: 版本 1.12.x 不支持。我原先就在这里跳了一个大坑。

·          Virtual networks 要求 Docker1.11.

8sudo权限配置

         更改这个文件/etc/sudoers,如下一行。如需要给yingjiahulian这个普通用户使用sudo免密码。即所有节点都操作,包括bootstrap节点。

%yingjiahulian ALL=(ALL) NOPASSWD: ALL

9NTP开启

         所有节点需要NTP时钟同步

     

 #sudoyum install -y ntpdate ntp

  #ntptime

 #adjtimex –p&&timedatectl

10、安装docker

备注:从第10步开始,有些步骤是不是必须的,因为第6步的初始化脚本里的步骤包括了的。详细查看第6步的脚本内容。所有节点都需要操作,包括bootstrap节点。

查看 kernel is atleast 3.10:

1.uname -r

3.10.0-327.10.1.el7.x86_64

2.    开启 OverlayFS模块

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

3.    重启并加载模块

reboot

4.    查看 OverlayFS是否开启

lsmod | grep overlay
overlay

5.    配置Docker yum :

sudo tee /etc/yum.repos.d/docker.repo <<-‘EOF‘
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF

6.    Configure systemd     to run theDocker Daemon with OverlayFS:

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

7.    Install the Docker     engine,daemon, and service.

Important: Docker version 1.12.x isnot supported.

sudo yum install -y docker-engine-1.11.2
sudo systemctl start docker
sudo systemctl enable docker

When the process completes, you should see:

Complete!

Created symlink from /etc/systemd/system/multi-user.target.wants/docker.serviceto/usr/lib/systemd/system/docker.service.

8.    Test that Docker     is properlyinstalled:

 sudo docker ps

11pull下载nginx

#该操作只在bootstrap节点上操作.

#sudo docker pull nginx

12、其他操作

#所有节点操作,包括bootstrap节点。

#sudo yum install -y tar xz unzip curl ipset
#sudo sed -is/SELINUX=enforcing/SELINUX=permissive/g /etc/selinux/config &&
sudogroupadd nogroup &&
sudo reboot

#确保LANGen_US.utf-8

13dc/os安装开始

备注:13-18步都是在bootstrap节点上操作。

如下是官网的给出目录作用列表

The DC/OS installation createsthesefolders:

Folder

Description

/opt/mesosphere

Contains all the  DC/OS binaries, libraries,  cluster configuration. Do not modify.

/etc/systemd/system/dcos.target.wants

Contains the  systemd services which start the  things that make up systemd. They must  live outside of /opt/mesospherebecause  of systemd constraints.

/etc/systemd/system/dcos.<units>

Contains copies  of the units in/etc/systemd/system/dcos.target.wants.  They  must be at the top folder as well as inside dcos.target.wants.

/var/lib/dcos/exhibitor/zookeeper

Contains  the ZooKeeper data.

/var/lib/docker

Contains the  Docker data.

/var/lib/dcos

Contains the  DC/OS data.

/var/lib/mesos

Contains the  Mesos data.

 

14、创建genconf目录

#sudo mkdir -p genconf

15、创建genconf/config.yaml文件

官网的列子是这样

#vim genconf/config.yaml
---
bootstrap_url:http://<bootstrap_ip>:<your_port>
cluster_name:‘<cluster-name>‘
exhibitor_storage_backend:static
ip_detect_filename:/genconf/ip-detect
master_discovery:static
master_list:
-<master-private-ip-1>
-<master-private-ip-2>
-<master-private-ip-3>
resolvers:
-8.8.4.4
-8.8.8.8
use_proxy:‘true‘
http_proxy:http://<user>:<pass>@<proxy_host>:<http_proxy_port>
https_proxy:https://<user>:<pass>@<proxy_host>:<https_proxy_port>
no_proxy:
-‘foo.bar.com‘
-‘.baz.com‘

我这里部署的时候文件内容

---
bootstrap_url:http://192.168.30.37:8799
cluster_name:‘bingo_cluster‘
exhibitor_storage_backend:static
ip_detect_filename:/genconf/ip-detect
master_discovery: static
master_list:
- 192.168.30.30
resolvers:
- 192.168.30.37
- 8.8.8.8
 
查看resolv
$ cat /etc/resolv.conf 
# Generated byNetworkManager
search example
nameserver 192.168.30.37
nameserver 8.8.8.8

16、创建genconf/ ip-detect文件

# vim genconf/ip-detect
#!/usr/bin/env bash
set -onounset -o errexit
exportPATH=/usr/sbin:/usr/bin:$PATH
echo$(ip addr show eno33557248| grep -Eo ‘[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}‘ |head -1)

备注:eno33557248 为各节点通信的网卡名字

17、下载 并运行DC/OS 安装包脚本

sudo curl -O \
https://downloads.dcos.io/dcos/stable/dcos_generate_config.sh

 

#sudo bashdcos_generate_config.sh

运行万结构后目录结构应该这样

├──dcos-genconf.<HASH>.tar

├──dcos_generate_config.sh

├──genconf

│   ├── config.yaml

│   ├── ip-detect

18、启动nginx容器资源

#sudo docker run -d -p 8799:80 -v \
$PWD/genconf/serve:/usr/share/nginx/html:ronginx
#sudo docker images
#sudo docker ps

并查看本机8799端口是否启用

$ netstat -tlnpu|grep 8799
(No info could be read for "-p":geteuid()=1001 but you should be root.)
tcp6      0      0 :::8799                :::*                   LISTEN      -

19master节点配置

$sudo mkdir /tmp/dcos&& cd /tmp/dcos
$ sudo curl -O http://192.168.30.37:8799/dcos_install.sh
$ sudo bash dcos_install.shmaster

20agentslave)节点配置

$sudo mkdir /tmp/dcos&& cd /tmp/dcos
$ sudo curl -O http://192.168.30.37:8799/dcos_install.sh
$ sudo bash dcos_install.shslave

22dc/os环境搭建成功

 

 


本文出自 “蚂蚱小子” 博客,谢绝转载!

以上是关于Dcos环境步骤搭建的主要内容,如果未能解决你的问题,请参考以下文章

ionic环境搭建详细步骤

Linux环境下SolrCloud集群环境搭建关键步骤

LAMP环境搭建基本步骤

利用Docker搭建本地https环境的完整步骤

Unity发布成Android包的环境搭建步骤

Linux环境下HDFS集群环境搭建关键步骤