栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

hadoopHA(高可用)搭建中容易遇到的问题(一),DataNode反复掉,NameNode起不来

hadoopHA(高可用)搭建中容易遇到的问题(一),DataNode反复掉,NameNode起不来

1、DataNode起来后反复掉

        反复掉我本人遇到的情况是:

                由于我的datenode掉了之后我不明白原因,在没改任何东西的情况下对namenode进行了格式化,导致/opt/module/hadoop/data/tmp/dfs 中 data和name两个文件中current/下的VERSION文件中的版本号不一致,直接导致了datanode进程不起或起来就掉。

 文件中就是这样的,一般是用namenode中的 clusterID 复制后 直接粘到datanode的对应位置上,或者还有一种更简单的办法,直接删除datanode的这个版本号文件,前提是你的datanode中没有数据,      命令为   rm -rf /opt/module/hadoop/data//tmp/dfs/data

        删除后重启就可以,会自动生成版本号,这样问题就会解决。

2、NameNode起不来

        一般起不来进程,第一个肯定是要看配置文件,

        有关配置在  /opt/module/hadoop/etc/hadoop/hdfs-site.xml  中,

        里面配置的是namenode的位置,下面是我使用的配置




        
        
                dfs.replication
                1
        


        
        
                dfs.nameservices
                mycluster
        

        
        
                dfs.ha.namenodes.mycluster
                nn1,nn2
        

        
        
                dfs.namenode.rpc-address.mycluster.nn1
                hadoop-01:9000
        

        
        
                dfs.namenode.rpc-address.mycluster.nn2
                hadoop-02:9000
        

        
        
                dfs.namenode.http-address.mycluster.nn1
                hadoop-01:50070
        

        
        
                dfs.namenode.http-address.mycluster.nn2
                hadoop-02:50070
        

        
        
                dfs.namenode.shared.edits.dir
        qjournal://hadoop-01:8485;hadoop-02:8485;hadoop-03:8485/mycluster
        

        
        
                dfs.ha.fencing.methods
                sshfence
        

        
        
                dfs.ha.fencing.ssh.private-key-files
                /root/.ssh/id_rsa
        

        
        
                dfs.journalnode.edits.dir
                 /opt/module/hadoop-2.7.2 /data/jn
        

        
        
                dfs.permissions.enable
                false
        

    
        
                dfs.client.failover.proxy.provider.mycluster
                                org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
        

        
                dfs.ha.automatic-failover.enabled
                true
        




在core-site.xml 文件中,我们配置了namenode的地址,启动后文件存放的目录,zookeeper的地址(这个地址是直接影响namenode的自动转换状态功能的)





        fs.defaultFS
        hdfs://mycluster




        hadoop.tmp.dir
        /opt/module/ha/data/tmp




        ha.zookeeper.quorum
        hadoop-01:2181,hadoop-02:2181,hadoop-03:2181


         这两个配置文件就可以保证namenode成功启动。

3、NameNode不能自动切换acvite和standby状态

        要知道为什么不能自动切换,就必须知道它自动切换靠的是什么东西,

        namenode主要靠zookeeper来实现自动切换状态的功能,也就是zkfc(DFSZKFailoverController) 这个进程。

        所以对ZK的配置显得极为关键,也就是 2 中提到的core-site.xml文件中的配置

在core-site.xml文件中增加



	ha.zookeeper.quorum
	hadoop-01:2181,hadoop-02:2181,hadoop-03:2181






        还有就是没有初始化HA在Zookeeper中状态

       命令:  hdfs zkfc -formatZK

         自动转换状态还有一个小配置,就是将自动装换功能打开,

在hdfs-site.xml中增加



	dfs.ha.automatic-failover.enabled
	true

        最重要的一点,一定要先起zookeeper,再起hadoop。

        

总结一下: 

我们的HA集群起不来时,主要就是看配置文件,任何有关配置文件有一点点小问题都会导致服务不起,或反复掉,甚至直接报错,出现问题先想自己动了那些配置文件,只要是动过的文件都要一遍遍核实清楚。

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/585010.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号