久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      如何使用Zookeeper+Mesos+Marathon搭建Docker集群管理平臺(tái)

      Mesos概述

      Apache Mesos 是一款基于多資源(內(nèi)存、CPU、磁盤(pán)、端口等)調(diào)度的開(kāi)源集群管理套件,能使容錯(cuò)和分布式系統(tǒng)更加容易使用。其采用了Master/Slave結(jié)構(gòu)來(lái)簡(jiǎn)化設(shè)計(jì),將Master做的盡可能輕量級(jí),僅保存了各種計(jì)算框架(Framwork)和Mesos Slave的狀態(tài)信息,這些狀態(tài)很容易在Mesos出現(xiàn)故障時(shí)被重構(gòu),所以使用zookeeper解決master單點(diǎn)故障問(wèn)題。

      Mesos工作原理

      Mesos Master充當(dāng)全局資源調(diào)度器角色,采用某種策略算法將某個(gè)Save
      上的空閑資源分配給某個(gè)Famework,而各種Framework則是通過(guò)自己的調(diào)度器向master注冊(cè)進(jìn)行接入,master slave則是收集任務(wù)狀態(tài)和啟動(dòng)各個(gè)Framework的Executor。其架構(gòu)圖如下:

      如何使用Zookeeper+Mesos+Marathon搭建Docker集群管理平臺(tái)

      基本術(shù)語(yǔ):

      • Mesos master: 負(fù)責(zé)管理各個(gè)Framework和Slave,并將Slave 上的資源分配給各個(gè)Framework。
      • Mesos Slave:負(fù)責(zé)管理本節(jié)點(diǎn)上的各個(gè)Mesos Task,為各個(gè)Executor分配資源。
      • Framework:計(jì)算框架,如:Hadoop、Spark等,可以通過(guò)MesosSchedulerDiver接入Mesos。
      • Executor:執(zhí)行器,在Mesos Slave上安裝,用于啟動(dòng)計(jì)算框架中的Task。

      Zookeeper概述

      ZooKeeper是一個(gè)分布式的,開(kāi)放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),是Google的Chubby一個(gè)開(kāi)源的實(shí)現(xiàn),是Hadoop和Hbase的重要組件。它是一個(gè)為分布式應(yīng)用提供一致性服務(wù)的軟件,提供的功能包括:配置維護(hù)、域名服務(wù)、分布式同步、組服務(wù)等。其中Master 選舉可以說(shuō)是 ZooKeeper 最典型的應(yīng)用場(chǎng)景了。生產(chǎn)環(huán)境中Zookeeper是以宕機(jī)個(gè)數(shù)過(guò)半來(lái)讓整個(gè)集群宕機(jī)的,所以master至少三個(gè)節(jié)點(diǎn)。

      Marathon

      Marathon是一個(gè)Mesos框架,能夠支持運(yùn)行長(zhǎng)服務(wù),比如web應(yīng)用等。是集群的分布式Init.d,能夠原樣運(yùn)行任何Linux二進(jìn)制發(fā)布版本,如Tomcat Play等等,可以集群的多進(jìn)程管理。也是一種私有的Pass,實(shí)現(xiàn)服務(wù)的發(fā)現(xiàn),為部署提供提供REST API服務(wù),有授權(quán)和SSL、配置約束,通過(guò)HAProxy實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)和負(fù)載平衡。

      配置搭建docker集群管理平臺(tái)

      版本內(nèi)核需要3.10以上

      cat /etc/RedHat-release   //查看Linux版本    uname -r   //查看內(nèi)核版本(需要內(nèi)核3.10以上)

      如何使用Zookeeper+Mesos+Marathon搭建Docker集群管理平臺(tái)
      環(huán)境如下所示:

      主機(jī) IP地址 安裝軟件包
      master 192.168.26.150 jdk-8u91-linux-x64.tar.gz/mesos-0.25.0.tar.gz/zookeeper-3.4.10.tar.gz/ marathon-0.15.2.tgz
      master1 192.168.26.139 jdk-8u91-linux-x64.tar.gz/ mesos-0.25.0.tar.gz /zookeeper-3.4.10.tar.gz
      master2 192.168.26.140 jdk-8u91-linux-x64.tar.gz/mesos-0.25.0.tar.gz/zookeeper-3.4.10.tar.gz
      slave 192.168.26.141 jdk-8u91-linux-x64.tar.gz/mesos-0.25.0.tar.gz/docker
      slave1 192.168.26.142 jdk-8u91-linux-x64.tar.gz/mesos-0.25.0.tar.gz/docker

      步驟如下所示:

      一、安裝Mesos

      關(guān)閉所有主機(jī)的防火墻和安全性策略

      systemctl stop firewalld.service systemctl disable firewalld.service setenforce 0

      1.配置JAVA環(huán)境

      tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/    cd /usr/local  mv jdk1.8.0_91/ java    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.安裝相關(guān)環(huán)境

      (1)安裝開(kāi)發(fā)工具

      yum groupinstall -y "Development Tools"

      (2)添加apache-maven源
      為Mesos提供項(xiàng)目管理和構(gòu)建自動(dòng)化工具的支持

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

      (3)安裝相關(guān)依賴包

      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網(wǎng)絡(luò)源

      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環(huán)境變量

      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.構(gòu)建Mesos

      tar zxvf mesos-0.25.0.tar.gz -C /opt/  mv /opt/mesos-0.25.0/ /root/  cd /root/mesos-0.25.0  mkdir build  cd  build  ../configure    make              //等待時(shí)間長(zhǎng)(在線狀態(tài))  make check  make install     

      二、 配置Mesos-master(三臺(tái)配置一樣)

      1.規(guī)劃master主機(jī)名

      Mesos-master負(fù)責(zé)維護(hù)slave集群的心跳,從salve提取資源信息,配置之前做好相應(yīng)的解析工作。

      hostnamectl set-hostname master  #修改相應(yīng)的主機(jī)名    vim /etc/hosts      #修改hosts文件  192.168.26.131 master 192.168.26.139 master1  192.168.26.140 master2  192.168.26.141 slave 192.168.26.142 slave1    ln -sf /root/mesos-0.25.0/build/bin/mesos-master.sh /usr/sbin/mesos-master

      2.啟動(dòng)mesos-master

      mesos-master --work_dir=/home/q/mesos/data --log_dir=/home/q/mesos/logs --no-hostname_lookup --ip=0.0.0.0 

      參數(shù):

      –work_dir:運(yùn)行期數(shù)據(jù)存放路徑,包含sandbox、slavemeta等信息

      –log_dir:Mesos日志存放路徑

      –[no-]hostname_lookup: 是否從DNS獲取主機(jī)名,本例中關(guān)閉了此配置,直接顯示IP。

      –ip: Mesos進(jìn)程綁定的IP。

      3.配置完成后打開(kāi)另一個(gè)終端使用瀏覽器訪問(wèn)本地的5050端口

      http://l92.168.26.150:5050

      如何使用Zookeeper+Mesos+Marathon搭建Docker集群管理平臺(tái)

      三、配置Mesos-slave(兩臺(tái)配置一樣)

      1.規(guī)劃slave主機(jī)名

      Mesos-slave負(fù)責(zé)接收并執(zhí)行來(lái)自Mesos-master傳遞的任務(wù)以及監(jiān)控任務(wù)狀態(tài),收集任務(wù)使用系統(tǒng)的情況,配置之前做好解析工作。

      hostnamectl set-hostname slave    vim /etc/hosts      #修改hosts文件  192.168.26.150 master 192.168.26.139 master1  192.168.26.140 master2  192.168.26.141 slave 192.168.26.142 slave1  ln -sf /root/mesos-0.25.0/build/bin/mesos-slave.sh /usr/sbin/mesos-slave #創(chuàng)建鏈接文件

      2.安裝并啟動(dòng)docker

      yum install docker -y    systemctl start docker.service  systemctl enable docker.service

      注意docker服務(wù)啟動(dòng)失敗,解決方案請(qǐng)參考博客http://blog.51cto.com/11134648/2162785。

      3.啟動(dòng)Mesos-slave服務(wù)

      mesos-slave --containerizers="mesos,docker" --work_dir=/home/q/mesos/data --log_dir=/home/q/mesos/logs --master=192.168.26.148:5050 --no-hostname_lookup --ip=0.0.0.0

      注意當(dāng)啟動(dòng)失敗時(shí),有可能鏈接文件沒(méi)有生效,使用如下命令

      cd /root/mesos-0.25.0/build/bin/    ./mesos-slave.sh --containerizers="mesos,docker" --work_dir=/home/q/mesos/data --log_dir=/home/q/mesos/logs --master=192.168.26.150:5050 --no-hostname_lookup --ip=0.0.0.0

      4.查看slave狀態(tài)

      使用瀏覽器再次對(duì)master的5050端口進(jìn)行訪問(wèn)

      http://:192.168.26.150:5050

      如何使用Zookeeper+Mesos+Marathon搭建Docker集群管理平臺(tái)

      四、安裝Zookeeper

      1.分別在所有的master節(jié)點(diǎn)上安裝Zookeeper

      wget http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz    tar zxvf zookeeper-3.4.10.tar.gz -C /home/q/    cd /home/q/zookeeper-3.4.10/    mv conf/zoo_sample.cfg conf/zoo.cfg

      2.修改Zookeeper的配置文件

      以server.A=B:C:D 格式定義各個(gè)節(jié)點(diǎn)的相關(guān)信息,其中A是一個(gè)數(shù)字,表示第幾號(hào)服務(wù)器;B是這個(gè)服務(wù)器的IP地址;C為與集群中的Leader服務(wù)器交換信息的端口;D是在leader掛掉時(shí)專門(mén)進(jìn)行Leader選舉時(shí)所用的端口。

      cd /home/q/zookeeper-3.4.10/conf    vim zoo.cfg      dataDir=/home/q/zookeeper-3.4.10/data   //重新定義Datadir的位置     dataLogDir=/home/q/zookeeper-3.4.10/datalog     server.1=192.168.26.150:2888:3888     server.2=192.168.26.139:2888:3888     server.3=192.168.26.140:2888:3888

      3.修改完的配置文件拷貝給其他master主機(jī)

      scp zoo.cfg 192.168.26.139:/home/q/zookeeper-3.4.10/conf/  scp zoo.cfg 192.168.26.140:/home/q/zookeeper-3.4.10/conf/

      4.在dataDir路徑下創(chuàng)建一個(gè)myid文件

      master主機(jī)上(/home/q/zookeeper-3.4.10/)

      mkdir data datalog   echo 1 > data/myid  cat data/myid

      master1主機(jī)上(/home/q/zookeeper-3.4.10/)

      mkdir data datalog   echo 2 > data/myid  cat data/myid

      master2主機(jī)上(/home/q/zookeeper-3.4.10/)

      mkdir data datalog   echo 3 > data/myid  cat data/myid

      5.分別在各master節(jié)點(diǎn)上啟動(dòng)Zookeeper服務(wù)

      master主機(jī)

      ./bin/zkServer.sh start conf/zoo.cfg 

      master1主機(jī)

      ./bin/zkServer.sh start conf/zoo.cfg 

      master2主機(jī)

      ./bin/zkServer.sh start conf/zoo.cfg 

      6.查看主機(jī)狀態(tài)

      ./bin/zkServer.sh status

      7.分別啟動(dòng)Mesos-master

      注意先kill掉之前啟動(dòng)的Mesos-master進(jìn)程

      master主機(jī)

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

      master1主機(jī)

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

      master2主機(jī)

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

      8.啟動(dòng)Mesos-slave

      注意先kill掉之前啟動(dòng)的Mesos-master進(jìn)程

      mesos-slave --containerizers="mesos,docker" --work_dir=/home/q/mesos/data --log_dir=/home/q/mesos/logs --master=zk://192.168.26.150:2181,192.168.26.139:2181,192.168.26.140:2181/mesos --no-hostname_lookup --ip=0.0.0.0

      注意當(dāng)啟動(dòng)失敗時(shí),,有可能鏈接文件沒(méi)有生效,使用如下命令

      cd /root/mesos-0.25.0/build/bin/    ./mesos-slave.sh --containerizers="mesos,docker" --work_dir=/home/q/mesos/data --log_dir=/home/q/mesos/logs --master=zk://192.168.26.150:2181,192.168.26.139:2181,192.168.26.140:2181/mesos --no-hostname_lookup --ip=0.0.0.0

      9.使用瀏覽器指定任意Mesos-master地址的5050端口驗(yàn)證

      http://192.168.26.140:5050

      如何使用Zookeeper+Mesos+Marathon搭建Docker集群管理平臺(tái)
      若指定的是非Leader狀態(tài)下的Mesos-master地址,頁(yè)面會(huì)自行跳轉(zhuǎn)至處于leader狀態(tài)的Mesos-master地址。
      如何使用Zookeeper+Mesos+Marathon搭建Docker集群管理平臺(tái)

      五、在master主機(jī)上部署運(yùn)行Marathon

      使用Marathon向Mesos發(fā)送任務(wù)。

      1.安裝并啟動(dòng)Marathon

      wget http://downloads.mesosphere.com/marathon/v0.15.2/marathon-0.15.2.tgz    tar zxvf marathon-0.15.2.tgz -C /home/q/    cd /home/q/marathon-0.15.2    ./bin/start --hostname 192.168.26.150 --master zk://192.168.26.150:2181,192.168.26.139:2181,192.168.26.140:2181/mesos --http_address 0.0.0.0    //將Marathon安裝到多Mesos-master環(huán)境的master主機(jī)上

      2.訪問(wèn)Marathon(默認(rèn)使用8080端口)

      http://192.168.26.150:8080/

      如何使用Zookeeper+Mesos+Marathon搭建Docker集群管理平臺(tái)

      3.使用Marathon創(chuàng)建測(cè)試任務(wù)

      (1)在首頁(yè)點(diǎn)擊Create按鈕,創(chuàng)建一個(gè)測(cè)試任務(wù)echo “hello world”
      如何使用Zookeeper+Mesos+Marathon搭建Docker集群管理平臺(tái)
      (2)創(chuàng)建成功以后在applications頁(yè)面可以看到該任務(wù)
      如何使用Zookeeper+Mesos+Marathon搭建Docker集群管理平臺(tái)
      Marathon會(huì)自動(dòng)注冊(cè)到Mesos中,可以在Mesos web的Framework頁(yè)面中看到注冊(cè)信息。
      如何使用Zookeeper+Mesos+Marathon搭建Docker集群管理平臺(tái)

      可以在Mesos Web首頁(yè)看到測(cè)試任務(wù)在不停的執(zhí)行中
      如何使用Zookeeper+Mesos+Marathon搭建Docker集群管理平臺(tái)
      (4)在節(jié)點(diǎn)slave主機(jī)查看任務(wù)的相關(guān)信息
      如何使用Zookeeper+Mesos+Marathon搭建Docker集群管理平臺(tái)
      (5)刪除測(cè)試任務(wù)

      如何使用Zookeeper+Mesos+Marathon搭建Docker集群管理平臺(tái)

      4.使用Marathon API的形式添加新任務(wù)

      在節(jié)點(diǎn)slave中操作

      cd /root  vim demo.json  {  "id":"basic-0",  "cmd":"while [true]; do echo 'hello Marathon'; sleep 5; done",  "cpus":0.1,  "mem":10.0,  "instances":1  }  //查看Marathon網(wǎng)站有新添加任務(wù)  curl -X POST -H "Content-type:application/json" http://192.168.26.150:8080/v2/apps -d@demo.json

      如何使用Zookeeper+Mesos+Marathon搭建Docker集群管理平臺(tái)
      如何使用Zookeeper+Mesos+Marathon搭建Docker集群管理平臺(tái)
      如何使用Zookeeper+Mesos+Marathon搭建Docker集群管理平臺(tái)

      5.使用Mesos與Marathon創(chuàng)建Docker集群

      (1)在節(jié)點(diǎn)slave創(chuàng)建docker的nginx請(qǐng)求任務(wù)

      cd /root  vim nginx.json    {  "id":"/nginx",      //應(yīng)用唯一的ID "container":{      //marathon啟用docker格式 "type":"DOCKER",  "docker":{  "image":"nginx",     //nginx鏡像 "network":"HOST",   //網(wǎng)絡(luò)為HOST模式 "parameters":[],  "privileged":false,  "forcePullImage":false //是否強(qiáng)制更新鏡像  }  },  "cpus":0.1,  "mem":32.0,  "instances":1  }    //查看Marathon網(wǎng)站有新添加任務(wù)  curl -X POST -H "Content-type:application/json" http://192.168.26.150:8080/v2/apps -d@nginx.json

      如何使用Zookeeper+Mesos+Marathon搭建Docker集群管理平臺(tái)
      (2)在Marathon頁(yè)面查看

      可以在創(chuàng)建的Nginxd任務(wù)下看到該任務(wù)發(fā)送給主機(jī)

      如何使用Zookeeper+Mesos+Marathon搭建Docker集群管理平臺(tái)

      如何使用Zookeeper+Mesos+Marathon搭建Docker集群管理平臺(tái)
      (3)用命令行方式查看主機(jī)下載的docker鏡像

      docker images

      如何使用Zookeeper+Mesos+Marathon搭建Docker集群管理平臺(tái)

      docker ps -a

      如何使用Zookeeper+Mesos+Marathon搭建Docker集群管理平臺(tái)
      (4)訪問(wèn)slave主機(jī)上運(yùn)行著的Nginx服務(wù)

       http://192.168.26.141

      如何使用Zookeeper+Mesos+Marathon搭建Docker集群管理平臺(tái)

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)