欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    mesos集群在centos部署文档.doc

    • 资源ID:33457717       资源大小:116.50KB        全文页数:17页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    mesos集群在centos部署文档.doc

    如有侵权,请联系网站删除,仅供学习与交流mesos集群在centos部署文档【精品文档】第 17 页# 一、环境介绍 #单机环境、跳板机(根据自己的需要即可) rootSiffre # cat /etc/redhat-release CentOS release 6.6 (Final) rootSiffre # uname -r 2.6.32-504.el6.x86_64# 二、安装Docker # 2.1 下载官网rpm包 rootSiffre # wget # 2.2安装rpm包 #安装前我们需要安装一个依赖包: rootSiffre # yum install libcgroup -y安装rpm包: rootSiffre # rpm -ivh docker-engine-1.7.1-1.el6.x86_64.rpm # 2.3检查并启动Docker #检查docker版本 rootSiffre # docker version Client version: 1.7.1 Client API version: 1.19 Go version (client): go1.4.2 Git commit (client): 786b29d OS/Arch (client): linux/amd64 Server version: 1.7.1 Server API version: 1.19 Go version (server): go1.4.2 Git commit (server): 786b29d OS/Arch (server): linux/amd64启动docker service docker start 或 /etc/init.d/docker start# 三、服务安装 #数人科技源: Curl -o /etc/yum.repos.d/dataman.repo http:/get.dataman.io/repos/centos/6/6/dataman.repo官方源: wget http:/www.apache.org/dist/mesos/0.23.0/mesos-0.23.0.tar.gz官方Git源: git clone https:/git-wip-us.apache.org/repos/asf/mesos.git*以下根据数人科技的源安装,后期会编译安装*# 3.1 zookeeper #导入源: rootSiffre # rpm -Uvh yum安装 rootSiffre # yum install zookeeper zookeeper-server -y# 3.2 mesos #导入源: rootSiffre # curl -o /etc/yum.repos.d/dataman.repo http:/get.dataman.io/repos/centos/6/6/dataman.repoyum安装: rootSiffre # yum install mesos -y# 3.3 marathon #导入源: rootSiffre # curl -o /etc/yum.repos.d/dataman.repo http:/get.dataman.io/repos/centos/6/6/dataman.repoyum安装: rootSiffre # yum install marathon -y# 3.4 haproxy #yum安装即可: rootSiffre # yum install haproxy -y# 3.5 bamboo #导入源: rootSiffre # mkdir /application rootSiffre # cd /application/ rootSiffre application# wget rootSiffre application# ls dataman-bamboo-0.9.0.tar.gz rootSiffre application# tar -zxf dataman-bamboo-0.9.0.tar.gz rootSiffre application# ls bamboo dataman-bamboo-0.9.0.tar.gz# 四、配置服务参数 # 4.1 Mesos #自身配置: #配置mesos在zk的使用目录 echo "zk:/10.3.10.29:2181/mesos" > "/etc/mesos/zk" #zookeeper2181默认端口# 4.1.1 Mesos-Master # #指定master配置目录 MESOS_MASTER_CONF_DIR="/etc/mesos-master" #指定master的主机名 echo "10.3.10.29" > $MESOS_MASTER_CONF_DIR/hostname 这里的10.3.10.29是当前机器的地址 ipconfig a查看 #用本机IP表示#指定master的ip echo "0.0.0.0" > $MESOS_MASTER_CONF_DIR/ip #副本的仲裁数量的大小(集群配置很重要,本次试验只有1台所以写1) echo "1" > $MESOS_MASTER_CONF_DIR/quorum #注册表中存储持久性信息的地址 echo "/var/lib/mesos" > $MESOS_MASTER_CONF_DIR/work_dir# 4.1.2 Master-Slave # #指定slave配置目录 MESOS_SLAVE_CONF_DIR="/etc/mesos-slave" #指定slave的主机名(这里不能用localhost)echo "10.3.10.29 " > $MESOS_SLAVE_CONF_DIR/hostname 这里的10.3.10.29也是一样 写当前机器的地址 #用IP表示#指定slave支持的容器类型 echo "docker,mesos" > $MESOS_SLAVE_CONF_DIR/containerizer s#指定slave的ip echo "0.0.0.0" > $MESOS_SLAVE_CONF_DIR/ip #执行器注册超时时间 echo "5mins" > $MESOS_SLAVE_CONF_DIR/executor_registration_timeout #指定mesos资源控制的内容(这里只有打开对CPU和内存的控制) echo "cgroups/cpu,cgroups/mem" > $MESOS_SLAVE_CONF_DIR/isolation# 4.2 marathon # 创建marathon目录 mkdir /etc/marathon/conf -p #指定marathon配置目录 MARATHON_CONF_DIR="/etc/marathon/conf" #指定marathon在zk目录路径echo "zk:/10.3.10.29:2181/marathon" > $MARATHON_CONF_DIR/zk这里的10.3.10.29需要变成当前的地址 #事件订阅模式 echo "http_callback" > $MARATHON_CONF_DIR/event_subscriber #指定marathon主机名echo "10.3.10.29" > $MARATHON_CONF_DIR/hostname 这里的10.3.10.29也是需要变成当前的地址 #用IP表示#指定mesos在zk目录路径 echo "zk:/10.3.10.29:2181/mesos" > $MARATHON_CONF_DIR/master 这里的10.3.10.29也是需要变成当前的地址# 4.3 bamboo # 4.3.1 注释模版的8080部分,否则该8080端口和marathon自带默认端口冲突 ,端口可以改成9090或者其他只要不是8080就可以# rootSiffre application# vim /application/bamboo/config/haproxy_template.cfg #注释以下部分 frontend websocket-in #注意是websocket-in而不是http-in bind *:8080 $services := .Services range $index, $app := .Apps if $app.Env.BAMBOO_WEBSOCKET_OPEN if hasKey $services $app.Id $service := getService $services $app.Id acl $app.EscapedId -websocket-aclrule $service.Acl:8080 use_backend $app.EscapedId -websocket-cluster if $app.EscapedId -websocket-aclrule end end end stats enable # CHANGE: Your stats credentials stats auth admin:admin stats uri /haproxy_stats range $index, $app := .Apps if $app.Env.BAMBOO_WEBSOCKET_OPEN backend $app.EscapedId -websocket-cluster if $app.HealthCheckPath option httpchk GET $app.HealthCheckPath end balance leastconn option httpclose option forwardfor range $page, $task := .Tasks server $app.EscapedId - $task.Host - index $task.Ports 1 $task.Host : index $task.Ports 1 end end end #提示:由于centos6.6安装的haproxy版本问题,下面两句也需要注释掉 global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy #stats socket /run/haproxy/admin.sock mode 660 level admin #注释此句 stats timeout 30s user haproxy group haproxy daemon # Default SSL material locations ca-base /etc/ssl/certs crt-base /etc/ssl/private #ssl-default-bind-options no-sslv3 #注释此句 # Default ciphers to use on SSL-enabled listening sockets. # For more information, see ciphers(1SSL). # ssl-default-bind-ciphers kEECDH+aRSA+AES:kRSA+AES:+AES256:RC4-SHA:!kEDH:!LOW:!EXP:!MD5:!aNULL:!eNULL# 4.3.2 修改bamboo配置 # rootSiffre application# vim bamboo/config/production.json "Marathon": "Endpoint": "http:/10.3.10.29:8080" , "Bamboo": "Endpoint": "http:/10.3.10.29:8000", "Zookeeper": "Host": "10.3.10.29:2181", "Path": "/marathon-haproxy/state", "ReportingDelay": 5 , "HAProxy": "TemplatePath": "/application/bamboo/config/haproxy_template.cfg", "OutputPath": "/etc/haproxy/haproxy.cfg", "ReloadCommand": "PIDS=pidof haproxy; haproxy -f /etc/haproxy/haproxy.cfg -p /var/run/haproxy.pid -sf $PIDS && while ps -p $PIDS; do sleep 0.2; done" , "StatsD": "Enabled": false, "Host": "10.3.10.29:8125", "Prefix": "bamboo-server.development." # 4.4 zookeeper # 初始化 service zookeeper-server init -myid=1 #单机环境可以不初始化 提示:若不能更改添加 -force service zookeeper-server init -myid=1 -force # 五、服务启动 # 5.1 zookeeper # #启动命令 service zookeeper-server start #查看进程 ps -ef|grep zookeeper|grep -v grep #查看日志 tail -f /var/log/zookeeper/zookeeper.log 提示: 若zookeeper出现无法启动问题,可能是由于跳板机、sudo、ssh远程登录导致相关变量时效,无法启动java相关程序 解决方法:安装jdk7的rpm包,不建议去手动去改,可能会出错 安装方法: wget -no-cookies -no-check-certificate -header "Cookie: oraclelicense=accept-securebackup-cookie" " -O jdk-7-linux-x64.rpm# 5.2 Mesos-Master # # 启动命令 nohup mesos-master -zk=zk:/10.3.10.29:2181/mesos -ip=0.0.0.0 -work_dir=/var/lib/mesos -quorum=1 -log_dir=/var/log/mesos &>> /var/log/mesos/mesos-master.log & #查看进程状态 ps axuf | grep mesos-master | grep -v grep #查看日志 tail -f /var/log/mesos/mesos-master.log# 5.3 Mesos-Slave # # 启动命令 nohup mesos-slave -master=10.3.10.29:5050 -hostname=10.3.10.29 &>> /var/log/mesos/mesos-slave.log & #查看进程状态 ps axuf | grep mesos-slave | grep -v grep #查看日志 tail -f /var/log/mesos/mesos-slave.log# 5.4 marathon # #添加目录和日志文件 mkdir /var/log/marathon touch /var/log/marathon/marathon.log # 启动命令 nohup marathon &>> /var/log/marathon/marathon.log &#查看进程状态ps axuf | grep marathon | grep -v grep #查看日志 tail -f /var/log/marathon/marathon.log# 5.5 haproxy # # 启动命令 service haproxy start #进程状态 ps axuf | grep haproxy | grep -v grep# 5.6 bamboo # # 启动命令 nohup /application/bamboo/bamboo -config /application/bamboo/config/production.json -log /var/log/bamboo-server.log &>>/var/log/bamboo.log & #查看日志 tail -f /var/log/bamboo.log 提示: 1、默认安装haproxy时,相关文件的路径可能会有些不同。这时在启动bamboo时,会发现bamboo启动失败,查看日志:找不到错误类型的文件 解决方法: rootSiffre haproxy# cd /usr/share/haproxy/ rootSiffre haproxy# ls 400.http 403.http 408.http 500.http 502.http 503.http 504.http README #将这些文件复制或移到以下目录 rootSiffre haproxy# mkdir /etc/haproxy/errors rootSiffre haproxy# mv * /etc/haproxy/errors rootSiffre haproxy# cd /etc/haproxy/errors/ rootSiffre errors# ls 400.http 403.http 408.http 500.http 502.http 503.http 504.http README 2、有时你会在日志文件里面看到这样一个错误提示:STATSD_ENABLED没有设置 解决方法: export STATSD_ENABLED=false/true 此处是看源码得来的,具体详见bamboo源码!# 六、镜像制作 #制作镜像的方法很多哦!(至少4种)这里我们不用dockerfile!# 6.1 基础镜像制作 # 6.1.1 设置docker镜像源 # rootSiffre # yum install -y yum-priorities && rpm -ivh http:/dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm && rpm -import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 # 6.1.2 安装febootstrap,用来制作centos镜像,到时候会生成个centos的镜像 # # 如果没有安装docker,则需要先安装docker rootSiffre # service docker start # 启动docker rootSiffre # yum -y install febootstrap # 制作docker镜像工具# 6.1.3 作CentOS镜像文件centos6-image目录 # rootSiffre # febootstrap -i bash -i wget -i yum -i iputils -i iproute -i man -i vim -i openssh-server -i openssh-clients -i tar -i gzip centos6 centos6-image # 6.1.4 复制home目录基础文件到root目录 #这时root目录下没有任何文件,也没有隐藏的点文件,如:.bash_logout .bash_profile .bashrc如果这时制作出来的镜像使用ssh登录,会直接进入根目录下,而一般镜像都是进入root目录下的,所以可以在centos6-image目录的root目录把.bash_logout .bash_profile .bashrc这三个文件设置一下。 rootSiffre # cd centos6-image && cp etc/skel/.bash* root/# 6.1.5生成基础镜像 #rootSiffre centos6-image# tar -c .|docker import - centos6-base # 6.1.6 查看镜像,也可以直接进入centos6-base查看 # #这个是查看所有生成的镜像 rootSiffre centos6-image# docker images #进终端(没有ssh服务),-i 分配终端,-t表示在前台执行,-d表示在后台运行 rootSiffre centos6-image# docker run -i -t centos6-base:latest /bin/bash# 6.2制作中间件镜像 # 根据基础镜像制作jdk7的docker镜像 rootSiffre centos6-image# mkdir -p /application/data/jdk7 rootSiffre centos6-image# cd /application/data/jdk7 rootSiffre jdk7# vim Dockerfile #注意换行 FROM centos6-base MAINTAINER Siffre # install epel RUN yum install -y yum-priorities && rpm -ivh http:/dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm && rpm -import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 # install jdk7 RUN yum update -y RUN yum install -y java-1.7.0-openjdk #构建镜像 rootSiffre jdk7# docker build -t jdk7 .# 6.3 制作应用镜像 # 根据jdk7的镜像生成tomcat7镜像 rootSiffre jdk7# mkdir tomcat7 rootSiffre jdk7# cd tomcat7/ rootSiffre tomcat7# vim Dockerfile FROM jdk7 MAINTAINER Siffre ENV CATALINA_HOME /usr/local/tomcat ENV PATH $CATALINA_HOME/bin:$PATH RUN mkdir -p "$CATALINA_HOME" WORKDIR $CATALINA_HOME # see https:/www.apache.org/dist/tomcat/tomcat-8/KEYS RUN gpg -keyserver pool.sks- -recv-keys 05AB33110949707C93A279E3D3EFE6B686867BA6 07E48665A34DCAFAE522E5E6266191C37C037D42 47309207D818FFD8DCD3F83F1931D684307A10A5 541FBE7D8F78B25E055DDEE13C370389288584E7 61B832AC2F1C5A90F0F9B00A1C506407564C17A3 713DA88BE50911535FE716F5208B0AB1D63011C7 79F7026C690BAA50B92CD8B66A3AD3F4F22C4FED 9BA44C2621385CB966EBA586F72C284D731FABEE A27677289986DB50844682F8ACB77FC2E86E29AC A9C5DF4D22E99998D9875A5110C01C5A2F6059E7 DCFD35E0BF8CA7344752DE8B6FB21E8933C60243 F3A04C595DB5B6A5F1ECA43E3B7BBB100D811BBE F7DA48BB64BCB84ECBA7EE6935CD23C10D498E23 ENV TOMCAT_MAJOR 7 ENV TOMCAT_VERSION 7.0.63 ENV TOMCAT_TGZ_URL https:/www.apache.org/dist/tomcat/tomcat-$TOMCAT_MAJOR/v$TOMCAT_VERSION/bin/apache-tomcat-$TOMCAT_VERSION.tar.gz RUN set -x && curl -fSL "$TOMCAT_TGZ_URL" -o tomcat.tar.gz && curl -fSL "$TOMCAT_TGZ_URL.asc" -o tomcat.tar.gz.asc && gpg -verify tomcat.tar.gz.asc && tar -xvf tomcat.tar.gz -strip-components=1 && rm bin/*.bat && rm tomcat.tar.gz* EXPOSE 8080 CMD "catalina.sh", "run" #自带的脚本 #构建镜像 rootSiffre tomcat7# docker build -t tomcat7 .# 七、marathon添加app应用 # 7.1 编写添加APP脚本 # rootlocalhost marathon-app# vim dataman-tomcat-test.sh curl -v -X POST http:/10.3.10.29:8080/v2/apps -H Content-Type:application/json -d ' "id": "dataman-tomcat-test", #ID自定义即可 "cpus": 0.1, "mem": 128.0, "instances": 3, "container": "type": "DOCKER", "docker": "image": "tomcat7:latest",#镜像ID "network": "BRIDGE", "portMappings": "containerPort": 8080, "hostPort": 0, "servicePort": 10000, "protocol": "tcp" "healthChecks": "protocol": "HTTP", "portIndex": 0, "path": "/", "gracePeriodSeconds": 5, "intervalSeconds": 20, "maxConsecutiveFailures": 3 # 7.2 执行dataman-tomcat-test.sh # rootlocalhost marathon-app# sh dataman-tomcat-test.sh #显示如下信息 * About to connect() to 10.3.10.29 port 8080 (#0) * Trying 10.3.10.29. connected * Connected to 10.3.10.29 (10.3.10.29) port 8080 (#0) > POST /v2/apps HTTP/1.1 > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.16.2.3 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2 > Host: 10.3.10.29:8080 > Accept: */* > Content-Type:application/json > Content-Length: 839 < HTTP/1.1 201 Created < X-Marathon-Leader: http:/10.3.10.29:8080 < Cache-Control: no-cache, no-store, must-revalidate < Pragma: no-cache < Expires: 0 < Location: http:/10.3.10.29:8080/v2/apps/dataman-tomcat-test < Content-Type: application/json < Transfer-Encoding: chunked < Server: Jetty(8.y.z-SNAPSHOT) "id":"/dataman-tomcat-test", "cmd":null, "args":null, "user":null, "env":,"instances":3, "cpus":0.1,"mem":128.0,"disk":0.0,"execu

    注意事项

    本文(mesos集群在centos部署文档.doc)为本站会员(豆****)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开