hadoop集群搭建中的各种问题

集群规划
192.168.152.129 djt1 namenode datanode zookeeper resourcemanager
192.168.152.130 djt2 namenode datanode zookeeper resourcemanager
192.168.152.131 djt3 namenode datanode zookeeper
一、集群时间同步问题
首先修改时区为/Asia/Shanghai的,然后执行以下命令
ntpdate 0.pool.ntp.org
搭建时出现djt1和djt2每次重启之后时间又变回来使用该命令解决
hwclock --systohc


二、namenode ha
mkdir: Cannot create directory /dajiangtai/temp. Name node is in safe mode.
强制离开安全模式:bin/hadoop dfsadmin -safemode leave


三、启动zookeeper集群
runRemoteCmd.sh "/home/hadoop/app/zookeeper/bin/zkServer.sh start" all
查看集群状态,zookeeper选举出leader和follower表示zk正常启动
runRemoteCmd.sh "/home/hadoop/app/zookeeper/bin/zkServer.sh status" all

主节点 启动:sbin/start-dfs.sh sbin/start-yarn.sh
7451 JournalNode
7259 NameNode
5557 DataNode
5709 DFSZKFailoverController
5809 NodeManager
5092 QuorumPeerMain
7781 ResourceManager
7902 Jps
第二节点启动: sbin/yarn-daemon.sh start resourcemanager
4131 QuorumPeerMain
5496 NameNode
5557 DataNode
5709 DFSZKFailoverController
5809 NodeManager
6100 ResourceManager
5636 JournalNode
6157 Jps

sbin/hadoop-daemon.sh start namenode  单独启动一个namenode进程
./hadoop-daemon.sh start zkfc   单独启动一个zkfc进程
bin/hdfs dfsadmin -report     查看hdfs的各节点状态信息
bin/hdfs haadmin -getServiceState djt1  获取一个namenode节点的HA状态
slaves文件中,配置的是datanode节点的主机名和hdfs-site.xml中对应数据副本dfs.replication的参数保持一致。

四、检查一下ResourceManager状态
[hadoop@djt11 hadoop]$ bin/yarn rmadmin -getServiceState rm1 [hadoop@djt11 hadoop]$ bin/yarn rmadmin -getServiceState rm2

经常出现这个Connection refused和两个rm都处于standby的情况:

[hadoop@djt1 hadoop]$ bin/yarn rmadmin -getServiceState rm2
16/12/16 17:21:03 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
16/12/16 17:21:04 INFO ipc.Client: Retrying connect to server: djt2/192.168.152.130:8033. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=1, sleepTime=1000 MILLISECONDS)
Operation failed: Call From djt1/192.168.152.129 to djt2:8033 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused
请查看具体日志信息,可能情况有:
1、resourcemanager或者nodemanager没有启动,namenode处于safemode模式无法读数据,
datanode死掉了或者出现了数据块受损等一堆情况
解决办法:关闭namenode安全模式,重启hdfs相关的进程,如namenode,datanode,resourcemanager等
2、可能ssh免密码登陆配置错误,子节点hadoop的环境变量配置错误等。
解决方法:检查每台机器的ssh配置信息和环境变量,如果有错误重新配置
测试集群环境是否搭建成功
[hadoop@djt11 hadoop]$ vi djt.txt //本地创建一个djt.txt文件
hadoop dajiangtai
hadoop dajiangtai
hadoop dajiangtai
[hadoop@djt11 hadoop]$ hdfs dfs -mkdir /test //在hdfs上创建一个文件目录
[hadoop@djt11 hadoop]$ hdfs dfs -put djt.txt /test //向hdfs上传一个文件
[hadoop@djt11 hadoop]$ hdfs dfs -ls /test //查看djt.txt是否上传成功

运行wordcount程序
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar wordcount /test/djt.txt /test/out/
五、数据块受损
集群过程中如果出现(新增datanode节点的情况,重启后会出现数据块受损的情况)
查找损坏的block块 bin/hadoop fsck / -files ( http://www.tuicool.com/articles/FnMFNjN
删除block块:bin/hadoop fsck / - delete

六、重新初始化namenode之后出现namenode和datanode的clusterID不一致的情况
可在slave节点的version文件中修改为新的namenode中的clusterID,或者删除version文件重新生成
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值