mesos源码编译及配置及marathon配置安装

时间:2022-12-28 00:01:04

前提

保证编译服务器与外网联通状态,保证所有机器的时间一致

依赖环境安装

配置subversion 1.8+需要的yum配置

vim /etc/yum.repos.d/wandisco-svn.repo
添加如下内容
[WandiscoSVN]
name=Wandisco SVN Repo
baseurl=http://opensource.wandisco.com/centos/6/svn-1.8/RPMS/$basearch/
enabled=1
gpgcheck=0
保存

安装依赖的软件

yum groupinstall -y "Development Tools"
yum install -y python-devel java-1.7.0-openjdk-devel zlib-devel libcurl-devel openssl-devel cyrus-sasl-devel cyrus-sasl-md5 apr-devel subversion-devel apr-util-devel gcc gcc-c++

安装gcc 4.8.5

yum install gmp-devel mpfr-develwget http://www.multiprecision.org/mpc/download/mpc-0.8.2.tar.gztar -xzvf mpc-0.8.2.tar.gzcd mpc-0.8.2./configure && make && make installtar -xzvf gcc-4.8.5.tar.gzcd gcc-4.8.5mkdir buildcd buildexportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
如果是4核服务器,使用如下命令make -j4 && make install
安装完毕后检查gcc版本gcc --version

安装maven

tar -xzvf apache-maven-3.3.9-bin.tar.gzmv apache-maven-3.3.9 /usr/local/mavenvim /etc/profile增加如下内容
export MAVEN_HOME=/usr/local/maven
export PATH=$PATH:$MAVEN_HOME/bin
保存后执行source /etc/profile

编译mesos

tar -xzvf mesos-1.1.0.tar.gz
cd mesos-1.1.0
./bootstrap
mkdir build
cd build
../configure --prefix=/usr/local/mesos
make 
make install
完成编译

添加相关软链接

查看/usr/local/lib64下,是否存在libstdc++.so.6如果存在,进入/usr/lib64下,执行如下rm -f libstdc++.so.6*ln -s /usr/local/lib64/libstdc++.so.6ln -s /usr/local/lib64/libstdc++.so.6.0.19

配置mesos

在所有节点修改ulimitvim /etc/security/limits.conf在文件中,添加如下内容
* soft nofile 51200
* hard nofile 51200
在master节点,配置mesos-master-env.sh,内容如下
export MESOS_advertise_ip=172.16.1.95
export MESOS_advertise_port=5050
export MESOS_quorum=2
export MESOS_work_dir=/usr/local/mesos/var/master
export MESOS_zk=zk://hdd1:2222,hdd2:2222,hdd3:2222,hdd4:2222,hdd5:2222/mesos
export MESOS_log_dir=/usr/local/mesos/var/log/
export MESOS_logging_level=INFO
export MESOS_cluster=mymesos
export MESOS_ip=172.16.1.95
配置master文件,内容如下
172.16.1.95
172.16.1.96
172.16.1.97
配置slave文件,内容如下
172.16.1.98
172.16.1.99

在slave节点,配置mesos-agent-env.sh ,内容如下
export MESOS_master=zk://hdd1:2222,hdd2:2222,hdd3:2222,hdd4:2222,hdd5:2222/mesos
export MESOS_work_dir=/usr/local/mesos/var/slave
export MESOS_ip=172.16.1.98
export MESOS_containerizers=docker,mesos
export MESOS_executor_registration_timeout=10mins
export MESOS_log_dir=/usr/local/mesos/var/log/
export MESOS_logging_level=INFO

在slave节点,安装docker
rpm -ivh http://dl.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
yum -y install docker-io
service docker start
chkconfig docker on

如果使用私有仓库,修改/etc/sysconfig/docker,修改如下内容
other_args="--insecure-registry 172.16.1.101:5000"

在master上启动mesos
/usr/local/mesos/sbin/mesos-cluster-start.sh
启动的时候,脚本需要ssh 到其他节点去执行命令,因此需要输入各个节点的ssh密码,只要根据提示进行输入即可


marathon配置

下载marathon,并解压
tar -xzvf marathon-1.3.5.tgz
mv marathon-1.3.5 marathon

启动marathon

cd /usr/local/marathon/bin
nohup ./start --master zk://hdd1:2222,hdd2:2222,hdd3:2222,hdd4:2222,hdd5:2222/mesos --zk zk://hdd1:2222,hdd2:2222,hdd3:2222,hdd4:2222,hdd5:2222/marathon&