设为首页 收藏本站
查看: 1519|回复: 0

[经验分享] Marathon+Mesos+Docker部署

[复制链接]

尚未签到

发表于 2019-2-21 07:50:36 | 显示全部楼层 |阅读模式
Marathon

  马拉松是一个生产级的容器编排平台,用于中间层的数据中心操作系统(DC/OS)和Apache Mesos.为部署提供提供REST API服务,有授权和SSL、配置约束,通过HAProxy实现服务发现和负载平衡。

Apache Mesos
  Apache Mesos 是一款基于多资源(内存、CPU、磁盘、端口等)调度的开源群集管理套件,能时容错和分布式关系系统更加容易使用。
Apache Mesos 采用了Master/Slave 结构来简化设计,将Master 做的尽可能轻量级别仅保存了各种计算框架(Framework)和Mesos Slace 的状态详细。Mesos Master  充当与全局资源调度角色,采用某种策略算法将摸一个Slace上的空闲资源来分配给某一个Framewok 而且种Framework 则是通过自己的调度器向Master注册进行接入。

zookeeper
  zookeeper 是一个开远市分布式应用协调服务可以为分布式应用提一致性服务,提供的功能包裹:配置维护,域名服务,分布式同步。组服务等。
zookeeper 的目标就是讲复杂易出错的关键服务进行分装,提供给用户使用性能高效功效稳定简单易用的操作系统



部署环境


主机名
IP地址
安装包




master
192.168.10.38
jdk-8u91-linux-x64.tar.gz mesos-0.25.tar.gz zookeeper-3.4.6.tar.gz marathon-0.15.2.tar.gz


master1
192.168.10.41
jdk-8u91-linux-x64.tar.gz mesos-0.25.tar.gz zookeeper-3.4.6.tar.gz


masert2
192.168.10.39
jdk-8u91-linux-x64.tar.gz mesos-0.25.tar.gz zookeeper-3.4.6.tar.gz


slaver1
192.168.10.42
jdk-8u91-linux-x64.tar.gz mesos-0.25.tar.gz docker


slaver2
192.168.10.46
jdk-8u91-linux-x64.tar.gz mesos-0.25.tar.gz docker

配置部署

cat /etc/redhat-release   //查看Linux版本
uname -r   //查看内核版本(需要内核3.10以上)
tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/ 解压jdk包
mv jdk1.8.0_91/ java
vim /etc/profile  #配置JAVA环境
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 #立即生效
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#为Mesos提供项目管理和构建自动换工具的支持
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.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
vim /etc/profile #配置Mesos环境变量
export MESOS_NATIVE_JAVA_LIBRARY=/usr/local/lib/libmesos.so
export MESOS_NATIVE_LIBRARY=/usr/local/lib/libmesos.so
source /etc/profile
wget http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
#下载地址使用迅雷添加链接从http复制到结尾在迅雷下载链接粘贴
wget http://www.apache.org/dist/mesos/0.25.0/mesos-0.25.0.tar.gz
#下载地址使用迅雷添加链接从http复制到结尾在迅雷下载链接粘贴
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
systemctl stop firewalld.service 关闭防火墙
systemctl disable firewalld.service 实现开机不启动
setenforce 0
  以上操作在剩下的4台服务器执行


配置mesos-master

hostnamectl set-hostname master  #设置主机名称
hostnamectl set-hostname master1 #设置主机名称
hostnamectl set-hostname master2 #设置主机名称
vim /etc/hosts (所有主机)
192.168.10.38 master
192.168.10.41 master1
192.168.10.39 master2
192.168.10.42 slave
192.168.10.46 slave1
重启服务器
scp /etc/hosts 192.168.10.15:/etc/hosts  #推送hosos文件到所有主机上并且修改对应的主机名称
ln -sf /root/mesos-0.25.0/build/bin/mesos-master.sh /usr/sbin/mesos-master
mesos-master --work_dir=/home/q/mesos/data --log_dir=/home/q/mesos/logs --no-hostname_lookup --ip=0.0.0.0  创建文件 运行任意网段进行访问



配置mesos-slave

