配置多mesos-master環境實戰

  • Apache Mesos概述

Apache Mesos是一款基於多資源調度的開源集羣管理套件,使容錯和分佈式系統更加容易使用實現,採用Master/Slave結構簡化設計,將Master儘量輕量級,進保存了Mesos Slave的狀態信息java

常見集羣管理工具

工具 特色 優點
Apache Mesos 須要獨立部署mesos-slave進程;依賴framework的功能;可管理docker容器;成本較高 應爲通過許多互聯網公司的大規模實踐,穩定性具備保障
Docker Swarm Docker 官方羣集工具,須要Docker deamon 啓用tcp端口學習;Swarm的命令兼容Docker;學習成本很是低 公有云環境Machine 和 Swarm 搭配使用效率更高
Google Kubernetes 徹底DOcker化的管理工具,功能迭代很是快;羣集管理能力比mesos稍差 功能模塊集成度高

Apache Mesos工做原理

配置多mesos-master環境實戰

Apache Mesos配置實戰

實驗環境:

實驗環境 IP地址 內核版本3.10以上
master 192.168.10.157 3.10.0-693.el7.x86_64
master1 192.168.10.132 3.10.0-693.el7.x86_64
master2 192.168.10.133 3.10.0-693.el7.x86_64
slave1 192.168.10.135 3.10.0-693.el7.x86_64
slave2 192.168.10.134 3.10.0-693.el7.x86_64

安裝Apache Mesos

1:配置Java環境

tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/
cd /usr/local
mv jdk1.8.0_91/ java

#在/etc/profile配置環境變量
vim /etc/profile

export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar          //末行添加

source /etc/profile     //加載當即生效

2:安裝相關環境

(1)安裝開發工具python

yum groupinstall -y "Development Tools" 
//安裝開發工具的時候可能會出現沒有相關的軟件包這時候要根據報錯提示先安裝相關依賴包

(2)添加Apache-maven源linux

wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo

(3)安裝相關依賴包docker

yum install -y apache-maven python-devel zlib-devel libcurl-devel openssl-devel cyrus-sasl-devel cyrus-sasl-md5 apr-devel apr-util-devel subversion-devel

(4)配置WANdiscoSVN網絡源apache

vim /etc/yum.repos.d/wandisco-svn.repo

[WANdiscoSVN]
name=WANdisco SVN Repo 1.9
enabled=1
baseurl=http://opensource.wandisco.com/centos/7/svn-1.9/RPMS/$basearch/
gpgcheck=1
gpgkey=http://opensource.wandisco.com/RPM-GPG-KEY-WANdisco

3:配置Mesos環境變量

vim /etc/profile

export MESOS_NATIVE_JAVA_LIBRARY=/usr/local/lib/libmesos.so
export MESOS_NATIVE_LIBRARY=/usr/local/lib/libmesos.so

source /etc/profile

4:構建Mesos

編譯安裝Mesosvim

wget http://www.apache.org/dist/mesos/0.25.0/mesos-0.25.0.tar.gz      //下載軟件包

tar zxvf mesos-0.25.0.tar.gz -C /opt/
mv mesos-0.25.0/ /root/
cd /root/mesos-0.25.0
mkdir build
cd build

../configure

make              //等待時間長(在線狀態)
make check
make install    

因爲安裝mesos用時較長,而實驗每臺主機都需安裝mesos,因此建議克隆虛擬機

配置多臺mesos-master

hostnamectl set-hostname master       //修改主機名

#在hosts文件裏面寫入三臺master 兩臺slave的主機IP地址

vim /etc/hosts

192.168.10.157 master
192.168.10.132 master1
192.168.10.133 master2
192.168.10.135 slave1
192.168.10.134 slave2
#能夠直接用scp發送至另外四臺服務器
scp /etc/profile 192.168.10.132:/etc/profile        //其餘主機相似

#創建軟鏈接
ln -sf /root/mesos-0.25.0/build/bin/mesos-slave.sh /usr/sbin/mesos-slave

mesos-slave配置

