mesos集群部署教程

mesos编译安装部署教程

一、编译步骤:

mesos版本:0.22.1

linux版本:3.13.0-59-generic#98-Ubuntu x64

1 下载源码包

    wget http://www.apache.org/dist/mesos/0.23.0/mesos-0.23.0.tar.gz

2 安装依赖包

根据官网教程(http://mesos.apache.org/gettingstarted/)先安装依赖包

    # Update the packages.
    $ sudo apt-get update
 
    # Install the latest OpenJDK.
    $ sudo apt-get install -y openjdk-7-jdk
 
    # Install autotools (Only necessary ifbuilding from git repository).
    $ sudo apt-get install -y autoconf libtool
 
    # Install other Mesos dependencies.
    $ sudo apt-get -y installbuild-essential python-dev python-boto libcurl4- nss-dev libsasl2-dev mavenlibapr1-dev libsvn-dev


3 配置并编译

 # Change working directory.
    $ cd mesos
 
    # Bootstrap (Only required if building fromgit repository).
    $ ./bootstrap
 
    # Configure and build.
    $ mkdir build
    $ cd build
    $ ../configure --with-python-headers=/usr/include/python2.7 --with-java-home=$JAVA_HOME --with-java-headers=$JAVA_HOME/include--with-webui --with-    included-zookeeper --prefix=/home/ndn/mascot/mesos_install
    #注意配置的时候python要根据你系统的版本,prefix参数就是安装的路径,最好自己新建一个文件 夹,不要使用默认,默认的目录为/usr/local,如果默认安装的话会出现很多权限问题
    $ make(可以加 -j <num>参数,num是cpu核的个数,这样可以减少编译的时间)

4 测试编译结果

 编译好之后打开build/bin,使用下述命令启动mesos-master,以及附属的一个slave来检查是否编译成功

$ ./bin/mesos-master.sh--ip=127.0.0.1 --work_dir=/var/lib/mesos
 
# Start mesos slave.
$ ./bin/mesos-slave.sh--master=127.0.0.1:5050

在本机上访问如下地址$ http://127.0.0.1:5050如果用浏览器访问上述网页成功,而且面中现实激活的节点为1个则说明编译成功了。

5 安装

安装的过程就是把mesos集群启动过程中需要的执行文件,库文件等集中放置到系统路劲下,一般系统路径是/usr/sbin、/usr/bin等。但是这个路劲是可以改变的,在之间./configuire操作的时候--prefix操作就是设置安装的目录。

虽然教程中安装只有一句命令“make install”,但是make install有时候会出现问题,比如:

Command python setup.py egg_info failed with error code 1 in     /tmp/pip_build_ndn/protobuf

出现这个问题的原因是安装过程中会下载一些软件,这些数据被墙了,解决的方法是使用国内的源先把需     要软件安装了,针对上述问题,是pip被墙了,我使用清华的源: https://wiki.tuna.tsinghua.edu.cn/MirrorUsage/pypi修改源的步骤在上诉链接中给出了,我使用第一中方法,“临时使用源”。根据错误提示,被墙的包为     google-apputils和protobuf,那么我使用pip命令安装这两个软件如下:


    sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple google-apputils
    #没有安装pip请安装sudo apt-get install python-pip
    sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple protobuf
    上述步骤进行之后就可以不出错地安装了
    make install

6  配置mesos集群

我有3台服务器

master(master)

192.168.1.62

resourcemanager(slave)

192.168.1.64

datanode1(slave)

192.168.1.66

 

    上述表格中ip和主机名的对应需要在/etc/hosts文件中注明

    对于每台机器都做如下操作

    打开安装的目录(之前configure中prefix参数),在etc/mesos中有三个文件,使用如下命令新   建3个文件:

    cat mesos-master-env.sh.template> mesos-master-env.sh
    cat mesos-slave-env.sh.template> mesos-slave-env.sh
    cat mesos-deploy-env.sh.template> mesos-deploy-env.sh

    然后新建两个文件:slaves,masters

    masters内容如下

  

    master

    slaves内容如下

    #一个slave一行
    datanode1
    datanode2
修改mesos-master-env.sh文件内容如下
    #master日志目录
    export MESOS_log_dir=/var/log/mesos
    #master工作目录
    export MESOS_work_dir=/var/lib/mesos

    

    修改mesos-slave-env.sh文件内容如下

    #MESOS_master参数必须设置
    export MESOS_master=192.168.1.62:5050
    #下面两个参数用来设置slave的工作目录和日志目录,值得注意的是这个目录最好在home目录下,因  为在其他目录下的时候会遇到权限问题,如果执行的时候没有权限slave就启动不起来,上面的  master配置也一样
    export  MESOS_log_dir=/home/ndn/mascot/mesos_install/log
    export MESOS_work_dir=/home/ndn/mascot/mesos_install/run

    mesos-deoply-env.sh不需要更改。

    配置环境变量

    更改~/.bashrc文件在最后一行添加如下:

    export MESOS_HOME=/home/ndn/mascot/mesos_install
    export PATH=${PATH}:${MESOS_HOME}/sbin:${MESOS_HOME}/bin

    当上述配置都完成之后可以启动集群了,在任何一台配置好的服务器上都可以启动。6、启动集群

    执行mesos-start-cluster.sh

    执行这条命令有时候会启动失败,提示:

    ./mesos-daemon.sh: line 9: ulimit: open files: cannot modify limit:Operation not permitted

    经过检查发现在mesos-daomon.sh 有一条ulimit -n 8192,这条指令是在向服务器索要资源,但是 通过ulimit -a查看可以看出-n为1024,系统要求这个数不能更大,因此把8192更改为1024即可。

    再次启动:mesos-start-cluster.sh

    查看每台机器,使用ps -e |grep mesos看每台机器上的mesos是否都启动了。

    当所有的mesos都启动之后,浏览器访问http://192.168.1.62:5050如果看到如下界面就说明启   动成功了:

   

注,通过浏览器访问的时候有个bug,访问Sandbox的时候会提示访问不到主机,我的更正方法是在浏览器器所在主机上也修改/etc/hosts文件,加上master、resourcemanager、datanode1名字与ip的映射关

(系)

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
单体项目的集群部署可以通过以下步骤来实现: 1. 容器化:将单体项目的应用程序进行容器化,可以使用 Docker 或者其他容器化工具来创建容器镜像。确保容器镜像中包含了项目的所有依赖项和配置文件。 2. 编排工具:选择一个适合的编排工具,比如 Kubernetes,Docker Swarm 或者 Mesos。这些工具可以帮助你管理和编排容器,在集群中运行多个实例。 3. 集群配置:在集群中配置适当数量的节点,以容纳你的应用程序实例。配置节点的计算资源和存储资源,确保它们能够满足应用程序的需求。 4. 部署策略:选择适当的部署策略,比如滚动更新或者蓝绿部署。滚动更新可以逐步替换旧版本的实例,而蓝绿部署则是在新版本实例就绪后切换流量。 5. 负载均衡:为集群配置负载均衡器,以确保流量能够均匀地分发到不同的实例上。负载均衡可以基于不同的算法来分配流量,比如轮询、最小连接数等。 6. 监控和日志:配置监控和日志收集工具,以便实时监控集群中的实例状态,并收集应用程序的日志信息。这些工具可以帮助你及时发现和解决问题。 7. 扩展和自动化:根据需要,可以通过添加更多的节点来扩展集群的容量。同时,可以使用自动化工具来管理集群的扩展和缩减,以便根据负载情况自动调整实例数量。 请注意,集群部署需要一定的技术知识和经验,确保在进行集群部署之前对相关技术有一定的了解,并进行充分的测试和备份。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值