Неустранимая ошибка «не удалось стать активным мастером» при запуске hbase в режиме кластера - PullRequest
0 голосов
/ 29 января 2019

У меня есть 4 узла, один ведущий и 3 ведомых.

ведущий: *. *. *. 18, ведомые устройства: *. *.* .12, 104, 36.

Конфигурации для Hadoop в Namenode:

core-site.xml:

<configuration>
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
</property>
</configuration>

hdfs-site.xml:

<configuration>
<property>
    <name>dfs.replication</name>
    <value>3</value>
</property>
<property>
    <name>dfs.namenode.name.dir</name>
    <value>file:///home/hduser/hadoop_store/hdfs/namenode</value>
</property>
<property>
    <name>dfs.datanode.data.dir</name>
    <value>file:///home/hduser/hadoop_store/hdfs/datanode</value>
</property>
</configuration>

hadoop-env.sh:

export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
export HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-"/etc/hadoop"}
export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true"
export HADOOP_PID_DIR=${HADOOP_PID_DIR} // default to /tmp
export HADOOP_SECURE_DN_PID_DIR=${HADOOP_PID_DIR}
export HADOOP_IDENT_STRING=$USER

mapred-site.xml:

<configuration>
<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
</property>
<property>
        <name>mapred.job.tracker</name>
        <value>localhost:54311</value>
</property>
</configuration>

рабов:

10.0.3.12
10.0.3.36
10.0.3.104

пряжа-сайт.xml:

<configuration>

<!-- Site specific YARN configuration properties -->

<property>
    <name>yarn.resourcemanager.address</name>
    <value>localhost:8050</value>
</property>
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
<property>
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>

</configuration>

В подчиненных узлах конфигурации для hadoop:

yarn-site.xml:

<configuration>

<!-- Site specific YARN configuration properties -->

<property>
    <name>yarn.resourcemanager.address</name>
    <value>10.0.3.18:8050</value>
</property>
<property>
    <name>yarn.nodemanager.address</name>
    <value>localhost:8035</value>
</property>
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
<property>
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>

</configuration>

остальные файлы остаютсятакой же во всех подчиненных узлах, как и в главном узле.Что касается конфигурации Hbase,

hbase-env.sh (всего):

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=256m"
export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=256m"
export HBASE_REGIONSERVERS=${HBASE_HOME}/conf/regionservers
export HBASE_MANAGES_ZK=true

hbase-site.xml (всего):

<configuration>
    <property>
            <name>hbase.rootdir</name>
            <value>hdfs://localhost:9000/hbase</value>
    </property>
    <property>
            <name>hbase.cluster.distributed</name>
            <value>true</value>
    </property>
    <property>
            <name>hbase.zookeeper.quorum</name>
            <value>10.0.3.18,10.0.3.12,10.0.3.104,10.0.3.36</value>
    </property>
    <property>
            <name>hbase.zookeeper.property.dataDir</name>
            <value>/home/hduser/Downloads/hbase/zookeeper</value>
    </property>
    <property>
            <name>hbase.zookeeper.property.clientPort</name>
            <value>2181</value>
    </property>
    <property>
            <name>dfs.replication</name>
            <value>3</value>
    </property>
    <property>
            <name>zookeeper.session.timeout</name>
            <value>1200000</value>
    </property>
    <property>
            <name>hbase.zookeeper.property.tickTime</name>
            <value>6000</value>
    </property>
</configuration>

за исключением того, что в ведомых устройствах localhost изменяется на 10.0.3.18 (адрес namenode)

regionservers:

10.0.3.12
10.0.3.104
10.0.3.36

Я отформатировал namenode и при запуске hdfs с командами: start-dfs.sh и start-yarn.sh, выходные данные выглядят следующим образом:

...succefully formatted namenode...
localhost: starting namenode, logging to /home/hduser/Downloads/hadoop/logs/hadoop-hduser-namenode-saichanda-OptiPlex-9020.out
10.0.3.12: starting datanode, logging to /home/hduser/Downloads/hadoop/logs/hadoop-hduser-datanode-aaron.out
10.0.3.36: starting datanode, logging to /home/hduser/Downloads/hadoop/logs/hadoop-hduser-datanode-dmacs-OptiPlex-9020.out
10.0.3.104: starting datanode, logging to /home/hduser/Downloads/hadoop/logs/hadoop-hduser-datanode-hadoop-104.out
Starting secondary namenodes [0.0.0.0]
0.0.0.0: starting secondarynamenode, logging to /home/hduser/Downloads/hadoop/logs/hadoop-hduser-secondarynamenode-saichanda-OptiPlex-9020.out
starting yarn daemons
starting resourcemanager, logging to /home/hduser/Downloads/hadoop/logs/yarn-hduser-resourcemanager-saichanda-OptiPlex-9020.out
10.0.3.12: starting nodemanager, logging to /home/hduser/Downloads/hadoop/logs/yarn-hduser-nodemanager-aaron.out
10.0.3.36: starting nodemanager, logging to /home/hduser/Downloads/hadoop/logs/yarn-hduser-nodemanager-dmacs-OptiPlex-9020.out
10.0.3.104: starting nodemanager, logging to /home/hduser/Downloads/hadoop/logs/yarn-hduser-nodemanager-hadoop-104.out

