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命令行步骤:
$wget http://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 [email protected]: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 [email protected]: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'