Mesos1.0.1 安装指南

Mesos1.0.1 安装指南

1 环境

1.1 操作系统:ubuntu 16.04

虚拟机ip 主机名 安装应用
172.16.7.100 test0 Mesos-master
172.16.7.101 test1 Mesos-master zookeeper
172.16.7.102 test2 Mesos-slave zookeeper docker
172.16.7.103 test3 Mesos-slave zookeeper docker

1.2 配置4台虚拟机的hosts

sudo vi /etc/hosts

#添加下面的内容
172.16.7.100 test0
172.16.7.101 test1
172.16.7.102 test2
172.16.7.103 test3

1.3 配置免密码登录

在test0 服务器上执行

#执行ssh-keygen
ssh-keygen
#一路回车
#在~/.shh 目录生成 id_rsa,id_rsa.pub两个文件
#执行
cat id_rsa.pu > authorized_keys
chmod 600 authorized_keys
#然后将3个文件拷贝至其他3台服务器的~/.ssh目录 (我的用户名是zj)
scp ~/.ssh/* test1:/home/zj
scp ~/.ssh/* test2:/home/zj
scp ~/.ssh/* test3:/home/zj

#然后执行ssh test1测试能否免密码登录,

1.4配置 JDK:1.8和maven3.3.9

下载并解压jdk和maven至/usr/local/jdk1.8以及/usr/local/maven3.3.9

sudo vi /etc/profile
#在文件后面追加
export JAVA_HOME=/usr/local/jdk1.8
export MAVEN_HOME=/usr/local/maven3.3.9
#保存并退出

#加载环境变量
source /etc/profile

1.5 安装docker

在test2,test3上执行

sudo apt-get install docker.io
#然后把zj用户添加到docker用户组
sudo gpasswd -a ${USER} docker
#建议重启下

2 安装依赖文件以及构建mesos(在test0上执行)

2.1 安装必须的工具

sudo apt-get install -y tar wget git

2.2 安装autotools

sudo apt-get install -y autoconf libtool

2.3 安装依赖库

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

2.4 构建mesos1.0.1

#我的mesos安装在 /data/mesos目录下
sudo mkdir -p /data/mesos
#把安装目录指定为zj用户所有
sudo chown -R zj:zj /data/mesos 
#下载mesos1.0.1
wget http://www.apache.org/dyn/closer.cgi/mesos/1.0.1/mesos-1.0.1.tar.gz
#解压
tar -zxvf mesos-1.0.1.tar.gz
#构建
cd mesos-1.0.1
mkdir build
cd build
#我是把mesos安装在/data/mesos目录下,大家可以自行自定目录
../configure --prefix=/data/mesos

make
make check
make install

#注意:在安装过程中可能会出现下面的错误
#Command Python setup.py egg_info failed with error code 1 in     /tmp/pip_build_ndn/protobuf
#引起的原因是因为google-apputils和protobuf是google开源的,当然你懂的Google在国内是被墙的
#所以解决办法我是的的挂代理,当然你也可以用一些国内的源
#网上有大神给的解决方案如下:
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  

2.5 拷贝mesos 文件至其他3台服务器

#在其他3台服务器先创建目录/data/mesos 并把所有在指定为用户zj
scp -rf /data/mesos/* test1:/data/mesos
scp -rf /data/mesos/* test2:/data/mesos
scp -rf /data/mesos/* test3:/data/mesos

3 配置mesos

3.1 配置master

#test0
cd /data/mesos/etc/mesos
cat mesos-master-env.sh.template > mesos-master-env.sh
#编辑mesos-master-env.sh并添加下面的配置
vi mesos-master-env.sh
#mesos日志目录
export MESOS_log_dir=/data/mesos/logs/mesos
#mesos工作目录
export MESOS_work_dir=/data/mesos/work
#master 主机名
export MESOS_hostname=test0
export MESOS_quorum=1
#ha模式需要配置zookeeper zookeeper 安装配置请在网上找
export MESOS_zk=zk://test1:2181,test2:2181,test3:2181/mesos

#添加master文件
vi masters

#添加
test0
test1
#添加slaves文件
vi slaves
#添加
test2
test3


#拷贝mesos-master-env.sh配置文件到test1
scp mesos-master-env.sh test1:cd /data/mesos/etc/mesos
#拷贝masters,slavers到其他3台服务器
scp masters test1:/data/mesos/etc/mesos
scp slaves test1:/data/mesos/etc/mesos

scp masters test1:/data/mesos/etc/mesos
scp slaves test1:/data/mesos/etc/mesos

scp masters test1:/data/mesos/etc/mesos
scp slaves test1:/data/mesos/etc/mesos
#在test1上修改配置mesos-master-env.sh中
export MESOS_hostname=test1

3.2配置slave

#test2
cat mesos-agent-env.sh.template > mesos-agent-env.sh
vi mesos-agent-env.sh
export MESOS_master=zk://test1:2181,test2:2181,test3:2181/mesos
export MESOS_log_dir=/data/mesos/logs/mesos
export MESOS_work_dir=/data/mesos/run/mesos
export MESOS_hostname=test2
export MESOS_systemd_enable_support=false
#配置slave支持docker
export MESOS_containerizers=docker,mesos
#docker_store_dir默认为/tmp/run/docker 为了避免权限问题配置到下面的目录
export MESOS_docker_store_dir=/data/mesos/run/docker
export MESOS_executor_registration_timeout=10mins

#拷贝配置文件到test3
scp mesos-agent-env.sh test3:/data/mesos/etc/mesos

#修改test3的mesos-agent-env.sh文件
export MESOS_hostname=test3

3.3配置deploy

#test0 
cat mesos-deploy-env.sh.template > mesos-deploy-env.sh
#拷贝至其他3台服务器,拷贝命令省了

4 运行mesos

#在任意服务器上执行
/data/mesos/sbin/mesos-start-cluster.sh
#访问 http://test0:5050 能成功说明部署正常啦

5 安装marathon

下载marathon1.1.1.tar.gz到test0

并解压到 /data/marathon

#配置环境变量test0
export MESOS_NATIVE_JAVA_LIBRARY=/data/mesos/lib/libmesos.so
export MESOS_NATIVE_LIBRARY=/data/mesos/lib/libmesos.so

#在test0上运行marathon
/data/marathon/bin/start --master  zk://test1:2181,test2:2181,test3:2181/mesos --zk zk://test1:2181,test2:2181,test3:2181/marathon

访问http://test0:8080 能成功就安装ok拉

到这里基本就安装完成了,可以通过marathon运行docker容器了

你可能感兴趣的:(Mesos1.0.1 安装指南)