HBaseの报デッドリージョンサーバー

問題の説明:

16010ポート16020が開始されていない、正常に起動しました。

HBaseのルート・リージョンサーバー-hbase2.log日志:

2019年8月14日16:45:DataStreamer例外:10552が[スレッド37] hdfs.DFSClient WARN 
org.apache.hadoop.ipc.RemoteException(java.io.IOExceptionのを):ファイル/ HBaseの/デフォルト/ TSDB / 3f2398c5b49b581c09687c49a739b007 /回収.edits / 0000000000006253152-hbase2%の2C16020%2C1562822459462.1565198820284.tempのみ1つのminReplicationノードの0に書き込むことができます。1データノード(S)ランニングと1つのノード(複数可)は、この操作で除外されているがあります。
    org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.chooseTarget4NewBlock(BlockManager.java:2121)で
    org.apache.hadoop.hdfs.server.namenode.FSDirWriteFileOp.chooseTargetForNewBlock(FSDirWriteFileOp.java:295)で
    org.apacheで.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:2702)
    org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.addBlock(NameNodeRpcServer.java:875)で
    org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.addBlock(ClientNamenodeProtocolServerSideTranslatorPB.java:561)で
    org.apache.hadoopで.hdfs.protocol.proto.ClientNamenodeProtocolProtos $ ClientNamenodeProtocol $ 2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
    org.apache.hadoop.ipc.ProtobufRpcEngine $サーバー$ ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:523)で
    org.apache.hadoop.ipcで。 RPC $ Server.call(RPC.java:991)
    org.apache.hadoop.ipc.Server $ RpcCall.run(Server.java:872)で
    org.apache.hadoop.ipc.Server $ RpcCall.runで(サーバー。 Javaの:818)
    java.security.AccessController.doPrivileged(ネイティブメソッド)で 
    javax.security.auth.Subject.doAs(Subject.java:422)で
    org.apache.hadoop.security.UserGroupInformationました。 doAs(UserGroupInformation.java:1729)
    org.apache.hadoop.ipc.Server $ Handler.run(Server.java:2678)で

    org.apache.hadoop.ipc.Client.callで(Client.java: 1476)
    org.apache.hadoop.ipc.Client.call(Client.java:1413)で
    org.apache.hadoop.ipc.ProtobufRpcEngine $ Invoker.invoke(ProtobufRpcEngine.java:229)で
    com.sun.proxyで。$ Proxy18.addBlock(不明なソース)
    org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.addBlock(ClientNamenodeProtocolTranslatorPB.java:418)で
    sun.reflect.GeneratedMethodAccessor7.invoke(不明なソース)で
    sun.reflect.DelegatingMethodAccessorImpl.invokeで(DelegatingMethodAccessorImpl .java:43)
    java.lang.reflect.Method.invoke(Method.java:498)で 
    org.apache.hadoop.hdfs.DFSOutputStream $ DataStreamer.locateFollowingBlockで(DFSOutputStream .javaファイル:1603) 
    org.apacheで。 hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:191)
    org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102)で
    com.sun.proxyで。$ Proxy19.addBlock(不明なソース)
    sun.reflect.GeneratedMethodAccessor7.invoke(不明なソース)での
    日に.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.lang.reflect.Method.invoke(Method.java:498)で
    org.apache.hadoop.hbase.fs.HFileSystem $ 1.invokeで(HFileSystem.java: 372)
    com.sun.proxyで。$ Proxy20.addBlock(不明なソース)
    org.apache.hadoop.hdfs.DFSOutputStream $ DataStreamer.nextBlockOutputStream(DFSOutputStream.java:1388)で
    org.apache.hadoop.hdfs.DFSOutputStream $ DataStreamerで.RUN(DFSOutputStream.java:554)