hostnamectl set-hostname slave  #修改主机名
hostnamectl set-hostname slave1  #修改主机名
cat /erc/hosos  #由于在单台mesos推送来的配置文件
192.168.10.38 master
192.168.10.41 master1
192.168.10.39 master2
192.168.10.42 slave
192.168.10.46 slave1
ln -sf /root/mesos-0.25.0/build/bin/mesos-slave.sh /usr/sbin/mesos-slave   #创建软连接方便使用命名
yum install docker -y   #安转docker
systemctl start docker.service
systemctl enable docker.service
mesos-slave --containerizers="mesos,docker" --work_dir=/home/q/mesos/data --log_dir=/home/q/mesos/logs --master=192.168.10.38:5050 --no-hostname_lookup --ip=0.0.0.0 创建文件 指向master 运行任意网段进行访问
  当三台mesos服务器运行启动mesos-master 后生在home目录下创建了q/目录后在进行配置zookeeper


配置zookeeper

tar zxvf zookeeper-3.4.6.tar.gz -C /home/q/
# 当三台mesos服务器运行启动mesos-master后生在home目录下创建了q/目录后在进行配置zookeeper
cd zookeeper-3.4.6/
mv conf/zoo_sample.cfg conf/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.38:2888:3888  #指定三台master服务器 信息交换端口 选举端口
server.2=192.168.10.41:2888:3888
server.3=192.168.10.39:2888:3888
  传输给其他master并且在/home/q/zookeeper-3.4.6 下创建 创建数据存放日志和数据日志文件和server 序列





#在master主机上操作(/home/q/zookeeper-3.4.6/中)
mkdir data datalog
echo 1 > data/myid server 序列
cat data/myid
#在master1主机上操作(/home/q/zookeeper-3.4.6/中)
mkdir data datalog
echo 2 > data/myid
cat data/myid
#在master2主机上操作(/home/q/zookeeper-3.4.6/中)
mkdir data datalog
echo 3 > data/myid
cat data/myid
#在master主机上启动服务
./bin/zkServer.sh start conf/zoo.cfg
#在master1主机上启动服务
./bin/zkServer.sh start conf/zoo.cfg
#在master2主机上启动服务
./bin/zkServer.sh start conf/zoo.cfg
#查看leader
./bin/zkServer.sh status
[root@master zookeeper-3.4.6]# ./bin/zkServer.sh start conf/zoo.cfg
JMX enabled by default
Using config: conf/zoo.cfg
Starting zookeeper ... STARTED
[root@master zookeeper-3.4.6]# ./bin/zkServer.sh status #查看状态
JMX enabled by default
Using config: /home/q/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower
[root@master1 zookeeper-3.4.6]# ./bin/zkServer.sh start conf/zoo.cfg
JMX enabled by default
Using config: conf/zoo.cfg
Starting zookeeper ... STARTED
[root@master1 zookeeper-3.4.6]# ./bin/zkServer.sh status #产看状态
JMX enabled by default
Using config: /home/q/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: leader   #此时192.168.10.41 就被选举为老大
[root@master2 zookeeper-3.4.6]# ./bin/zkServer.sh start conf/zoo.cfg
JMX enabled by default
Using config: conf/zoo.cfg
Starting zookeeper ... STARTED
[root@master2 zookeeper-3.4.6]# ./bin/zkServer.sh status #查看状态
JMX enabled by default
Using config: /home/q/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: standalone
#master
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.10.38:2181/mesos --quorum=2
#master1
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.10.175.41:2181/mesos --quorum=2
#master2
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.10.39:2181/mesos --quorum=2
#slave
mesos-slave --containerizers="mesos,docker" --work_dir=/home/q/mesos/data --log_dir=/home/q/mesos/logs --master=zk://192.168.10.38:2181,192.168.10.41:2181,192.168.10.39:2181/mesos --no-hostname_lookup --ip=0.0.0.0




部署Marathon


wget http://downloads.mesosphere.com/marathon/v0.15.2/marathon-0.15.2.tgz
#下载地址使用迅雷添加链接从http复制到结尾在迅雷下载链接粘贴
tar zxvf marathon-0.15.2.tgz -C /home/q/
./bin/start --hostname 192.168.175.132 --master zk://192.168.10.38:2181,192.168.10.41:2181,192.168.10.39:2181/mesos --http_address 0.0.0.0
测试
http://192.168.10.42:8080/















运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-675057-1-1.html 上篇帖子: 在CentOS7上配置Marathon+Mesos+Docker实战 下篇帖子: Docker镜像、容器管理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表