問題の説明:
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は、上の検証しました: