Hadoop 集群 傻瓜式搭建手记

系统 2226 0

关于Hadoop的配置,按照我的理解,应该有六个文件需要修改,它们都在Hadoop的conf文件夹下,分别是

masters/slavers:配置masters和slavers的机器IP

hadoop-env.sh :Hadoop 运行时的环境变量,比如JAVA_HOME,LOG之类的

core-site.xml :Hadoop 的核心配置文件,对应并覆盖core-default.xml 中的配置项

hdfs-site.xml :HDFS 的配置文件,对应并覆盖hdfs-default.xml 中的配置项

mapred-site.xml : Map/Reduce的配置文件,对应并覆盖mapred-default.xml 中的配置项

上面提到的三个*-default.xml 是Hadoop的默认配置项,理论上都是只读的,如果要修改,就通过对应的用户配置文件来覆盖其设置。

 

1、先配置masters/slavers,NameNode和JobTracker是master, DataNode01和DataNode02是salvers

Masters:

 

  1. vi /hadoop/conf/masters  
masters文件内容如下:

 

 

  1. 192.168.100.101  
  2. 192.168.100.102  

 

Slavers:

  1. vi /hadoop/conf/slavers  
slavers文件内容如下:

 

 

  1. 192.168.100.103  
  2. 192.168.100.104  


 

2、先配置hadoop-env.sh,这里最重要的是配置JAVA_HOME,在我的机器上是这样的:

 

  1. export JAVA_HOME=/usr/lib/jvm/java-6-sun  

其余的可以考虑配置日志文件路径:

 

 

  1. export HADOOP_LOG_DIR=${HADOOP_HOME}/logs  

3、配置 core-site.xml ,通过文档可以知道这里一般是配置NameNode的地址,即机器名或IP:

 

  1. < configuration >     
  2.          < property >   
  3.                  < name > fs.default.name </ name >      
  4.                  < value > hdfs://192.168.100.101:9000 </ value >      
  5.          </ property >    
  6. </ configuration >    

4、配置 hdfs-site.xml ,这里一般配置文件存放路径以及文件权限:

 

 

  1. < configuration >     
  2.      < property >     
  3.          <!-- DFS中存储文件命名空间信息的目录 -->     
  4.          < name > dfs.name.dir </ name >     
  5.          < value > /hadoop/dfs/name </ value >     
  6.      </ property >     
  7.      < property >     
  8.          <!-- DFS中存储文件数据的目录 -->     
  9.          < name > dfs.data.dir </ name >      
  10.          < value > /hadoop/dfs/data </ value >     
  11.      </ property >     
  12.      < property >     
  13.          <!-- 是否对DFS中的文件进行权限控制(测试中一般用false)-->     
  14.          < name > dfs.permissions </ name >     
  15.          < value > false </ value >     
  16.     </ property >     
  17. </ configuration >    


5、配置 mapred-site.xml , 这里配置的东西有很多,都是跟Map-Reduce相关的,不过暂时先配置如下几项:

 

  1. < configuration >   
  2.      < property >     
  3.          <!-- JobTracker节点 -->     
  4.          < name > mapred.job.tracker </ name >     
  5.          < value > hdfs://192.168.100.102:9001 </ value >     
  6.      </ property >     
  7.      < property >     
  8.          <!-- map/reduce的系统目录(使用的HDFS的路径) -->     
  9.          < name > mapred.system.dir </ name >     
  10.          < value > /hadoop/mapred/system </ value >     
  11.      </ property >     
  12.      < property >     
  13.          <!-- map/reduce的临时目录(可使用“,”隔开,设置多重路径来分摊磁盘IO) -->     
  14.          < name > mapred.local.dir </ name >     
  15.          < value > /hadoop/mapred/local </ value >     
  16.      </ property >     
  17. </ configuration >    

 

 

这些配置都可以在一台机器上搞定,由于Hadoop所有机器是使用同样的配置,所以可以通过scp命令将conf下的内容拷贝复制到各个机器上:

 

  1. scp -rp /hadoop/conf fox@192.168.100.102/hadoop/  

只复制conf是由于我拷贝虚拟机时就已经把JAVA,Hadoop 都安装好后才拷贝的,这样可以保证所有文件在同一目录。

 

 

启动

然后,激动人心的时刻到了,所有配置都搞定了,我们可以启动了!

不过还有一件事情必须要先做, 格式化名称空间。

在NameNode上,执行如下命令:

 

  1. cd /hadoop/bin  
  2. ./hadoop namenode -format  
执行后结果如下:

 

Hadoop 集群 傻瓜式搭建手记

 

然后就可以执行最后一个命令了:

 

  1. ./start-all.sh  

如果一切顺利的话,应该就成功了:

 

Hadoop 集群 傻瓜式搭建手记

 

如果要关闭的话,可以执行

 

  1. ./stop-all.sh  


ref:http://blog.csdn.net/lee_leefox/article/details/7071692

Hadoop 集群 傻瓜式搭建手记


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论