`
kavy
  • 浏览: 866367 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Mesos的分析1 --- 原理、安装、部署过程

 
阅读更多

Berkeley推出之后,即可引起了学术界的深入研究。目前,代码已经在github上可以下载。

它的框架图如下:
Mesos的分析1 <wbr>--- <wbr>原理、安装、部署过程
从这个框架中,重点在于集群资源的复用,和作业的管理。
Mesos的创新在于:如何支持不同的分布式计算框架,而解决这个问题的关键是,如何将Mesos管理的资源分配给Hadoop。为了介绍清楚,下面将Mesos的调度模块的将架构贴上:
Mesos的分析1 <wbr>--- <wbr>原理、安装、部署过程

上图的Framework表示的是一种分布式计算框架,例如Hadoop。通过JobClient提交了作业之后,交由JobTracker通过心跳与TaskTracker进行任务分配,在JobTracker中会由TaskScheduler分配task到具体的TaskTracker是执行,在选择哪个TaskTracker去执行的过程中,Mesos不参与,完全由Hadoop自己的Master-Slave的框架来作,只是在申请资源的过程中,会通过其中Mesos提供的分配资源的模块进行资源的请求,Mesos资源分配模块,会根据当前分布式系统中资源的使用情况,适时地将作业下放到对应TaskTracker所在节点。

在编译Mesos的过程中,出现了以下的问题:
找不到对应gtest.h的问题,需要重新到google code上把该包下载下来即可。安装之后,在按照Mesos文档的要求实现安装。
我在安装的过程中出现了两个问题:
1)gtest.h的文件不存在。Mesos的configure没有将gtest的编译放进管理的区域内,因此找不到。
解决措施:直接从google code上下载gtest,然后首先自行安装,然后再次编译。
2)jni,由于mesos将其资源分配模块通过SWIG提供java接口。编译报错:jni_md.h 文件找不到。
解决措施:将$JAVA_HOME/include/linux/* 下的文件拷贝到 $MESOS_HOME/include 即可。

注意,如果机器是32位的话,还要加上--march=i484的参数,下面附上我使用的参数:

./configure --with-python-headers=/usr/include/python2.6 --with-webui --with-java-home=/opt/sun-jdk-1.6.0.17/  --with-java-headers=/opt/sun-jdk-1.6.0.17/include/ --with-included-zookeeper CXXFLAGS="-march=i486"

然后 make
在启动Master Slave Daemon
启动Master:
bin/mesos-master


I0411 15:13:16.455807 31275 logging.cpp:40] Logging to /home/jiangbing/mesos/logs
I0411 15:13:16.456114 31275 main.cpp:60] Creating event logger.
I0411 15:13:16.456135 31275 event_logger.cpp:75] No log directory was specified, so not creating any event writers (e.g. FileEventWriter). No event logging will happen!
I0411 15:13:16.456178 31275 main.cpp:71] Build: 2011-04-11 14:32:07 by root
I0411 15:13:16.456197 31275 main.cpp:72] Starting Mesos master
I0411 15:13:16.456627 31276 master.cpp:266] Master started at mesos://1@10.5.0.55:5050
I0411 15:13:16.456670 31275 webui.cpp:63] Starting master web UI on port 8080
I0411 15:13:16.456715 31278 webui.cpp:31] Web UI thread started
I0411 15:13:16.456728 31276 master.cpp:276] Master ID: 201104111513-0
I0411 15:13:16.456748 31276 master.cpp:1115] Creating "simple" allocator
I0411 15:13:16.456799 31276 master.cpp:294] New master detected ... maybe it's us!
I0411 15:13:16.469812 31278 webui.cpp:43] Loading webui/master/webui.py
Bottle server starting up (using WSGIRefServer())...
Listening on http://0.0.0.0:8080/
Use Ctrl-C to quit.

启动Slave
bin/mesos-slave  --url=mesos://1@10.5.0.55:5050


I0411 15:14:26.927850 31291 logging.cpp:40] Logging to /home/jiangbing/mesos/logs
I0411 15:14:26.928165 31291 main.cpp:66] Creating "process" isolation module
I0411 15:14:26.928184 31291 main.cpp:74] Build: 2011-04-11 14:32:19 by root
I0411 15:14:26.928200 31291 main.cpp:75] Starting Mesos slave
I0411 15:14:26.928655 31292 slave.cpp:149] Slave started at 1@10.5.0.55:40244
I0411 15:14:26.928681 31291 webui.cpp:74] Starting slave web UI on port 8081
I0411 15:14:26.928736 31294 webui.cpp:34] Web UI thread started
I0411 15:14:26.928771 31292 slave.cpp:160] setting up webUIUrl on port 8081
I0411 15:14:26.928829 31292 slave.cpp:181] New master at 1@10.5.0.55:5050 with ID:0
I0411 15:14:26.929329 31292 slave.cpp:217] Registered with master; given slave ID 201104111513-0-0
I0411 15:14:26.941684 31294 webui.cpp:47] Loading webui/slave/webui.py
Bottle server starting up (using WSGIRefServer())...
Listening on http://0.0.0.0:8081/
Use Ctrl-C to quit.

 

http://blog.sina.com.cn/s/blog_4a1f59bf0100qmmq.html

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics