45332 发表于 2016-8-1 10:02:56

zookeeper+mesos+docker+swarm

zookeeper 集群安装
1、下载
wget http://mirrors.cnnic.cn/apache/zookeeper/stable/zookeeper-3.4.8.tar.gz

2、解压
mkdir /usr/local/zookeeper && tar zxvf zookeeper-3.4.8.tar.gz && mv zookeeper-3.4.8/* /usr/local/zookeeper ** rm -rf zookeeper-3.4.8

3、创建配置文件
Zookeeper文件配置详解
dataDir:数据目录
dataLogDir:日志目录
clientPort:客户端连接端口
tickTime:Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。
initLimit:Zookeeper的Leader 接受客户端(Follower)初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过 5个心跳的时间(也就是tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 5*2000=10 秒
syncLimit:表示 Leader 与 Follower 之间发送消息时请求和应答时间长度,最长不能超过多少个tickTime 的时间长度,总的时间长度就是 2*2000=4 秒。
server.A=B:C:D:
A 是一个数字,表示这个是第几号服务器;
B 是这个服务器的 ip 地址;
C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;
D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口


cd /usr/local/zookeeper/conf

vim /usr/local/zookeeper/conf/zk1.cfg

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper/zk1/data
dataLogDir=/data/zookeeper/zk1/logs
clientPort=2181
server.1=10.10.16.194:3181:4181
server.2=10.10.16.194:3182:4182
server.3=10.10.16.194:3183:4183

echo "1" >/data/zookeeper/zk1/data/myid



vim /usr/local/zookeeper/conf/zk2.cfg

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper/zk2/data
dataLogDir=/data/zookeeper/zk2/logs
clientPort=2182
server.1=10.10.16.194:3181:4181
server.2=10.10.16.194:3182:4182
server.3=10.10.16.194:3183:4183

echo "2" >/data/zookeeper/zk2/data/myid



vim /usr/local/zookeeper/conf/zk3.cfg

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper/zk3/data
dataLogDir=/data/zookeeper/zk3/logs
clientPort=2183
server.1=10.10.16.194:3181:4181
server.2=10.10.16.194:3182:4182
server.3=10.10.16.194:3183:4183

echo "3" >/data/zookeeper/zk3/data/myid


4、启动Zookeeper
/usr/local/zookeeper/bin/zkServer.sh start /usr/local/zookeeper/conf/zk1.cfg
/usr/local/zookeeper/bin/zkServer.sh start /usr/local/zookeeper/conf/zk2.cfg
/usr/local/zookeeper/bin/zkServer.sh start /usr/local/zookeeper/conf/zk3.cfg

5、查看Zookeeper状态
/usr/local/zookeeper/bin/zkServer.sh status /usr/local/zookeeper/conf/zk1.cfg
/usr/local/zookeeper/bin/zkServer.sh status /usr/local/zookeeper/conf/zk2.cfg
/usr/local/zookeeper/bin/zkServer.sh status /usr/local/zookeeper/conf/zk3.cfg




Mesos集群部署
1、安装Mesosphere仓库到本地
rpm -Uvh http://repos.mesosphere.com/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm

2、Mesos Master部署
yum -y install mesos

配置Mesos连接Zookeeper文件
vim /etc/mesos/zk
zk://10.10.16.194:2181,10.10.16.194:2182,10.10.16.194:2183/mesos
systemctl start mesos-master mesos-slave


3、Mesos Slave部署
yum -y install mesos

echo 10.10.16.193 > /etc/mesos-slave/hostname
echo "mesos,docker" > /etc/mesos-slave/containerizers

vim /etc/mesos/zk
zk://10.10.16.194:2181,10.10.16.194:2182,10.10.16.194:2183/mesos

systemctl start mesos-slave
修改/etc/mesos-slave/hostname后无法启动问题,删除rm -rf /var/lib/mesos/meta/*后再重启即可



Dokcerswarm 部署
1、下载swarm
docker pull swarm
2、启动swarm
docker run -d --net=host swarm --debug manage -c mesos-experimental --cluster-opt mesos.address=10.10.16.194 --cluster-opt mesos.tasktimeout=100s--cluster-opt mesos.user=root --cluster-opt mesos.offertimeout=10m --cluster-opt mesos.port=3375 --cluster-opt mesos.enablerevocable=true --host=0.0.0.0:4375 zk://10.10.16.194:2181,10.10.16.194:2182,10.10.16.194:2183/mesos
3、运行容器
docker -H 10.10.16.194:4375 run -d -m 512m -e constraint:res-type==~regulardocker.16qian.cn/niu-ding-feng/product-service-web_prd_1.0.1





页: [1]
查看完整版本: zookeeper+mesos+docker+swarm