说起这个环境,真是一把鼻涕一把泪,整整一周的时间就这么过去了,庆幸的是这个环境能用了。
总共7台机器:
CentOS 6.3
namenode :dubai2 172.16.199.53
datanode :dubai3\dubai5\dubai6\dubai8\oslo8\oslo13
各软件版本:
Hadoop 1.2.1;HBase 0.94.19;zookeeper-3.4.5;java version "1.6.0_25"
开始:
1. 请关闭防火墙:
service iptables stop
chkconfig iptables off
(!!一定要注意,我因为这个折腾1天多,最后还是别人帮忙解决的。有时候防火墙自动开了,出问题时请随手检查一下,以防万一!)
2. hosts配置,请给环境中的所有配置做修改:
示例:vi /etc/hosts
#127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
#172.16.199.62 dubai5.sz.fonsview.com dubai5
### Add by hadoop start ###
172.16.199.62 dubai5.sz.fonsview.com dubai5
172.16.199.65 dubai6.sz.fonsview.com dubai6
172.16.199.71 dubai8.sz.fonsview.com dubai8
172.16.199.53 dubai2.sz.fonsview.com dubai2
172.16.199.56 dubai3.sz.fonsview.com dubai3
172.16.199.121 oslo8.sz.fonsview.com oslo8
172.16.199.136 oslo13.sz.fonsview.com oslo13
### Add by hadoop end ###
(网上有很多说法,说回环地址要注释掉,但实际上没注释掉也没发现什么问题)
3. ssh免密码登录:
在namenode上(dubai2)执行:ssh -keygen -t rsa,全部才用默认配置,连续回车。完成后进入root/.ssh目录,将id_rsa.pub复制一份为authorized_keys,命令如下:
cat id_rsa.pub>>authrized_keys,并且将此authrized_keys文件复制到其他的服务器上。并且验证。这样就不需要密码了,例如:
[root@dubai6 ~]# ssh dubai3
Last login: Thu Jul 17 17:38:26 2014 from dubai2.sz.fonsview.com
[root@dubai3 ~]#
4.安装过程:省略
5.配置:
5.1 环境变量:
export JAVA_HOME=/opt/fonsview/3RD/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/lib:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
export HADOOP_HOME=/root/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
5.2 一般情况下修改配置文件(安装目录下,注意每台服务器都要修改)都请重启服务,最好先停止服务再改吧:
[root@dubai2 hadoop]# cat /root/hadoop/conf/slaves #数据节点datanode
dubai3
dubai5
dubai6
dubai8
oslo8
oslo13
[root@dubai2 hadoop]# cat /root/hadoop/conf/masters #主节点 namenode
dubai2
[root@dubai2 hadoop]# vi /root/zookeeper/conf/zoo.cfg#配置相应的server.id,这个id请在/root/zookeeper/data/新建myid,并写入一个id号,与配置中保持一致。
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper
clientPort=2181
dataDir=/root/zookeeper/data
dataLogDir=/root/zookeeper/logs
server.1=dubai2:2888:3888
server.2=dubai3:2889:3889
server.3=dubai5:2890:3890
server.4=dubai6:2891:3891
server.5=dubai8:2892:3892
server.6=oslo8:2893:3893
server.7=oslo13:2894:3894
[root@dubai2 data]# vi /root/hbase/conf/regionservers#配置regionserver
dubai3
dubai5
dubai6
dubai8
oslo8
oslo13
[root@dubai2 data]# vi /root/hbase/conf/hbase-site.xml
hbase.rootdir
hdfs://dubai2:9000/hbase#主节点域名
hbase.cluster.distributed
true#设置为true,自启动zookeeper
hbase.zookeeper.property.clientPort
2181#client 端口
hbase.zookeeper.quorum
dubai2,dubai3,dubai5,dubai6,dubai8,oslo8,oslo13#集群内所有机器
hbase.zookeeper.property.dataDir
/root/zookeeper/data
5.3脚本介绍:
hadoop/bin:
./stop mapred.sh
./start mapred.sh 停止和开启mapredce进程
start-all.sh stop-all.sh 启动和停止集群
hbase/bin:
./start hbase.sh ./stop hbase.sh 启动和关闭hbase
由于上文中把hbase.cluster.distributed设置为true,所以启动hbase会自启动zookeeper。要不然就要到zookeeper下去启动了。
在启动和停止hbase和hadoop时一定要注意,先启动hadoop后启动hbase;先停止hbase,后停止hadoop的顺序。在修改配置的时候最好先停止服务。
5.4命令记录:
1)hadoop dfsadmin -safemode leave
dfsadmin -safemode value 参数value的说明如下:
enter - 进入安全模式
leave - 强制NameNode离开安全模式
get - 返回安全模式是否开启的信息
wait - 等待安全模式结束。
2)重新格式化文件系统 hadoop namenode -format
3) ./bin/ hadoop dfsadmin -report 查看当前节点情况
4)./hadoop dfsadmin -refreshNodes更新节点
5)./hadoop job -list列出当前任务
./hadoop job -kill job_201407171931_0001停止当前任务
6)查看hdfs中/user/hac/imput目录下的文件。
sh bin/hadoop fs -ls /user/hac/imput
我们也可以列出hdfs中/user/hac/imput目录下的所有文件(包括子目录下的文件)。
sh bin/hadoop fs -lsr /user/hac/imput
创建文件:
sh bin/hadoop fs -mkdir /user/hac/imput/newDir
删除文件:
sh bin/hadoop fs -rm /user/hac/imput/needDelete
删除hdfs中/user/hac/imput目录以及该目录下的所有文件
sh bin/hadoop fs -rmr /user/hac/imput
上传文件:
sh bin/hadoop fs –put /home/admin/newFile /user/hac/imput/
下载文件:
sh bin/hadoop fs –get /user/hac/imput/newFile /home/admin/newFile
Usage: hadoop [--config confdir] COMMAND
where COMMAND is one of:
namenode -format format the DFS filesystem
secondarynamenode run the DFS secondary namenode
namenode run the DFS namenode
datanode run a DFS datanode
dfsadmin run a DFS admin client
fsck run a DFS filesystem checking utility
fs run a generic filesystem user client
balancer run a cluster balancing utility
jobtracker run the MapReduce job Tracker node
pipes run a Pipes job
tasktracker run a MapReduce task Tracker node
job manipulate MapReduce jobs
queue get information regarding JobQueues
version print the version
jar run a jar file
distcp copy file or directories recursively
archive -archiveName NAME * create a hadoop archive
daemonlog get/set the log level for each daemon
or
CLASSNAME run the class named CLASSNAME
sh bin/hadoop fs –cat /home/admin/newFile
5.5 检查状态
集群正常情况下jps以下服务正常启动:
namenode 下执行jps:
2438 NameNode
2758 JobTracker
2690 SecondaryNameNode
3652 HMaster
11043 HQuorumPeer
datanode下执行jps:
3501 HQuorumPeer
2663 TaskTracker
2482 DataNode
3530 HRegionServer
5.6 问题记录
1.检查磁盘空间。有一次查看节点状况时发现DFS used 100%,重启集群后正常了。
2.从6个节点,改成2个节点的时候,集群怎么都无法执行任务。查看服务状态都是对的。
阅读(983) | 评论(0) | 转发(0) |