CentOS-6安装mesos+marathon+zookeeper

10 篇文章 0 订阅
2 篇文章 0 订阅

前期准备

关闭SELinux

sudo vi /etc/selinux/config

将SELINUX=enforcing修改为SELINUX=disabled重启生效

关闭防火墙

sudo service iptables stop

配置hosts

sudo vi /etc/hosts

/etc/hosts内容:

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.245.227 iot-node1
192.168.245.228 iot-node2
192.168.245.229 iot-node3

安装java

1)卸载CentOS自带的OpenJDK

sudo rpm -e --nodeps $(sudo rpm -qa | grep java)

sudo rpm -e --nodeps $(sudo rpm -qa | grep gcj)

sudo rpm -e --nodeps $(sudo rpm -qa | grep jdk)

2)用cd命令进入到jdk-8u181-linux-x64.tar.gz所在目录,执行以下命令

sudo tar -zxf jdk-8u181-linux-x64.tar.gz -C /opt

sudo mv /opt/jdk1.8.0_181 /opt/java

3)配置环境变量

sudo vi /etc/profile

在/etc/profile的最后加入以下几行:

JAVA_HOME=/opt/java
CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export CLASSPATH
export PATH=$PATH:$JAVA_HOME/bin

4)使环境变量生效

source /etc/profile

5)设置java软连接

sudo ln -sf /opt/java/bin/java /usr/bin/java

sudo ln -sf /opt/java/bin/javac /usr/bin/javac

sudo ln -sf /opt/java/bin/javaws /usr/bin/javaws

如果/usr/bin目录已存在java、javaws,删除/usr/bin目录下的java、javaws

然后执行上面的命令

离线安装zookeeper

下载地址

http://mirrors.hust.edu.cn/apache/zookeeper/

安装包

zookeeper-3.4.13.tar.gz

安装zookeeper

1)进入到zookeeper-3.4.13.tar.gz所在目录

执行解压命令:

sudo tar -zxf zookeeper-3.4.13.tar.gz -C /opt

2)修改文件夹名称:

sudo mv /opt/zookeeper-3.4.13 /opt/zookeeper

3)创建文件夹:

sudo mkdir /opt/zookeeper/data

sudo mkdir /opt/zookeeper/logs

配置zookeeper

1)每个master节点设置不同的myid值

在/opt/zookeeper/data/myid中写入一个1到255范围的数值,需要注意的是,每个节点的myid不要重复。

sudo vi /opt/zookeeper/data/myid

这里将3个master节点的myid分别设置为:1,2,3

2)修改配置:

sudo cp /opt/zookeeper/conf/zoo_sample.cfg /opt/zookeeper/conf/zoo.cfg

sudo vi /opt/zookeeper/conf/zoo.cfg

修改dataDir=/var/lib/zookeeper为dataDir=/opt/zookeeper/data

在配置文件/opt/zookeeper/conf/zoo.cfg中加入下面内容:

server.1= iot-node1:2888:3888
server.2= iot-node2:2888:3888
server.3= iot-node3:2888:3888

注意:iot-node1、iot-node2、iot-node3位主节点主机名

server.后的数字对应myid的内容

3)修改zookeeper日志路径

sudo vi /opt/zookeeper/bin/zkEnv.sh

找到以下为内容:

if [ “x${ZOO_LOG_DIR}” = “x” ]
then
ZOO_LOG_DIR="."
fi

修改为:

if [ “x${ZOO_LOG_DIR}” = “x” ]
then
ZOO_LOG_DIR="" $ZOOBINDIR/…/logs
fi

注册zookeeper服务

1)新建一个zookeeper脚本

sudo touch /etc/rc.d/init.d/zookeeper

2)给脚本添加执行权限

sudo chmod +x /etc/rc.d/init.d/zookeeper

3)编辑/etc/rc.d/init.d/zookeeper

