最近工做不飽和啊,加上正好有空閒的機器,就想着搭個mesos+docker+marathon玩玩。上乾貨:html
環境Centos6.7,內核版本3.18linux
先安裝mesos的依賴包docker
wget http://mirror.centos.org/centos/6/os/x86_64/Packages/apr-devel-1.3.9-5.el6_2.x86_64.rpm sudo rpm ihv apr-devel-1.3.9-5.el6_2.x86_64.rpm sudo yum install libcurl-devel apr-util-devel cyrus-sasl cyrus-sasl-devel cyrus-sasl-md5 subversion-devel
安裝maven,配置PATH保證能找到mvn命令便可apache
BTW,linux下的依賴包通常均可以在https://pkgs.org/這個網站裏找到vim
下載mesos-1.0.0:centos
wget http://archive.apache.org/dist/mesos/1.0.0/mesos-1.0.0.tar.gz tar zxvf mesos-1.0.0.tar.gz cd mesos-1.0.0 # 配置安裝,編譯以前要保證g++版本不要太低,太低請先升級gcc版本: ./configure --prefix=/usr/local/mesos-1.0.0 sudo make sudo make install
安裝完成後啓動masterbash
MESOS_PATH=/usr/local/mesos-1.0.0 # 添加slave的白名單 ${MESOS_PATH}/etc/mesos/slaves echo "slave1.ip" >> ${MESOS_PATH}/etc/mesos/slaves echo "slave2.ip" >> ${MESOS_PATH}/etc/mesos/slaves echo "slave3.ip" >> ${MESOS_PATH}/etc/mesos/slaves
啓動 curl
# 啓動master sudo ${MESOS_PATH}/sbin/mesos-master --ip=xxx.xxx.xxx.xxx --whitelist=${MESOS_PATH}/etc/mesos/slaves --work_dir=${MESOS_PATH}/work --log_dir=${MESOS_PATH}/log > /dev/null 2>&1 & # 啓動slave sudo ${MESOS_PATH}/sbin/mesos-slave --master='master.ip:5050' --work_dir=${MESOS_PATH}/work > /dev/null 2>&1 &
以上啓動模式只有一個master,當須要啓用HA功能時須要zookeepermaven
# master: sudo ${MESOS_PATH}/sbin/mesos-master \ --ip=xxx.xxx.xxx.xxx \ --whitelist=${MESOS_PATH}/etc/mesos/slaves \ --work_dir=${MESOS_PATH}/work \ --log_dir=${MESOS_PATH}/log \ --zk=zk://you_zk_address/mesos \ --quorum=1> /dev/null 2>&1 & # slave: sudo ${MESOS_PATH}/sbin/mesos-slave \ --master='zk://you_zk_address/mesps' \ --work_dir=${MESOS_PATH}/work > /dev/null 2>&1 &
訪問master地址的5050端口:http://you_master_ip:5050能看到全部agent的狀態和提交的任務狀態網站
安裝docker
因爲docker官網上要求的系統centos 7,因此確定不能直接安,在網上找了一篇blog:http://www.cnblogs.com/zhenyuyaodidiao/p/5464422.html
表示在centos上能夠安裝1.7.1版本的docker。
sudo rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm sudo yum install docker-io # 啓動 sudo docker -d or sudo service docker start
安裝marathon
wget 'http://downloads.mesosphere.com/marathon/v1.1.1/marathon-1.1.1.tgz' tar zxvf marathon-1.1.1.tgz cd marathon-1.1.1 vim bin/start
在CONF_FILE下面加入下面這一行
export MESOS_NATIVE_JAVA_LIBRARY=${MESOS_PATH}/lib/libmesos-1.0.0.so
sudo bin/start 訪問http://your_ip:8080 就能訪問marathon的界面了