此前應已經安裝完mesos,並修改了主機名和/etc/hosts文件

ln -sf /root/mesos-0.25.0/build/bin/mesos-slave.sh /usr/sbin/mesos-slave
//創建軟連接

//安裝docker並開啓
yum install docker -y
systemctl start docker.servicev #運行
systemctl enable docker.service #開機自啓動

配置多mesos-master環境

在三個Mesos-master節點上安裝Zookeepercentos

tar zxvf zookeeper-3.4.6.tar.gz -C /home/q/
cd /home/q/zookeeper-3.4.6/conf/
mv zoo_sample.cfg zoo.cfg

vim zoo.cfg       

dataDir=/home/q/zookeeper-3.4.6/data   //從新定義數據存放位置
dataLogDir=/home/q/zookeeper-3.4.6/datalog
server.1=192.168.10.157:2888:3888
server.2=192.168.10.132:2888:3888
server.3=192.168.10.133:2888:3888

配置多mesos-master環境實戰

#按照zoo.cfg配置文件的swerver一、二、3修改每臺master的myid
//在master主機上操做(/opt/home/zookeeper-3.4.6/中)
mkdir data datalog 
echo 1 > data/myid
cat data/myid

配置多mesos-master環境實戰

//在master1主機上操做(/opt/home/zookeeper-3.4.6/中)
mkdir data datalog 
echo 2 > data/myid
cat data/myid

配置多mesos-master環境實戰

//在master2主機上操做(/opt/home/zookeeper-3.4.6/中)
mkdir data datalog 
echo 3 > data/myid
cat data/myid

配置多mesos-master環境實戰

啓動zookeeper服務器

//在master主機上啓動服務
./bin/zkServer.sh start conf/zoo.cfg 
//查看zookeeper狀態
./bin/zkServer.sh status

配置多mesos-master環境實戰

//在master1主機上啓動服務
./bin/zkServer.sh start conf/zoo.cfg
//查看zookeeper狀態
./bin/zkServer.sh status

配置多mesos-master環境實戰

//在master2主機上啓動服務
./bin/zkServer.sh start conf/zoo.cfg
//查看zookeeper狀態
./bin/zkServer.sh status

配置多mesos-master環境實戰
啓動master服務
先啓動leader服務器上的zookeeper,這是採用雙選舉機制先zookeeper選舉出個leader而後mesos第一臺啓動默認就是leader網絡

//master1
mesos-master --work_dir=/opt/home/mesos/data --log_dir=/opt/home/mesos/logs --no-hostname_lookup --ip=0.0.0.0 --zk=zk://192.168.10.132:2181/mesos --quorum=2

//master
mesos-master --work_dir=/opt/home/mesos/data --log_dir=/opt/home/mesos/logs --no-hostname_lookup --ip=0.0.0.0 --zk=zk://192.168.10.157:2181/mesos --quorum=2 

//master2
mesos-master --work_dir=/opt/home/mesos/data --log_dir=/opt/home/mesos/logs --no-hostname_lookup --ip=0.0.0.0 --zk=zk://192.168.10.133:2181/mesos --quorum=2

啓動mesos-slavecurl

slave1
mesos-slave --containerizers="mesos,docker" --work_dir=/opt/home/mesos/data --log_dir=/opt/home/mesos/logs --master=zk://192.168.10.157:2181,192.168.10.132:2181,192.168.10.133:2181/mesos --no-hostname_lookup --ip=0.0.0.0

slave2

mesos-slave --containerizers="mesos,docker" --work_dir=/opt/home/mesos/data --log_dir=/opt/home/mesos/logs --master=zk://192.168.10.157:2181,192.168.10.132:2181,192.168.10.133:2181/mesos --no-hostname_lookup --ip=0.0.0.0

此時用網頁訪問http://192.168.10.132:5050
配置多mesos-master環境實戰
若訪問的IP不是leader的IP則會向leaderIP跳轉
配置多mesos-master環境實戰
配置多mesos-master環境實戰
兩臺從服務器的信息
配置多mesos-master環境實戰

相關文章
相關標籤/搜索