最近有一个实时的采集系统需求,目前的实现方式是用分布式定时任务来处理这一采集请求,希望有更多资源能够为任务分担压力,支持动态添加或者移除任务资源 从而达到提高采集效率,所以准备采用Mesos来做资源调度的工作。

因为自己硬件设备不够好的原因导致安装Mesos的时候出现了一个未知的问题 记录一下,以下是参考官方Getting Started的示例。

获取源码


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

tar -zxf mesos-1.2.0.tar.gz

安装所需依赖

由于本机是Ubuntu 14.04 如果是其他的系统请参考 http://mesos.apache.org/gettingstarted/

 
apt-get update

apt-get install -y tar wget git

apt-get install -y openjdk-7-jdk

apt-get install -y autoconf libtool

apt-get -y install build-essential python-dev python-virtualenv libcurl4-nss-dev libsasl2-dev libsasl2-modules maven libapr1-dev libsvn-dev

编译源码


cd mesos-1.2.0

./bootstrap

mkdir build

cd build

../configure

make -j3

安装


make check

make install

测试例子

从官方示例复制 可以运行
指定IP的时候 如果需要外网访问可以设置具体的IP, 设置为127.0.0.1 只能用127.0.0.1的IP访问。


# 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:5050 --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:5050

# Run Java framework (exits after successfully running some tasks).
$ ./src/examples/java/test-framework 127.0.0.1:5050

# Run Python framework (exits after successfully running some tasks).
$ ./src/examples/python/test-framework 127.0.0.1:5050

需要注意的是 安装之前要保证差不多2-4个GB的内存,不然在编译的时候总是报一些莫名奇妙的错误。还要保证安装之前要把依赖库安装好。