sudo vi /etc/rc.d/init.d/zookeeper
/etc/rc.d/init.d/zookeeper内容:
#!/bin/bash
#chkconfig:2345 20 90
#description:zookeeper
#processname:zookeeper
export JAVA_HOME=/opt/java
case $1 in
start) sudo /opt/zookeeper/bin/zkServer.sh start;;
stop) sudo /opt/zookeeper/bin/zkServer.sh stop;;
status) sudo /opt/zookeeper/bin/zkServer.sh status;;
restart) sudo /opt/zookeeper/bin/zkServer.sh restart;;
*) echo “require start|stop|status|restart” ;;
esac

启动/停止/查看zookeeper

sudo service zookeeper start

sudo service zookeeper stop

sudo service zookeeper status

设置zookeeper开机自启

sudo chkconfig zookeeper on

查看开机自启服务

sudo chkconfig --list

离线安装mesos

下载地址

https://open.mesosphere.com/downloads/mesos/

安装包

mesos-1.6.1-2.0.1.el6.x86_64.rpm

依赖包

apr-util-1.3.9-3.el6_0.1.x86_64.rpm
apr-util-1.3.9-3.el6_0.1.x86_64.rpm
cyrus-sasl-md5-2.1.23-15.el6_6.2.x86_64.rpm
gnutls-2.12.23-22.el6.x86_64.rpm
libevent-1.4.13-4.el6.x86_64.rpm
libevent-devel-1.4.13-4.el6.x86_64.rpm
libevent-doc-1.4.13-4.el6.noarch.rpm
libevent-headers-1.4.13-4.el6.noarch.rpm
libproxy-0.3.0-10.el6.x86_64.rpm
libproxy-bin-0.3.0-10.el6.x86_64.rpm
libproxy-python-0.3.0-10.el6.x86_64.rpm
neon-0.29.3-3.el6_4.x86_64.rpm
pakchois-0.4-3.2.el6.x86_64.rpm
perl-URI-1.40-2.el6.noarch.rpm
subversion-1.6.11-15.el6_7.x86_64.rpm

安装mesos

进入到mesos安装包和依赖包所在目录执行命令:

sudo rpm -ivh *.rpm

配置mesos-master

1)每个master节点的/etc/mesos/zk配置文件中设置zk的地址

sudo vi /etc/mesos/zk

/etc/mesos/zk内容:

zk:// iot-node1:2181, iot-node2:2181, iot-node3:2181/mesos

2)/etc/mesos-master/quorum中设置quorum值

sudo vi /etc/mesos-master/quorum

这个值要大于master数/2,这里master数为3,则要设为2

3)配置ip、hostname、port

sudo vi /etc/mesos-master/ip

/etc/mesos-master/ip内容为当前宿主机IP

sudo vi /etc/mesos-master/hostname

/etc/mesos-master/ hostname也配置当前宿主机IP

注意:hostname如果配置主机名,web ui会出现不停地弹出对话框,“Failed to connect to 192.168.245.227:5050",进行重新连接

也可以修改/etc/default/mesos-master

sudo vi /etc/default/mesos-master

显示内容:

PORT=5050

ZK=`cat /etc/mesos/zk`

配置mesos-slave

1)每个master节点的/etc/mesos/zk配置文件中设置zk的地址

sudo vi /etc/mesos/zk

/etc/mesos/zk内容:

zk:// iot-node1:2181, iot-node2:2181, iot-node3:2181/mesos

3)配置ip、hostname

sudo vi /etc/mesos-slave/ip

/etc/mesos- slave/ip内容为当前宿主机IP

sudo vi /etc/mesos- slave/hostname

/etc/mesos- slave/hostname也配置当前宿主机IP

注意:hostname如果配置主机名,web ui会出现不停地弹出对话框,“Failed to connect to 192.168.245.227:5050",进行重新连接

4)修改mesos容器端口范围

mesos默认容器端口范围是31000 - 32000

sudo vi /etc/mesos-slave/resources

/etc/mesos-slave/resources内容:

ports(*):[1024-65534]

也可以在mesos-slave启动命令后加上:

