環境:docker 1.7
OS: centos 6.6
java : jdk1.8
mesos :1.3
通過本文我們來製作一個mesos slave
# 安裝 nss工具包
$ sudo yum install -y tar wget git which nss
安裝一些必要的倉庫
# 'Mesos > 0.21.0' requires a C++ compiler with full C++11 support,
# (e.g. GCC > 4.8) which is available via 'devtoolset-2'.
# Fetch the Scientific Linux CERN devtoolset repo file.
$ sudo wget -O /etc/yum.repos.d/slc6-devtoolset.repo http://linuxsoft.cern.ch/cern/devtoolset/slc6-devtoolset.repo
# Import the CERN GPG key. 導入證書
$ sudo rpm --import http://linuxsoft.cern.ch/cern/centos/7/os/x86_64/RPM-GPG-KEY-cern
# Fetch the Apache Maven repo file. 獲取maven倉庫
$ sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
安裝一下SVN的倉庫
sudo bash -c 'cat > /etc/yum.repos.d/wandisco-svn.repo <<EOF
[WANdiscoSVN]
name=WANdisco SVN Repo 1.8
enabled=1
baseurl=http://opensource.wandisco.com/centos/6/svn-1.8/RPMS/$basearch/
gpgcheck=1
gpgkey=http://opensource.wandisco.com/RPM-GPG-KEY-WANdisco
EOF'
安裝Development Tools
sudo yum groupinstall -y "Development Tools"
安裝devtoolset-2-toolchain(包含:最重要的GCC 4.8.2 )
yum install -y devtoolset-2-toolchain
安裝其他依賴
sudo yum install -y apache-maven python-devel python-six python-virtualenv 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
確認G++的版本號,並啓動service cgconfig
# Enter a shell with 'devtoolset-2' enabled.
$ scl enable devtoolset-2 bash
$ g++ --version # Make sure you've got GCC > 4.8!
# Process isolation is using cgroups that are managed by 'cgconfig'.
# The 'cgconfig' service is not started by default on CentOS 6.6.
# Also the default configuration does not attach the 'perf_event' subsystem.
# To do this, add 'perf_event = /cgroup/perf_event;' to the entries in '/etc/cgconfig.conf'.
$ sudo yum install -y libcgroup
$ sudo service cgconfig start
下載mesos
wget http://www.apache.org/dist/mesos/1.3.0/mesos-1.3.0.tar.gz
$ tar -zxf mesos-1.3.0.tar.gz
編譯
$ cd mesos# Configure and build.
$ mkdir build
$ cd build
$ ../configure
$ make
此步驟make可能會出錯,需要把python安裝一下:
$ wget https://pypi.python.org/packages/source/p/python-gflags/python-gflags-2.0.tar.gz
#解壓進入目錄,執行
$ python setup.py install
$ wget https://pypi.python.org/packages/source/g/google-apputils/google-apputils-0.4.0.tar.gz
#解壓進入目錄,執行
$ python setup.py install
編譯&安裝
$ make check
# Install (Optional).
$ make install
啓動mesos
cd build
./mesos-slave.sh --master=zk://172.172.177.69:2181,172.172.177.70:2181,172.172.177.71:2181/mesos --log_dir=/var/log/mesos --containerizers=docker,mesos --executor_registration_timeout=5mins --hostname=172.172.177.53 --port=5052 --work_dir=/var/lib/mesos