2019年8月14日16:45:10568 ERROR [RS_LOG_REPLAY_OPS-リージョンサーバー/ hbase2:16020から1-ライター-2] wal.WALSplitter:ガットログインするためにログエントリを書き込み中
にjava.io.IOExceptionを:ファイル/ HBaseの/デフォルト/ TSDB /3f2398c5b49b581c09687c49a739b007/recovered.edits/0000000000006253152-hbase2%2C16020%2C1562822459462.1565198820284.tempのみ1つのminReplicationノードの0に書き込むことができます。1データノード(S)ランニングと1つのノード(複数可)は、この操作で除外されているがあります。
    org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.chooseTarget4NewBlock(BlockManager.java:2121)で 
    org.apacheで.hadoop.hdfs.server.namenode.NameNodeRpcServer.addBlock(NameNodeRpcServer.java:875) 
    org.apache.hadoop.hdfs.server.namenode.FSDirWriteFileOp.chooseTargetForNewBlockで(FSDirWriteFileOp.java:295)
    org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:2702)で
    org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.addBlock(ClientNamenodeProtocolServerSideTranslatorPB.java:561)で
    org.apache.hadoopで.hdfs.protocol.proto.ClientNamenodeProtocolProtos $ ClientNamenodeProtocol $ 2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
    org.apache.hadoop.ipc.ProtobufRpcEngine $サーバー$ ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:523)で
    org.apache.hadoop.ipcで。 RPC $ Server.call(RPC.java:991)
    org.apache.hadoop.ipc.Server $ RpcCall.run(Server.java:872)で
    org.apache.hadoop.ipc.Server $ RpcCall.runで(サーバー。 Javaの:818)
    java.security.AccessController.doPrivileged(ネイティブメソッド)で 
    javax.security.auth.Subject.doAs(Subject.java:422)で
    org.apache.hadoop.security.UserGroupInformationました。 doAs(UserGroupInformation.java:1729)
    org.apache.hadoop.ipc.Server $ Handler.run(Server.java:2678)で

    sun.reflect.NativeConstructorAccessorImpl.newInstance0で(ネイティブメソッド)
    sun.reflectで。 NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)で
    java.lang.reflect.Constructor.newInstance(Constructor.java:423)で
    org.apache.hadoop.ipcで.RemoteException.instantiateException(RemoteException.java:106)
    org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:95)で
    org.apache.hadoop.hbase.wal.WALSplitter $ LogRecoveredEditsOutputSink.appendBuffer(WALSplitter.java:1601)で 
    org.apache.hadoop.hbase.wal.WALSplitter $ LogRecoveredEditsOutputSink.appendで(WALSplitter.java:1559)
    org.apache.hadoop.hbase.wal.WALSplitter $ WriterThread.writeBuffer(WALSplitter.java:1084)で
    org.apacheで.hadoop.hbase.wal.WALSplitter $ WriterThread.doRun(WALSplitter.java:1076)
    org.apache.hadoop.hbase.wal.WALSplitter $ WriterThread.runで(WALSplitter.java:1046)

 

16010にログインします。

理由:リファレンスサイトhttps://issues.apache.org/jira/browse/HBASE-12426

説明
私は最初にように30個の領域に予め分割し、均等data.I持つすべての地域に配布された単一のテーブルは、次に先に行って、除去/領域サーバーのクーペを退役した5台の領域サーバーのセットを有していました最後私は3地域servers.RanののHBase hbckを持っていると「ステータス」コマンドが発行され、それが不感領域のサーバーを示しており、同じことがHBaseのの上well.FailとしてマスターUIに表示されているシェルのHBaseからです0 inconsistencies.Howeverがあった検証しましたマスターは、我々はまだ古い地域サーバに指していたいくつかのWALエントリを見ることができissue.On調査を修正しませんでした。
/ HBaseの/ヴァルス/ MYSERVER、60020,1406745344969分割

これは、クラスタ内の任意のレプリケーションの問題が発生することがありました場合は、HDFSとマスターのフェイルオーバーからこれらの孤立したエントリを削除した後不感領域サーバはaway.I不思議を行ってきました。

  

解決策:分割ファイルの削除/ HBaseの/ヴァルス

<! - [表示] - > [ 

 HDFS -ls DFS -R / HBaseの/ヴァルス

<! - 削除- > 
DFSをHDFS -rm -R / HBaseの/ヴァルス/ * 
<! - のHBaseを再起動します- > 
STOP-のHBase .SH 
start-hbase.sh

 

16010は、上の検証しました:

 

おすすめ

転載: www.cnblogs.com/yybrhr/p/11353659.html