首页 > 其他 > 详细

配置多mesos-master环境实战

时间:2018-08-21 00:59:12      阅读:239      评论:0      收藏:0      [点我收藏+]
  • Apache Mesos概述
  • Apache Mesos是一款基于多资源调度的开源集群管理套件,使容错和分布式系统更加容易使用实现,采用Master/Slave结构简化设计,将Master尽可能轻量级,进保存了Mesos Slave的状态信息

    常见集群管理工具

    工具 特点 优势
    Apache Mesos 需要独立部署mesos-slave进程;依赖framework的功能;可管理docker容器;成本较高 应为经过许多互联网公司的大规模实践,稳定性具有保障
    Docker Swarm Docker 官方群集工具,需要Docker deamon 启用tcp端口学习;Swarm的命令兼容Docker;学习成本非常低 公有云环境Machine 和 Swarm 搭配使用效率更高
    Google Kubernetes 完全DOcker化的管理工具,功能迭代非常快;群集管理能力比mesos稍差 功能模块集成度高

    Apache Mesos工作原理

    技术分享图片

    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)安装开发工具

    yum groupinstall -y "Development Tools" 
    //安装开发工具的时候可能会出现没有相关的软件包这时候要根据报错提示先安装相关依赖包

    (2)添加Apache-maven源

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

    (3)安装相关依赖包

    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网络源

    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

    编译安装Mesos

    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节点上安装Zookeeper

    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

    技术分享图片

    #按照zoo.cfg配置文件的swerver1、2、3修改每台master的myid
    //在master主机上操作(/opt/home/zookeeper-3.4.6/中)
    mkdir data datalog 
    echo 1 > data/myid
    cat data/myid

    技术分享图片

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

    技术分享图片

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

    技术分享图片

    启动zookeeper

    //在master主机上启动服务
    ./bin/zkServer.sh start conf/zoo.cfg 
    //查看zookeeper状态
    ./bin/zkServer.sh status

    技术分享图片

    //在master1主机上启动服务
    ./bin/zkServer.sh start conf/zoo.cfg
    //查看zookeeper状态
    ./bin/zkServer.sh status

    技术分享图片

    //在master2主机上启动服务
    ./bin/zkServer.sh start conf/zoo.cfg
    //查看zookeeper状态
    ./bin/zkServer.sh status

    技术分享图片
    启动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-slave

    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
    技术分享图片
    若访问的IP不是leader的IP则会向leaderIP跳转
    技术分享图片
    技术分享图片
    两台从服务器的信息
    技术分享图片

    配置多mesos-master环境实战

    原文:http://blog.51cto.com/13641879/2162102

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
    © 2014 bubuko.com 版权所有
    打开技术之扣,分享程序人生!