73 lines
1.6 KiB
Bash
73 lines
1.6 KiB
Bash
#!/bin/bash
|
|
|
|
. /etc/sysconfig/heat-params
|
|
|
|
echo "Configuring mesos (master)"
|
|
|
|
myip=$(ip addr show eth0 |
|
|
awk '$1 == "inet" {print $2}' | cut -f1 -d/)
|
|
|
|
# Fix /etc/hosts
|
|
sed -i "s/127.0.1.1/$myip/" /etc/hosts
|
|
|
|
######################################################################
|
|
#
|
|
# Configure ZooKeeper
|
|
#
|
|
|
|
# List all ZooKeeper nodes
|
|
id=1
|
|
for master_ip in $MESOS_MASTERS_IPS; do
|
|
echo "server.$((id++))=${master_ip}:2888:3888" >> /etc/zookeeper/conf/zoo.cfg
|
|
done
|
|
|
|
# Set a ID for this node
|
|
id=1
|
|
for master_ip in $MESOS_MASTERS_IPS; do
|
|
if [ "$master_ip" = "$myip" ]; then
|
|
break
|
|
fi
|
|
id=$((id+1))
|
|
done
|
|
echo "$id" > /etc/zookeeper/conf/myid
|
|
|
|
######################################################################
|
|
#
|
|
# Configure Mesos
|
|
#
|
|
|
|
# Set the ZooKeeper URL
|
|
zk="zk://"
|
|
for master_ip in $MESOS_MASTERS_IPS; do
|
|
zk="${zk}${master_ip}:2181,"
|
|
done
|
|
# Remove tailing ',' (format: zk://host1:port1,...,hostN:portN/path)
|
|
zk=${zk::-1}
|
|
echo "${zk}/mesos" > /etc/mesos/zk
|
|
|
|
# The IP address to listen on
|
|
echo "$myip" > /etc/mesos-master/ip
|
|
|
|
# The size of the quorum of replicas
|
|
echo "$QUORUM" > /etc/mesos-master/quorum
|
|
|
|
# The hostname advertised in ZooKeeper
|
|
echo "$myip" > /etc/mesos-master/hostname
|
|
|
|
# The cluster name
|
|
echo "$CLUSTER_NAME" > /etc/mesos-master/cluster
|
|
|
|
######################################################################
|
|
#
|
|
# Configure Marathon
|
|
#
|
|
|
|
mkdir -p /etc/marathon/conf
|
|
|
|
# Set the ZooKeeper URL
|
|
echo "${zk}/mesos" > /etc/marathon/conf/master
|
|
echo "${zk}/marathon" > /etc/marathon/conf/zk
|
|
|
|
# Set the hostname advertised in ZooKeeper
|
|
echo "$myip" > /etc/marathon/conf/hostname
|