【工作经历:阿里巴巴搜索技术研发中心QA ,百度新产品测试部QA】 【领域:测试分析,自动化测试,性能测试,安全测试 】 【个人定位:高级测试工程师+培训师+领域产品专家】

hadoop单机版环境搭建

上一篇 / 下一篇  2010-03-30 23:58:47 / 个人分类:Linux

项目中需要用到了hadoop,原有的hadoop环境因为其他原因,有些冲突。自己就重新搭建了一套。
也为了以后自己可以更方便的测试

1、下载hadoop。这个在我之前的函数库中已经封装好了地址。直接hadoop_download 即可。

hadoop_download ()
{
    rsa `hostname -a`;
    wget 'http://labs.xiaonei.com/apache-mirror/hadoop/core/hadoop-0.18.3/hadoop-0.18.3.tar.gz' 'http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/
USD/VerifyItem-Start/jdk-6u14-linux-x64.bin?BundledLineItemUUID=Ev1IBe.p.mYAAAEilUYHlhw5&OrderID=AvVIBe.p208AAAEigkYHlhw5&ProductID=tPxIBe.oz2IAAAEhmh0zLjfT&FileName=/jdk-6u14-l
inux-x64.bin';
    tar zxvf hadoop-0.18.3.tar.gz;
    cd hadoop-0.18.3;
    [[ -z $JAVA_HOME ]] && print please set JAVA_HOME
}


2、设置单机版的配置。在conf/hadoop-site.xml中,添加如下的配置


<configuration>

<property>

   <name>fs.default.name</name>

   <value>hdfs://localhost:9000</value>

 </property>

 <property>

   <name>mapred.job.tracker</name>

   <value>hdfs://localhost:9001</value>

 </property>

 <property>

   <name>dfs.replication</name>

   <value>1</value>

 </property>

</configuration>




在conf/hadoop-env.sh中,添加export JAVA_HOME=jdk的路径。

3、准备工作

把本机打通认证。就是让自己登陆自己不需要密码提示。使用函数库中的rsa 本机ip   即可。
格式化namenode
bin/hadoop namenode –format

4、启动
bin/start-all.sh  即可。
不过一般,可能会遇到一些奇怪的错误。比如


INFO hdfs.DFSClient: org.apache.hadoop.ipc.RemoteException: java.io.IOException: File <filename> could only be replicated to 0 nodes, instead of 1

当初遇到这种情况的时候,着实郁闷了一番。google无果。有人提出了方法,但是也不对。
后来考虑了下,可能是本机有其他的hadoop环境也在运行,可能是公用的东西有冲突。一般是/tmp下的文件。

我直接删除了/tmp下的相关文件,修改了所有的端口。然后重新格式化namenode。
然后重新启动。

结果OK。解决这个问题,是本次最大的收获。。




4、多机版的配置
触类旁通吧,修改相关的配置文件即可。做测试的话,单机版就OK.不够的话,就需要再conf/slave里面多添加几列ip吧。




5、若干问题记录。
hadoop的slave文件,是个鸡肋。系统读取相关的资源,是从hadoop-default.xml与hadoop-site.xml中读取的。配置好这两个文件是关键。
master,与slave只不过是client端使用。
启动后可以通过web界面去访问相关的信息,查看是否正常工作。
访问50070即可。





TAG:

 

评分:0

我来说两句

Open Toolbar