Skip to main content

Mesos | Master | Agent | Zookeeper | Installation and Troubleshoot for Cent OS

Get RPM from the Mesosphere site:
Get URL for repository from - Mesosphere Package Repositories

Download MESOS version specific rpm from - https://open.mesosphere.com/downloads/mesos/#apache-mesos-1.9.0
Install MESOS fo RHEL / Cent OS:
Add the repository for MESOSPHERE:
# rpm -Uvh http://repos.mesosphere.com/el/7/noarch/RPMS/mesosphere-el-repo-7-3.noarch.rpm

It will install most recent package of MESOSPHERE, which can install mesosphere (master and agent), marathon, and zookeeper.
Install mesosphere:
# yum install --enablerepo=mesosphere mesos
Check mesos installation:
# yum list installed | grep mesos
mesos.x86_64 1.9.0-2.0.1.el7 @mesosphere mesosphere-el-repo.noarch 7-3 installed
Install marathon:
# yum install --enablerepo=mesosphere marathon
Check marathon installation:
# yum list installed | grep marathon
marathon.noarch 1.9.109-1.el7 @mesosphere-noarch
Install zookeeper:# yum install mesosphere-zookeeper
Check zookeeper installation:

# yum list installed | grep zoo*
mesosphere-zookeeper.x86_64 3.4.6-0.1.20141204175332.centos7
Configure Master:
Configure zookeeper unique id for Master 1:

You can select any unique no. for your master, in following example I have configured No. 5
# echo 5 > /var/lib/zookeeper/myid
Create hostname file to store IP address of Master 1:
# echo '<IP Address of Master 1>' > /etc/mesos-master/hostname
Configure zookeeper unique id Master 2:
You can select any unique no. for your master, in following example I have configured No.6
# echo 6 > /var/lib/zookeeper/myidCreate hostname file to store IP address of Master 2:# echo '<IP Address of Master 2>' > /etc/mesos-master/hostname
Update zoo.cfg on each master server as below:/etc/zookeeper/conf/zoo.cfg add this entry to the end of config file
server.5=<Master 1 IP Address>:2888:3888
server.6=
<Master 2 IP Address>:2888:3888
Configure zookeeper in mesos directory:
Edit file - /etc/mesos/zk and include following
echo 'zk://<Master 1 IP Address>:2181,<Master 2 IP Address>:2181/mesos' > /etc/mesos/zk
Original file has - zk://localhost:2181/mesos
Start, and check status for Zookeeper on one of the Master 2:
# systemctl start zookeeper.service
# systemctl status zookeeper.service
Start mesos, and check status for Master 2:
# systemctl start mesos-master
# systemctl status mesos-master
Start mesos Slave:
# systemctl start mesos-slave
Configure Marathon on Master 1:Add following lines in file /etc/default/marathon
MARATHON_MASTER="zk://
<Master 1 IP Address>:2181,<Master 2 IP Address>:2181/mes"
MARATHON_ZK="zk://
<Master 1 IP Address>:2181,<Master 2 IP Address>:2181/marathon"
OR you will get error - marathon: No start hook file found ($HOOK_MARATHON_START). Proceeding with the start script.
Start Marathon:
#systemctl start marathon.service
Troubleshoot Marathon Start Service:
#journalctl -xefu marathon
OR
Check log file - /var/log/mesage you will findmarathon: [scallop] Error: Required option 'master' not found
systemd: marathon.service: main process exited, code=exited, status=1/FAILURE
systemd: Unit marathon.service entered failed state.
systemd: marathon.service failed.
Browse Mesos and Marathon:

Browse MESOS - http://<Master 1 IP Address>:5050
Browse Marathon - http://
<Master 1 IP Address>:8080
Install Mesos Agent:

Add the repository for MESOSPHERE:

# rpm -Uvh http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm
Install mesos software:
# yum install -y mesos
Update containerizers with docker and mesos on agent:
# echo 'docker,mesos' > /etc/mesos-slave/containerizers

Update timeout count on agent:
# echo '5mins' > /etc/mesos-slave/executor_registration_timeout
echo 'zk://<Master 1 IP Address>:2181,<Master 2 IP Address>:2181/mesos' > /etc/mesos/zk
Start Mesos Slave, and check status:
# systemctl start mesos-slave
# systemctl status mesos-slave
Fix for - Refusing to create a new Framework ID while there are existing instances

  • Remove directory /var/lib/zookeeper/version-2 from both masters
  • Restart mesos-master, zookeeper, on both nodes
  • Start marathon

Comments

Popular posts from this blog

MySQL InnoDB cluster troubleshooting | commands

Cluster Validation: select * from performance_schema.replication_group_members; All members should be online. select instance_name, mysql_server_uuid, addresses from  mysql_innodb_cluster_metadata.instances; All instances should return same value for mysql_server_uuid SELECT @@GTID_EXECUTED; All nodes should return same value Frequently use commands: mysql> SET SQL_LOG_BIN = 0;  mysql> stop group_replication; mysql> set global super_read_only=0; mysql> drop database mysql_innodb_cluster_metadata; mysql> RESET MASTER; mysql> RESET SLAVE ALL; JS > var cluster = dba.getCluster() JS > var cluster = dba.getCluster("<Cluster_name>") JS > var cluster = dba.createCluster('name') JS > cluster.removeInstance('root@<IP_Address>:<Port_No>',{force: true}) JS > cluster.addInstance('root@<IP add>,:<port>') JS > cluster.addInstance('root@ <IP add>,:<port> ') JS > dba.getC...

InnoDB cluster Remove Instance Force | Add InnoDB instance

InnoDB cluster environment UUID is different on node: To fix it stop group replication, remove instance (use force if require), add instance back Identify the node which is not in sync: Execute following SQL statement on each node and identify the node has different UUID on all nodes. mysql> select * from mysql_innodb_cluster_metadata.instances; Stop group replication: Stop group replication on the node which does not have same UUID on all nodes. mysql > stop GROUP_REPLICATION; Remove instances from cluster: Remove all secondary node from the cluster and add them back if require. $mysqlsh JS >\c root@<IP_Address>:<Port_No> JS > dba.getCluster().status() JS > dba.getCluster () <Cluster:cluster_name> JS > var cluster = dba.getCluster("cluster_name"); JS >  cluster.removeInstance('root@<IP_Address>:<Port_No>'); If you get "Cluster.removeInstance: Timeout reached waiting......" JS > cluster.removeInstance(...

Oracle E-Business Suite Online Patch Phases executing adop

Following description about Oracle E-Business Suite is high level and from documentation https://docs.oracle.com/cd/E26401_01/doc.122/e22954/T202991T531062.htm#5281339 for in depth and detail description refer it. The online patching cycle phases: Prepare Apply Finalize Cutover Cleanup Prepare phase: Start a new online patching cycle, Prepares the environment for patching. $ adop phase=prepare Apply phase: Applies the specified patches to the environment. Apply one or more patches to the patch edition. $ adop phase=apply patches=123456,789101 workers=8 Finalize phase: Performs any final steps required to make the system ready for cutover. Perform the final patching operations that can be executed while the application is still online. $ adop phase=finalize Cutover phase: Shuts down application tier services, makes the patch edition the new run edition, and then restarts application tier services. This is the only phase that involves a brief ...