现在的位置: 首页 > 综合 > 正文

Hadoop部署笔记

2013年06月10日 ⁄ 综合 ⁄ 共 1614字 ⁄ 字号 评论关闭

资料整理
----------------------------------------------------------------------------------------------------------

 

Hadoop Wiki:
http://wiki.apache.org/hadoop/

Hadoop部署教程:     http://cn.hadoop.org/?p=21

HDFS Architecture:    http://hadoop.apache.org/common/docs/current/hdfs_design.html

Google Mapreduce 论文:
 MapReduce: Simplified Data Processing on Large Clusters

 

速查手册
----------------------------------------------------------------------------------------------------------

 

1.查看hadoop的状态。

$ bin/hadoop dfsadmin -report

web方式查看: http://name.node.addr:50070/,  http://job.tracker.addr:50030/

 

2.添加新节点。
配置好slave node,并在slave node上启动datanode和tasktracker:
$ bin/hadoop-daemon.sh start datanode
$ bin/hadoop-daemon.sh start tasktracker

 

3.HiveServer启动。
为了使用JDBC连接Hive数据库,需要先启动HiveServer。默认使用10000端口。

$ bin/hive --service hiveserver

 

部署经验
----------------------------------------------------------------------------------------------------------

 

1.网上资料都强调使用主机名或域名进行部署,使用IP可能会出问题。

 

2.start-all的时候出现Name and service not known,无法启动DataNode。尚未解决。尝试在slaves文件中使用IP或域名。

 

3.出现端口冲突,检查是否有尚未停掉的Hadoop进程。

 

4.start-all的时候显示DataNode已启动,但DataNode未连接,log显示Server at [host:port] not available yet, Zzzzz...说明NameNode已连接到DataNode,但是DataNode不能连接回来。检查master文件和fs.default.name设置是否正确。尝试使用IP或域名。fs.default.name的格式为hdfs://[host]:[port]/

 

5.hive能启动,并且能创建table,并不代表Hadoop正确部署。我遇到一次能够load data,能够select *(没有mapreduce操作)。但是select count(1)就出现dfs错误。尚未解决。应该是mapreduce的tasktracker工作不正常。

 

6.新添加一个节点到集群当中时,HDFS不会自动地移动文件块到新节点当中去平衡磁盘空间。然而,新创建的文件将会使用新节点的磁盘。
有几种方法可以手动进行平衡。1)将文件复制一份,然后删掉源文件。2)将磁盘块满的节点关掉,然后等待直到文件块自动复制完成,再把节点加回去。这样,冗余数量变得过多,系统将会随机删去多余的冗余。3)运行bin/start-balancer.sh命令。

 

7.配置Hadoop的时候有许多路径要配置,其中一些是本地路径,而一些是HDFS的路径。

抱歉!评论已关闭.