–resources=ports(*):[1024-65534]

注意:mesos- slave可与marathon、mesos-master安装在同一个宿主机

其他

1)几个配置启动参数的目录:

/etc/mesos-master/
/etc/mesos-slave/
/etc/marathon/conf/

在这些目录分别用来配置mesos-master,mesos-slave,marathon的启动参数。以参数名为文件名,参数值为文件内容即可。

2)Failed to perform recovery: Incompatible agent info detected.问题解决

sudo rm -rf /var/log/mesos/*

sudo rm -rf /var/lib/mesos/meta/slaves/*

重启mesos-slave

3)上面三条命令可重复执行,知道ui上不在报Failed to perform recovery:

Incompatible agent info detected.问题

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

离线安装marathon

下载地址

http://mesosphere.github.io/marathon/

安装包

marathon-1.6.322.tgz

安装marathon

1)进入到marathon-1.6.322.tgz所在目录

执行解压命令:

sudo tar -zxf marathon-1.6.322.tgz -C /opt

2)修改文件夹名称:

sudo mv /opt/marathon-1.6.322-2bf46b341 /opt/marathon

配置marathon

1)创建文件夹

sudo mkdir /opt/marathon/logs

sudo mkdir /etc/marathon

2)配置zookeeper地址

sudo vi /etc/marathon/zk

/etc/marathon/zk内容:

zk://iot-node1:2181,iot-node2:2181,iot-node3:2181/marathon

3)配置mesos用户

sudo vi /etc/marathon/mesos_user

/etc/marathon/mesos_user内容:

hadoop

4)编辑启动脚本

sudo vi /opt/marathon/bin/marathon-server

/opt/marathon/bin/marathon-server内容:

MARATHON_MASTER=`cat /etc/mesos/zk`
MARATHON_ZK=`cat /etc/marathon/zk`
MARATHON_MESOS_USER=`cat /etc/marathon/mesos_user`

nohup /usr/sbin/marathon --master $MARATHON_MASTER --zk $MARATHON_ZK
–mesos_user $MARATHON_MESOS_USER > /opt/marathon/logs/marathon.out 2>&1
&

注册marathon服务

1)新建一个marathon脚本

sudo touch /etc/rc.d/init.d/marathon

2)给脚本添加执行权限

sudo chmod +x /etc/rc.d/init.d/marathon

3)编辑/etc/rc.d/init.d/marathon

sudo vi /etc/rc.d/init.d/marathon

/etc/rc.d/init.d/marathon内容:

#!/bin/bash
#chkconfig:2345 20 90
#description:marathon
#processname:marathon
#start marathon
start() {
pid=$(ps -ef | grep marathon | grep mesosphere | grep -v grep | awk ‘{print
$2}’)
if [ “$pid” == “” ]; then
sudo /opt/marathon/bin/marathon-server
fi
pid=$(ps -ef | grep marathon | grep mesosphere | grep -v grep | awk ‘{print
$2}’)
echo “marathon (pid “$pid”) is started”
}
#stop marathon
stop(){
pid=$(ps -ef | grep marathon | grep mesosphere | grep -v grep | awk ‘{print
$2}’)
if [ “$pid” != “” ]; then
sudo kill -9 $pid
fi
echo “marathon (pid “$pid”) is stopped”
}
#look status
status(){
pid=$(ps -ef | grep marathon | grep mesosphere | grep -v grep | awk ‘{print
$2}’)
if [ “$pid” != “” ]; then
echo “marathon (pid “$pid”) is running”
else
echo “marathon is not running”
fi
}
#restart marathon
restart(){
stop
start
}
case $1 in
start) start ;;
stop) stop ;;
status) status ;;
restart) restart ;;
*) echo “require start|stop|status|restart” ;;
esac

启动/停止/查看marathon

sudo service marathon start

sudo service marathon stop

sudo service marathon status

设置marathon开机自启

sudo chkconfig marathon on

查看开机自启服务

sudo chkconfig --list

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值