首页 > 代码库 > CentOS上安装mesos和实例测试

CentOS上安装mesos和实例测试

1 安装Mesos

在centOS上安装mesos,可以分为下面几个步骤。

必要的系统工具和库,运行下面的命令即可。

$sudo yum groupinstall "Developmenttools"
$sudo yum installjava-1.6.0-openjdk.x86_64 java-1.6.0-openjdk-devel.x86_64 python python-devel libcurllibcurl-devel


下载mesos源码,安装mesos命令行步骤:

$wgethttp://www.apache.org/dist/mesos/0.19.0/mesos-0.19.0.tar.gz
$tar -zxf mesos-0.19.0.tar.gz
$mv mesos-0.19.0 mesos
#./configure --prefix=/opt/mesos &&make && make check && make install
./configure --prefix=/opt/mesos &&make && make install


注意:

1. 编译过程中,会报一个错误,javadoc引用出错。解决方法是,直接进入src/java目录下,mesos.pom文件中,注释掉这行记录就可以了。

2. 如果时间不是那么充裕,可以不运行make check验证命令。原因是它将耗费好长的时间来执行验证脚本程序。


2 实例测试

     Mesos实例有用C++, Java和Python编写,操作步骤如下:

 # Change into build directory.
 $ cd build
 
 # Start mesos master (***Ensure work directory exists and has proper permissions***).
 $ ./bin/mesos-master.sh --ip=127.0.0.1 --work_dir=/var/lib/mesos
 
 # Start mesos slave.
 $ ./bin/mesos-slave.sh --master=127.0.0.1:5050
 
 # Visit the mesos web page.
 $ http://127.0.0.1:5050


C++实例:

 # Run C++ framework (***Exits after successfully running some tasks.***).
 $ ./src/test-framework --master=127.0.0.1:5050
I0721 11:06:55.031108  6857 sched.cpp:126] Version: 0.19.0
I0721 11:06:55.035475  6883 sched.cpp:222] New master detected atmaster@127.0.0.1:5050
I0721 11:06:55.036548  6883 sched.cpp:230] No credentials provided.Attempting to register without authentication
I0721 11:06:55.040148  6883 sched.cpp:397] Framework registered with20140721-110017-16777343-5050-6678-0001
Registered!
.Starting task 0 on hadoop-master
Task 0 is in state 1
Task 0 is in state 2
.Starting task 1 on hadoop-master
Task 1 is in state 1
Task 1 is in state 2
.Starting task 2 on hadoop-master
Task 2 is in state 1
Task 2 is in state 2
.Starting task 3 on hadoop-master
Task 3 is in state 1
Task 3 is in state 2
.Starting task 4 on hadoop-master
Task 4 is in state 1
Task 4 is in state 2
I0721 11:06:59.736284  6880 sched.cpp:730] Stopping framework'20140721-110017-16777343-5050-6678-0001'



Java实例:

# Run Java framework (***Exits after successfully running some tasks.***).
 $ ./src/examples/java/test-framework 127.0.0.1:5050
略…

Python实例:

 # Run Python framework (***Exits after successfully running some tasks.***).
 $ ./src/examples/python/test-framework 127.0.0.1:5050
[app@hadoop-mastermesos]$ ./src/examples/python/test-framework 127.0.0.1:5050
I072111:05:07.645002  6807 sched.cpp:126]Version: 0.19.0
I072111:05:07.650837  6813 sched.cpp:222] Newmaster detected at master@127.0.0.1:5050
I072111:05:07.652999  6813 sched.cpp:230] Nocredentials provided. Attempting to register without authentication
I072111:05:07.659893  6813 sched.cpp:397]Framework registered with 20140721-110017-16777343-5050-6678-0000
Registeredwith framework ID 20140721-110017-16777343-5050-6678-0000
Got1 resource offers
Gotresource offer 20140721-110017-16777343-5050-6678-0
Acceptingoffer on hadoop-master to start task 0
Task0 is in state 1
Task0 is in state 2
Receivedmessage: 'data with a \x00 byte'
Got1 resource offers
Gotresource offer 20140721-110017-16777343-5050-6678-1
Acceptingoffer on hadoop-master to start task 1
Task1 is in state 1
Task1 is in state 2
Receivedmessage: 'data with a \x00 byte'
Got1 resource offers
Gotresource offer 20140721-110017-16777343-5050-6678-2
Acceptingoffer on hadoop-master to start task 2
Task2 is in state 1
Task2 is in state 2
Receivedmessage: 'data with a \x00 byte'
Got1 resource offers
Gotresource offer 20140721-110017-16777343-5050-6678-3
Acceptingoffer on hadoop-master to start task 3
Task3 is in state 1
Task3 is in state 2
Receivedmessage: 'data with a \x00 byte'
Got1 resource offers
Gotresource offer 20140721-110017-16777343-5050-6678-4
Acceptingoffer on hadoop-master to start task 4
Task4 is in state 1
Task4 is in state 2
Alltasks done, waiting for final framework message
Receivedmessage: 'data with a \x00 byte'
Alltasks done, and all messages received, exiting
I072111:05:14.626263  6817 sched.cpp:730]Stopping framework '20140721-110017-16777343-5050-6678-0000'