大数据HBase问题排查经过及HDFS 安全模式理解

2023年 7月 11日 48.3k 0

一次断电开关机后,网站的信息无法浏览了。

代码查源

我们代码会有连接的有以下的组件:

  • Solr cloud
  • MySQL
  • Oracle
  • HBase
  • 一个一个检查,首先排除了MySQL和Oracle,不然我们都无法登录了。

    检查Solr

    登录solr admin的网站,查看节点是否全是绿色的。 http://xxx:8983/solr/#/~cloud 发现全部断线,虽然服务已经在运行,但是需要重启。

    # 1. 开启各个服务器上的zookeeper
    # 2. 关闭solr 后再重启
    /data/zookeeper-3.4.6/bin/zkServer.sh start
    /data/solr/solr-6.3.0/bin/solr stop -all
    /data/solr/solr-6.3.0/bin/solr start -force
    

    经过折腾,全部绿色,网站搜索服务正常,但是详情信息无法加载。 大数据HBase问题排查经过及HDFS 安全模式理解 内容详情页面主要用到了是HBase,那么HBase一定出现了问题。

    检查HBase

    登录管理页面查看。 大数据HBase问题排查经过及HDFS 安全模式理解 看不出任何问题,但是后面的监控信息却为空的,说明还是存在问题的,我们打开master 的ui界面查看状态。 大数据HBase问题排查经过及HDFS 安全模式理解 发现Region Servers的信息为空,确定了我的猜测。 开始登录HBase shell查看。

    bin/hbase shell
    list
    

    list命令的时候出现了错误:

    ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yet
      at org.apache.hadoop.hbase.master.HMaster.checkServiceStarted()
      at org.apache.hadoop.hbase.master.MasterRpcServices.isMasterRunning()
      at org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$()
      at org.apache.hadoop.hbase.ipc.RpcServer.call()
      at org.apache.hadoop.hbase.ipc.CallRunner.run()
      at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop()
      at org.apache.hadoop.hbase.ipc.RpcExecutor$()
      at java.lang.Thread.run()
      ....
      util.FSUtils: Waiting for dfs to exit safe mode
    

    通信出现了问题,于是打开了HDFS查看是否开启了安全模式。

    Security is off.
    
    Safe mode is ON. The reported blocks 4028 needs additional 7 blocks to reach the threshold 1.0000 of total blocks 4035. The number of live datanodes 5 has reached the minimum number 0. Safe mode will be turned off automatically once the thresholds have been reached.
    
    3,236 files and directories, 4,038 blocks = 7,274 total filesystem object(s).
    
    Heap Memory used 127.18 MB of 2.96 GB Heap Memory. Max Heap Memory is 2.96 GB.
    
    Non Heap Memory used 90.57 MB of 92.66 MB Commited Non Heap Memory. Max Non Heap Memory is .
    

    长时间进入了安全模式,需要关闭安全模式

    hdfs dfsadmin -safemode leave
    

    报错

    safemode: Access denied for user root. Superuser privilege is required
    

    查看运行hdfs是哪个用户

    ps -ef | grep 'hdfs'
    su hdfs
    hdfs dfsadmin -safemode leave
    

    再次刷新hbase ui 大数据HBase问题排查经过及HDFS 安全模式理解 再次刷新网站信息,展示出来了。

    总结

    本次出现问题是由于Hdfs长时间进入安全模式引起的。

    HDFS 安全模式的理解

    安全模式是hadoop的一种保护机制,用于保证集群中的数据块的安全性。当集群启动的时候,会首先进入安全模式。当系统处于安全模式时会检查数据块的完整性。

    在配置文件中定义了一个最小的副本的副本率。 正常情况下,安全模式会运行一段时间自动退出的,只需要我们稍等一会就行了,到底等多长时间呢,我们可以通过web查看安全模式退出的剩余时间。

    本次,并没有说明时间,差不多等待了大于10个小时了。

    命令hadoop fs –safemode get 查看安全模式状态
    命令hadoop fs –safemode enter 进入安全模式状态
    命令hadoop fs –safemode leave 离开安全模式状态

    相关文章

    Oracle如何使用授予和撤销权限的语法和示例
    Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
    下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
    社区版oceanbase安装
    Oracle 导出CSV工具-sqluldr2
    ETL数据集成丨快速将MySQL数据迁移至Doris数据库

    发布评论