mesos集群部署教程

来源:互联网 发布:淘宝办签证会有假的吗 编辑:程序博客网 时间:2024/05/29 16:45

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的映射关

(系)

0 0
原创粉丝点击