при запуске команды jps (на ведущем устройстве):

28032 SecondaryNameNode
28481 Jps
28198 ResourceManager
27720 NameNode

при запуске команды jps (на подчиненных устройствах):

11303 DataNode
11595 Jps
11436 NodeManager

Затем я запустил Hbase с помощью команды: ./start-hbase.sh.вывод:

10.0.3.12: running zookeeper, logging to /home/hduser/Downloads/hbase/bin/../logs/hbase-hduser-zookeeper-aaron.out
10.0.3.36: running zookeeper, logging to /home/hduser/Downloads/hbase/bin/../logs/hbase-hduser-zookeeper-dmacs-OptiPlex-9020.out
10.0.3.104: running zookeeper, logging to /home/hduser/Downloads/hbase/bin/../logs/hbase-hduser-zookeeper-hadoop-104.out
10.0.3.18: running zookeeper, logging to /home/hduser/Downloads/hbase/bin/../logs/hbase-hduser-zookeeper-saichanda-OptiPlex-9020.out
running master, logging to /home/hduser/Downloads/hbase/logs/hbase-hduser-master-saichanda-OptiPlex-9020.out
OpenJDK 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
10.0.3.12: running regionserver, logging to /home/hduser/Downloads/hbase/bin/../logs/hbase-hduser-regionserver-aaron.out
10.0.3.36: running regionserver, logging to /home/hduser/Downloads/hbase/bin/../logs/hbase-hduser-regionserver-dmacs-OptiPlex-9020.out
10.0.3.104: running regionserver, logging to /home/hduser/Downloads/hbase/bin/../logs/hbase-hduser-regionserver-hadoop-104.out
10.0.3.12: OpenJDK 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
10.0.3.12: OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
10.0.3.36: OpenJDK 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
10.0.3.36: OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
10.0.3.104: OpenJDK 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
10.0.3.104: OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0

когда я запускаю jps на namenode:

28032 SecondaryNameNode
28821 HQuorumPeer
29126 Jps
28198 ResourceManager
27720 NameNode

когда я запускаю jps на рабах:

11776 HRegionServer
11669 HQuorumPeer
11303 DataNode
11899 Jps
11436 NodeManager

Я заметил, что HMasterне работает на наменоде.Может кто-нибудь помочь понять проблему, почему HMaster вылетает.Через некоторое время даже NodeManager вылетает в рабах.Также я заметил, что когда я выключаю hbase, серверы HRegionserver на подчиненных серверах не выключаются, они продолжают работать даже после того, как я дал команду stop-hbase.sh на главном узле.Ниже перечислены ключевые предупреждения и ошибки, обнаруженные в журналах.

hadoop-namenode.log: несколько раз я получаю это исключение ...

java.io.IOException: File /hbase/.tmp/hbase.version could only be replicated to 0 nodes instead of minReplication (=1).  There are 0 datanode(s) running and no node(s) are excluded in this operation.

hadoop-primary-namenode.log:несколько раз я получаю эту ОШИБКУ ...

ERROR org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode: Exception in doCheckpoint
java.io.IOException: Inconsistent checkpoint fields.

В yarn-resourcemanager.log не обнаружено ошибок.

Для журналов hbase: в hbase-master.log:

 FATAL [saichanda-OptiPlex-9020:16000.activeMasterManager] master.HMaster: Failed to become active master
File /hbase/.tmp/hbase.version could only be replicated to 0 nodes instead of minReplication (=1).  There are 0 datanode(s) running and no node(s) are excluded in this operation.

В hbase-zookeeper.log: я вижу эту строку, так как в журнале таких ошибок не было.

019-01-29 10:09:49,431 INFO  [main] server.NIOServerCnxnFactory: binding to port 0.0.0.0/0.0.0.0:2181

на одном из ведомых, regionserver.log:

 client.ZooKeeperRegistry: ClusterId read in ZooKeeper is null

на одном из ведомых устройств hadoop-datanode.log несколько раз выдает следующее предупреждение.

WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Problem connecting to server: localhost/127.0.0.1:9000

СРЕДИ ВСЕХ ВЫШЕ ПРЕДУПРЕЖДЕНИЙ И ОШИБОК, ЧУВСТВУЮЩАЯ ОШИБКА, КАСАЮЩАЯСЯ HBASE-MASTER.LOGСЧИТАЕТ КРИТИЧЕСКИЙ, ГДЕ ОН ГОВОРИТ, реплицируется на 0 узлов вместо minReplication (= 1).Пожалуйста, помогите мне решить эту проблему.

Кроме того, когда я наконец запускаю оболочку hbase, я получаю сообщение об ошибке:

ERROR: Can't get master address from ZooKeeper; znode data == null

Спасибо.

...