Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
vagrant up

 

At this point , the VM has will have a single node Mesos cluster running and a single node mesos
HDFS cluster running. You can modify the Mesos and Hadoop versions by editing the
corresponding variables in the `Vagrantfile`.

Check that Mesos and Hadoop are running with a browser:

Hadoop/HDFS namenode: http://10.141.141.20:50070
Mesos Master: http://10.141.141.20:5050/

 

To ssh into the cluster, run the following:

Code Block
 vagrant ssh

...

The password for the vagrant user is vagrant.

Setting up YARN/Hadoop

To setup YARN/Hadoop inside VM, run the following YARN setup shell files:

1. Run the first YARN setup shell command from the vagrant directory to create a user hduser in group hadoop. Be sure to remember the password that you provide for this user.

Code Block
 cd /vagrant
./setup-yarn-1.sh

 

2. Run the second YARN setup shell command as sudo.

 

You can switch to the hadoop user when needed to launch hadoop processes

Code Block
sudo
Code Block
 sudo su - hduser
cd /vagrant
./setup-yarn-2.sh

 

The following processes should be running:

Code Block
9844 Jps
6709 NameNode
6393 JobHistoryServer
6874 DataNode
note

Process IDs are different.

 

Installing Myriad

Installing Myriad involves downloading the Myriad binaries from GitHub. The Myriad location is currently at https://github.com/mesos/myriad.

To install Myriad:

  1. Create a new myriad directory.
  2. Clone the Myriad GitHub.
  3. Pull the contents to the new directory.

 

Configuring Myriad

To configure the Myriad:

Step 1: Build Myriad

...

Note

If a build failure occurs, the issue is not with the build itself, but a failure to write to disk. This can happen when you build outside the vagrant instance first. To resolve this issue, exit the user hduser (type: exit) and build again as the vagrant user.

...

Step 2: Deploy the Myriad Files

The Myriad Schedule and Executer jar files and all the runtime dependences as well as the Myriad configuration file must be copied to $YARN_HOME.

 

  • The Myriad Scheduler jar files and all the runtime dependencies are located at:
Code Block
/vagrant/myriad-scheduler/build/libs/*
  • The Myriad configuration file is located at:
Code Block
/vagrant/myriad-scheduler/src/main/resources/myriad-config-default.yml

Copy these Myriad Scheduler and Executer files to $YARN_HOME/share/hadoop/yarn/lib/. The default $YARN_HOME is /usr/local/hadoop/.

  • The Myriad Executor jar file are located at:
Code Block
/vagrant/myriad-scheduler/build/libs/myriad-executor-0.1.0.jar

 

For example, the files are copied to the following locations:

Code Block
cp /vagrant/myriad-scheduler/build/libs/* $YARN_HOME/share/hadoop/yarn/lib/ 
cp /vagrant/myriad-schedulerexecutor/srcbuild/main/resourceslibs/myriad-config-default.ymlexecutor-0.1.0.jar $YARN_HOME/share/hadoop/yarn/lib/
cp /vagrant/myriad-executorscheduler/src/buildmain/libsresources/myriad-executorconfig-0.0.1.jardefault.yml $YARN_HOME/shareetc/hadoop/yarn/lib/

Step 3: Configure the Myriad Defaults

...

Note

Enabling Cgroups involves modifying the yarn-site.xml and myriad-config-default.yml files. If you plan on using Cgroups, you could set that property at this time. See Configuring Cgroups for more information.

 

To configure Myriad itself, update $YARN_HOME/etc/hadoop/myriad-config-default.yml with the following content:

Code Block
mesosMaster: <mesos Master IP address>:5050
checkpoint: false
frameworkFailoverTimeout: 43200000
frameworkName: MyriadAlpha
nativeLibrary: /usr/local/lib/libmesos.so
zkServers: localhost:2181
zkTimeout: 20000
profiles:
small:
cpu: 12
mem: 11002048
medium:
cpu: 24
mem: 20484096
large:
cpu: 410
mem: 409612288
rebalancer: true
nodemanager:
jvmMaxMemoryMB: 1024
user: hduser
cpus: 0.2
cgroups: false
executor:
jvmMaxMemoryMB: 256
path: file://localhost/usr/local/libexec/mesos/myriad-executor-runnable-0.1.0.1.jar

Step 4: Configure YARN to use Myriad

...

Code Block
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>${nodemanager.resource.cpu-vcores}</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>${nodemanager.resource.memory-mb}</value>
</property>
<!-- The following properties enable dynamic port assignment by Mesos -->
<property>
    <name>yarn.nodemanager.address</name>
    <value>${myriad.yarn.nodemanager.address}</value>
</property>
<property>
    <name>yarn.nodemanager.webapp.address</name>
    <value>${myriad.yarn.nodemanager.webapp.address}</value>
</property>
<property>
    <name>yarn.nodemanager.webapp.https.address</name>
    <value>${myriad.yarn.nodemanager.webapp.address}</value>
</property>
<property>
    <name>yarn.nodemanager.localizer.address</name>
    <value>${myriad.yarn.nodemanager.localizer.address}</value>
</property>
<!-- The following properties configure Myriad Scheduler  -->
<property>
<name>yarn.resourcemanager.scheduler.class</name>
<value>com<value>org.ebayapache.myriad.scheduler.yarn.MyriadFairScheduler</value>
<description>One can configure other schedulers as well from following list: comorg.ebayapache.myriad.scheduler.yarn.MyriadCapacityScheduler, comorg.ebayapache.myriad.scheduler.yarn.MyriadFifoScheduler</description>
</property>

...

To launch Myriad, run the following:

Code Block
sudo su - hduser
yarn-daemon.sh start resourcemanager

...

...

  • Mesos UI - Use the 5050 port and Frameworks directory. For example: http://<ip <IP address>:5050/#/frameworks (http://10.141.141.20:5050/#/frameworks)

...

Code Block
yarn-daemon.sh stop resourcemanager
./vagrant/shutdown.sh
exit
exit
vagrant halt