Dcos环境步骤搭建

Dcos环境步骤搭建

1DCOS介绍

·        DC/OS(DataCenter 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 nodes的tcp端口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个或以上节点。并且最少分区/var有10G的空间。因为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

#确保LANG为en_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环境搭建成功

时间: 2024-12-25 21:31:46

Dcos环境步骤搭建的相关文章

Eclipse Android开发环境的搭建步骤及注意事项

作者:不完整 Email:[email protected] qq: 915043835 前言 作为一个初学者,在进行Eclipse android开发环境的搭建中耗费了挺长的时间.虽然网上有很多关于开发环境搭建的演示讲解,但是参照这些演示讲解进行操作的过程中还是出现了很多问题.因此,整理自己的开发环境搭建过程,供有需要的小白们共同学习借鉴. 步骤概要 第一步:下载安装JDK. 第二步:配置Windows上JDK的变量环境. 第三步:下载ADT bundle(集成ADT的Eclipse开发环境)

scikit-learn 和pandas 基于windows单机机器学习环境的搭建

很多朋友想学习机器学习,却苦于环境的搭建,这里给出windows上scikit-learn研究开发环境的搭建步骤. Step 1. Python的安装 python有2.x和3.x的版本之分,但是很多好的机器学习python库都不支持3.x,因此,推荐安装2.7版本的python.当前最新的python是2.7.12.链接如下: https://www.python.org/downloads/release/python-2712/ 里面可以看到有32位版和64位版的.如果你的机器是64位版的

Java开发和运行环境的搭建

Java开发需要准备的东西? JDK+Eclipse 其中JDK的意思是Java开发工具包,Eclipse是进行用于做Java程序开发的工具(当然你也可以用记事本什么的去做). 其他开发工具:JCreator,JBuilder,... jdk的介绍和安装教程度娘里面到处都是,这里自己也在啰嗦一下吧. 关于jdk的详细介绍: JDK是Java Development Kit的缩写,即Java开发工具集.JDK是整个Java的核心,包括了Java运行环境(JRE).Java开发工具和Java基础类库

CentOS上Hadoop环境的搭建与管理

please down load the attachment 编辑日期:2015年9月1日 实验要求:完成Hadoop平台安装部署.测试Hadoop平台功能和性能,记录实验过程,提交实验报告.1)    掌握Hadoop安装过程2)    理解Hadoop工作原理3)    测试Hadoop系统的可扩展性4)    测试Hadoop系统的稳定性一.先决条件确保在集群中的每个节点上都安装所有必需软件:JDK ,ssh,Hadoop (2.6.0).1)JDK,必须安装(版本1.7以上),建议选择

从svn签下代码以及集成开发环境的搭建详细过程

在经过几次的从svn上签下来代码的经历之后,终于总结出了详细的步骤 在upupw/htdocs下建立新的文件夹(此处根据你服务器的根目录而变),此处为bpb1027 ,再右键,选择SVN Checkout 填入内网或外网访问SVN的地址,后面要加个/trunk(主干开发) SVN 主干(trunk).分支(branch ).标记(tag)的不同 trunk:是用来做主方向开发的,一个新模块的开发,这个时候就放在trunk,当模块开发完成后,需要修改,就用branch. branch:是用来做并行

Linux平台下Java_Android开发环境的搭建

Linux 平台下安装JDK .Eclipse .Android SDK 说明 开发工具需自行去下载,此处就不再累述 该教程安装环境为 Ubuntu 14.04 x64 其他Linux操作方式基本相同 设计文件修改部分,请先备份要修改的文件,避免操作失误导致不能还原 Liunx 平台下区分大小写,输入文件名或路径建议复制避免不必要的错误 部分操作涉及root权限,为了避免麻烦 请直接使用 root权限操作 开启root权限: 1. sudo su root 2. 后面的提示中输入用户密码 安装

【2014】【辛星】【php】【秋季】【1】php开发环境的搭建

**************************什么是开发环境*********************** 1.我们学习PHP,是使用它来做web用的,通俗理解,就是做网站. 2.网站的运行需要一定的条件,比如它需要服务器.数据库等环境,当然还需要一个操作系统来支撑他们的运行. 3.我们在学习阶段,就需要模拟这个网站的运行环境,但是我们是在开发阶段,也就是所谓的"开发环境". *****************搭建环境前的选择***************************

MAC下Android的Eclipse开发环境的搭建

一.Eclipse的下载 到网站:http://www.eclipse.org/downloads/ 上,由于我们是用Java开发的所以步骤如下: 找到"Eclipse IDE for java Developers"此处右上角会根据你当前使用的系统自动选择,Mac下就会自动选择位"Mac OS X(Cocoa)" 然后点击右边的"Mac OS X 64bit"(这里我的Pro是i5处理器可以用64位的),根据你的机器也可以选择"Mac

【读书笔记】UEFI原理与编程(1)概述及开发环境的搭建

一.概述: 0.为什么会有这篇文章 说实在的,在2016初的时候,我就萌生了写一个操作系统的念头,但是这对于我一个菜鸟来说,犹如登天. 既然想了就去写,即使最后做不完,也不后悔. 抱着这样的念头,我开始查阅各种写操作系统的书,最后我得出的结论就是,先试着写一个BootLoader,就这样作为BIOS的继任者,UEFI进入了我的研究范围. 为什么选择UEFI呢,主要有两个方面的考虑: 一个是UEFI的功能极其强大 另一个是这是项新技术,掌握了它,或许会为以后的工作等机会提供一定的帮助吧! 1.图书