gmdzxx 发表于 2018-10-31 13:11:57

在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]
查看完整版本: 在Mesos上运行Hadoop