Apache Mesos1.0.1 编译安装部署教程(ubuntu)

时间:2023-03-10 03:17:59
Apache Mesos1.0.1 编译安装部署教程(ubuntu)

参考资料

官方文档:http://mesos.apache.org/documentation 
中文翻译:http://mesos.mydoc.io/ 
GitHub:https://github.com/apache/mesos/tree/master 
董的博客:http://dongxicheng.org/category/apache-mesos/

mesos下载源码

官网上下载源码

http://mesos.apache.org/downloads/

安装依赖包

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

  

# Update the packages.
$ sudo apt-get update # Install a few utility tools.
$ sudo apt-get install -y tar wget git # Install the latest OpenJDK.
$ sudo apt-get install -y openjdk--jdk # Install autotools (Only necessary if building from git repository).
$ sudo apt-get install -y autoconf libtool # Install other Mesos dependencies.
$ sudo apt-get -y install build-essential python-dev libcurl4-nss-dev libsasl2-dev libsasl2-modules maven libapr1-dev libsvn-dev

配置并编译

# Change working directory.
$ cd mesos # Bootstrap (Only required if building from git repository).
$ ./bootstrap # Configure and build.
$ mkdir build
$ cd build
$ ../configure --prefix=/home/hl/mesos_install
#prefix参数就是安装的路径,最好自己新建一个文件 夹,不要使用默认,默认的目录为/usr/local,如果默认安装的话会出现很多权限问题
$ make

测试编译结果

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

$ ./bin/mesos-master.sh --ip=127.0.0.1 --work_dir=/home/hl/mesos_install/log/master  

# Start mesos slave.
$ ./bin/mesos-slave.sh --master=127.0.0.1:

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

安装

安装的过程就是把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

测试

mesos 安装好后,提供了c++ /java / python的测试例子,如果在web界面中看到有任务finshed,说明编译成功。

# Change into build directory.
$ cd build # Start mesos master (Ensure work directory exists and has proper permissions).
$ ./bin/mesos-master.sh --ip=127.0.0.1 --work_dir=/var/lib/mesos # Start mesos agent (Ensure work directory exists and has proper permissions).
$ ./bin/mesos-agent.sh --master=127.0.0.1: --work_dir=/var/lib/mesos # Visit the mesos web page.
$ http://127.0.0.1:5050 # Run C++ framework (Exits after successfully running some tasks.).
$ ./src/test-framework --master=127.0.0.1: # Run Java framework (Exits after successfully running some tasks.).
$ ./src/examples/java/test-framework 127.0.0.1: # Run Python framework (Exits after successfully running some tasks.).
$ ./src/examples/python/test-framework 127.0.0.1:

接下里基于mesos提供的Java接口,写个简单的分布式框架(运行在mesos上的程序)demo。

配置mesos集群