在Mesos上运行Hadoop
在Mesos上运行Hadoop,需要对代码进行修改。在Mesos-0.9.0中,带有Hadoop-0.20.205.0,并有patch。我们将在Mesos上,运行Hadoop-0.20.205.0。1、部署环境
master: blade6
slaves: blade10 blade13
2、安装hadoop
这一步骤需保证服务器联通外网。我们假设Mesos的安装目录是,进入/hadoop目录下,运行./TUTORIAL.sh,一直回车。
执行之后,在目录下找到两个文件/protobuf-2.4.1.jar、/src/mesos-0.9.0.jar,然后执行
cp /protobuf-2.4.1.jar/hadoop/hadoop-0.20.205.0
cp/src/mesos-0.9.0.jar /hadoop/hadoop-0.20.205.0
3、修改配置文件
大部分配置文件与hadoop配置相同,可参见《Hadoop部署运行》 http://speakingbaicai.blog.51cto.com/5667326/1221932,区别主要在mapred-site.xml,hadoop-env.sh两个文件。
(1) mapred-site.xml
mapred.job.tracker
blade6:19101
mapred.jobtracker.taskScheduler
org.apache.hadoop.mapred.MesosScheduler
mapred.mesos.master
blade6:5050
(2) conf/hadoop-env.sh
exportHADOOP_HOME=/home/wangmin/mesos/mesos-0.9.0/hadoop/hadoop-0.20.205.0/
# Google protobuf (necessary for runningthe MesosScheduler).
exportPROTOBUF_JAR=${HADOOP_HOME}/protobuf-2.4.1.jar
# Mesos.
exportMESOS_JAR=${HADOOP_HOME}/mesos-0.9.0.jar
# Native Mesos library.
exportMESOS_NATIVE_LIBRARY=/home/wangmin/mesos/mesos-0.9.0/src/.libs/libmesos.so
# The java implementation to use.Required.
# export JAVA_HOME=/usr/lib/j2sdk1.5-sun
exportJAVA_HOME=/etc/alternatives/java_sdk_1.6.0
# Extra Java CLASSPATH elements.Optional.
exportHADOOP_CLASSPATH=${HADOOP_HOME}/build/contrib/mesos/classes:${MESOS_JAR}:${PROTOBUF_JAR}
export HADOOP_HOME_WARN_SUPPRESS=TRUE
4、启动Hadoop
(1) 启动hdfs
bin/start-dfs.sh (2) 启动jobtracker(不需要启动tasktracker)
bin/hadoop jobtracker 之后可以像使用hadoop一样,提交作业
页:
[1]