本文共 5832 字,大约阅读时间需要 19 分钟。
需要独立部署mesos-slave 进程;依赖 framework 的功能;成本比较高;
可以管理 docker 容器;稳定性具有保障;
framework:计算机框架
executor:执行器task任务
mesos-master:管理slave 调度分配资源
主机名 | 系统 | IP地址 | 软件包 |
---|---|---|---|
master | CentOS 7.4 | 192.168.100.136 | jdk、mesos、zookeeper、marathon |
master1 | CentOS 7.4 | 192.168.100.129 | jdk、mesos、zookeeper |
master2 | CentOS 7.4 | 192.168.100.138 | jdk、mesos、zookeeper |
slave | CentOS 7.4 | 192.168.100.139 | jdk、mesos、docker |
slave1 | CentOS 7.4 | 192.168.100.140 | jdk、mesos、docker |
systemctl stop firewalld.servicesetenforce 0uname -r #查看内核版本(需要内核3.10以上)
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:$PATHexport CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jarsource /etc/profile #刷新
yum groupinstall -y "Development Tools" #安装开发工具
wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo#添加apache-maven源
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#安装依赖包
vim /etc/yum.repos.d/wandisco-svn.repo #配置WANdiscoSVN网络源[WANdiscoSVN]name=WANdisco SVN Repo 1.9enabled=1baseurl=http://opensource.wandisco.com/centos/7/svn-1.9/RPMS/$basearch/gpgcheck=1gpgkey=http://opensource.wandisco.com/RPM-GPG-KEY-WANdisco
vim /etc/profileexport MESOS_NATIVE_JAVA_LIBRARY=/usr/local/lib/libmesos.soexport MESOS_NATIVE_LIBRARY=/usr/local/lib/libmesos.sosource /etc/profile
wget http://archive.apache.org/dist/mesos/0.25.0/mesos-0.25.0.tar.gz #下载mesos包
tar zxvf mesos-0.25.0.tar.gz -C /opt/mv mesos-0.25.0/ /root/cd /root/mesos-0.25.0mkdir buildcd build../configuremake #等待时间长make check #检查make install
hostnamectl set-hostname master #所有master依次修改bash #立即生效
vim /etc/hosts192.168.100.136 master192.168.100.129 master1192.168.100.138 master2192.168.100.139 slave192.168.100.140 slave1
ln -sf /root/mesos-0.25.0/build/bin/mesos-master.sh /usr/sbin/mesos-mastermesos-master #启动
tar zxvf zookeeper-3.4.10.tar.gz -C /home/cd /home/zookeeper-3.4.10/mv conf/zoo_sample.cfg conf/zoo.cfg #配置文件模板重命名,不能同时存在
vim /home/zookeeper-3.4.10/conf/zoo.cfgdataDir=/home/zookeeper-3.4.10/data #重新定义 datadir 位置dataLogDir=/home/zookeeper-3.4.10/datalog #data、datalog 不存在创建server.1=192.168.100.136:2888:3888 #三台master服务器地址server.2=192.168.100.129:2888:3888server.3=192.168.100.138:2888:3888格式 :server.A=B:C:DA:表示第几号服务器B:服务器IP地址C: 群集中 leader 服务器交换信息端口D:在 leader 选举时所用的端口
scp /home/zookeeper-3.4.10/conf/zoo.cfg 192.168.100.138:/home/zookeeper-3.4.10/conf/#把配置文件服务复制过去,前提所有master配置文件已修改scp /home/zookeeper-3.4.10/conf/zoo.cfg 192.168.100.139:/home/zookeeper-3.4.10/conf/
[root@master ~]# cd /home/zookeeper-3.4.10/[root@master zookeeper-3.4.10]# mkdir data[root@master zookeeper-3.4.10]# mkdir datalog[root@master zookeeper-3.4.10]# echo 1 > data/myid #添加相对应的第几号服务器 依次添加 要和配置文件相对应[root@master zookeeper-3.4.10]# cat data/myid 1
[root@master zookeeper-3.4.10]# ./bin/zkServer.sh start conf/zoo.cfg #开启服务ZooKeeper JMX enabled by defaultUsing config: conf/zoo.cfgStarting zookeeper ... STARTED
[root@master zookeeper-3.4.10]# ./bin/zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /home/q/zookeeper-3.4.10/bin/../conf/zoo.cfgMode: follower #负责接收客户请求,向客户端返回结果,并在选举过程中参与投票[root@master1 zookeeper-3.4.10]# ./bin/zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /home/q/zookeeper-3.4.10/bin/../conf/zoo.cfgMode: follower[root@master2 zookeeper-3.4.10]# ./bin/zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /home/q/zookeeper-3.4.10/bin/../conf/zoo.cfgMode: leader #负责投票发起和决议、更新系统状态。
[root@master zookeeper-3.4.10]#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.100.136:2181/mesos --quorum=2#--quorum=2 还剩余2台服务器[root@master1 zookeeper-3.4.10]#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.100.129:2181/mesos --quorum=2 [root@master2 zookeeper-3.4.10]#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.100.138:2181/mesos --quorum=2
hostnamectl set-hostname slave #所有 slave 依次修改bash #立即生效
vim /etc/hosts192.168.100.136 master192.168.100.129 master1192.168.100.138 master2192.168.100.139 slave192.168.100.140 slave1
ln -sf /opt/mesos-0.25.0/build/bin/mesos-slave.sh /usr/sbin/mesos-slave
yum install docker -ysystemctl start docker.servicesystemctl enable docker.service
mesos-slave --containerizers="mesos,docker" \--work_dir=/home/q/mesos/data --log_dir=/home/q/mesos/logs \--master=zk://192.168.100.136:2181,192.168.100.129:2181,192.168.100.138:2181/mesos \--no-hostname_lookup --ip=0.0.0.0
随意访问一台 master ,若指定非 leader 状态的 mesos-master 地址,页面会自动跳转 leader 状态下的地址 :
http://downloads.mesosphere.com/marathon/v0.15.2/marathon-0.15.2.tgztar zxvf marathon-0.15.2.tgz -C /home/
cd /home/marathon-0.15.2[root@master marathon-0.15.2]#./bin/start --hostname 192.168.100.136 --master zk://192.168.100.136:2181,192.168.100.129:2181,192.168.100.138:2181/mesos --http_address 0.0.0.0
转载于:https://blog.51cto.com/13640803/2161043