在NFS上的Hadoop配置 – lucktroy的专栏 – 博客频道 – CSDN.NET

初到美国这边的实验室,老板很爽快的给了个小集群,让我配置下Hadoop. 我很快就答应了.

不过问题也随之而已,其一是给的集群其实就是一远程登录账户,而且没有root权限;其二集群共10个节点,但是共享存储的。本人这方面知识少,找了一个星期资料,才知道是NFS的。

后来找到了一个帖子:Hadoop – 将Hadoop建构在NFS以及NIF》,受到启发.

不过给的权限确实小,并无root权限,即能操作的目录仅在/home/my_user_name/目录下,幸好后来本人得知NFS下/tmp目录也是可以用的. 所以在这种艰苦的环境下,只能将用/tmp了. 

   

 其缺点就是:服务器的重启,/tmp会清空,从而Hadoop集群里的数据将丢失,好在本人只是做点research,不碍事!

     下面讲下配置吧!

<b style="color:black;background-color:#ffff66">Hadoop</b> version:  <b style="color:black;background-color:#ffff66">hadoop</b>-1.0.1</p><p>Java version: jdk1.6.0_12

0. 设置Java路径, 因为是NFS,而且本人权限只是user, 所以只能修改$HOME/.bash_profile

export JAVA_HOME=/usr/java/jdk1.6.0_12</p><p>export JRE_HOME=/usr/java/jdk1.6.0_12/jre</p><p>export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib</p><p>export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

然后使其生效:

source $HOME/.bash_profile

1. 编辑 conf/hadoop-env.sh, 添加JAVA_HOME

export JAVA_HOME=/usr/java/jdk1.6.0_12/
export <b style="color:black;background-color:#ffff66">HADOOP</b>_LOG_DIR=/tmp/<b style="color:black;background-color:#ffff66">hadoop</b>_username_log_dir

2. 将 src/core/core-default.xml, src/hdfs/hdfs-default.xml, src/mapred/mapred-default.xml 复制到 conf下,并重命名为 core-site.xml, hdfs-site.xml, mapred-site.xml, 并编辑这三文件.

&lt;!--core-site.xml--&gt;</p><p>&lt;property&gt;</p><p>  &lt;name&gt;fs.default.name&lt;/name&gt;</p><p>  &lt;value&gt;hdfs://head:9000&lt;/value&gt;</p><p>  &lt;description&gt;The name of the default file system.  A URI whose</p><p>  scheme and authority determine the FileSystem implementation.  The</p><p>  uri's scheme determines the config property (fs.SCHEME.impl) naming</p><p>  the FileSystem implementation class.  The uri's authority is used to</p><p>  determine the host, port, etc. for a filesystem.&lt;/description&gt;</p><p>&lt;/property&gt;</p><p>&lt;property&gt;</p><p>  &lt;name&gt;<b style="color:black;background-color:#ffff66">hadoop</b>.tmp.dir&lt;/name&gt;</p><p>  &lt;value&gt;/tmp/<b style="color:black;background-color:#ffff66">hadoop</b>-1.0.1_${user.name}&lt;/value&gt;</p><p>  &lt;description&gt;A base for other temporary directories.&lt;/description&gt;</p><p>&lt;/property&gt;
&lt;!--hdfs-site.xml--&gt;</p><p>&lt;property&gt;</p><p>  &lt;name&gt;dfs.replication&lt;/name&gt;</p><p>  &lt;value&gt;3&lt;/value&gt;</p><p>  &lt;description&gt;Default block replication. </p><p>  The actual number of replications can be specified when the file is created.</p><p>  The default is used if replication is not specified in create time.</p><p>  &lt;/description&gt;</p><p>&lt;/property&gt;
&lt;!--mapred-site.xml--&gt;</p><p>&lt;property&gt;</p><p>  &lt;name&gt;mapred.job.tracker&lt;/name&gt;</p><p>  &lt;value&gt;head:9001&lt;/value&gt;</p><p>  &lt;description&gt;The host and port that the MapReduce job tracker runs</p><p>  at.  If "local", then jobs are run in-process as a single map</p><p>  and reduce task.</p><p>  &lt;/description&gt;</p><p>&lt;/property&gt;

3. 这个是最重要的,我们需要再次编辑 conf/hadoop-env.sh,放在第一步编辑是完全可以的,这里放在最后一步,是为了强调!!就是修改HADOOP_LOG_DIR

export <b style="color:black;background-color:#ffff66">HADOOP</b>_LOG_DIR=/tmp/<b style="color:black;background-color:#ffff66">hadoop</b>-1.0.1_log_dir

4. 测试正常运行

版权声明:本文为博

来源URL:http://cache.baiducontent.com/c?m=9d78d513d99912f905b0d6690d678b32584381132ba1d40209d68439e4732a47506793ac56220772d3d20d6716d83948adb0687d6d4566f58cc9fb57c0ebcc757a9f2743215dd01d05d36ef39c00389f67c103afef44aca7a372d5f5838d8849059d155621deb1965f011ec16ffb17&p=9e6e8316d9c111a058ee902b470c81&newp=936ada16d9c111a058ee903d42448b231610db2151d7d4&user=baidu&fm=sc&query=hadoop+nfs%D6%D0%CE%C4%C2%D2%C2%EB&qid=8cce514700052861&p1=2