[HADOOP] 3 번의 재시도 후 ZooKeeper가 실패했습니다.
HADOOP3 번의 재시도 후 ZooKeeper가 실패했습니다.
Hadoop-1.2.1 및 HBase-0.94.11을 의사 배포 모드로 실행하고 있습니다.
정전으로 인해 Hadoop 및 HBase 설치가 중단되었습니다. 다음에 HBase 셸에서 내 컴퓨터와 의사 배포가 다시 시작되면 HBase가 다음 오류로 인해 작업을 중단했습니다.
13/11/27 13:53:27 ERROR zookeeper.RecoverableZooKeeper: ZooKeeper exists failed after 3 retries
13/11/27 13:53:27 WARN zookeeper.ZKUtil: hconnection Unable to set watcher on znode (/hbase/hbaseid)
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/hbaseid
at org.apache.zookeeper.KeeperException.create(KeeperException.java:99)
at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1041)
at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.exists(RecoverableZooKeeper.java:172)
at org.apache.hadoop.hbase.zookeeper.ZKUtil.checkExists(ZKUtil.java:450)
at org.apache.hadoop.hbase.zookeeper.ClusterId.readClusterIdZNode(ClusterId.java:61)
at org.apache.hadoop.hbase.zookeeper.ClusterId.getId(ClusterId.java:50)
at org.apache.hadoop.hbase.zookeeper.ClusterId.hasId(ClusterId.java:44)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.ensureZookeeperTrackers(HConnectionManager.java:720)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getMaster(HConnectionManager.java:789)
at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:129)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
다음은 프로세스입니다.
hduser@user-ubuntu:~$ jps
16914 NameNode
19955 Jps
29460 Main
17728 TaskTracker
19776 HMaster
17490 JobTracker
17392 SecondaryNameNode
해결법
-
==============================
1.Zookeeper 프로세스가 실행 중입니까 (jps 목록에 QuorumPeerMain 항목이 표시되지 않습니까)? jps 스택이 실행중인 모든 Java 프로세스를 표시하지 않을 수 있습니다. ps axww | grep QuorumPeerMain.
Zookeeper 프로세스가 실행 중입니까 (jps 목록에 QuorumPeerMain 항목이 표시되지 않습니까)? jps 스택이 실행중인 모든 Java 프로세스를 표시하지 않을 수 있습니다. ps axww | grep QuorumPeerMain.
사육사가 시작을 거부하면 로그를 검사하여 스택 추적 단서가 있는지 확인하십시오
-
==============================
2.사육사 정족수 프로세스가 실행되고 있지 않은 것은 간단합니다. 그렇다면 다른 java 프로세스가 있었을 것입니다.
사육사 정족수 프로세스가 실행되고 있지 않은 것은 간단합니다. 그렇다면 다른 java 프로세스가 있었을 것입니다.
hduser@user-ubuntu:~$ jps 16914 NameNode 19955 Jps 29460 Main 17728 TaskTracker 19776 HMaster 17490 JobTracker 17392 SecondaryNameNode
xxxxx HQuorumPeer
Zookeeper는 HBase 클러스터 관리에 필요합니다.
가능한 해결책: 기본적으로 HBase는 사육사를 관리합니다. 즉, 사육사 쿼럼 (사육사 노드의 클러스터)을 시작하고 중지합니다. 설정을 확인하려면 conf / hbase-evn.sh 파일 (hbase 디렉토리)에 다음 줄이 있어야합니다.
export HBASE_MANAGES_ZK=true
HBase에게 사육사의 자체 인스턴스를 관리해야하는지 여부를 기본적으로 알려줍니다. false로 설정하면 true로 편집하십시오.
또한 conf / hbase-site.xml에서 HBase conf를 확인하십시오.
pseudo-distributed 모드에서 작동해야하는 최소 conf는 다음과 같습니다.
<configuration> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.rootdir</name> <value>hdfs://localhost:9000/hbase</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/<yourusername>/zookeeper</value> </property> </configuration>
HBase가 실행 중이면 중지하십시오.
$ ./bin/stop-hbase.sh
필요한 변경을하고 다시 시작하십시오.
$ ./bin/start-hbase.sh
도움이 될만한 답변 : 1 2
from https://stackoverflow.com/questions/20239072/zookeeper-exists-failed-after-3-retries by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Sqoop : mysql 드라이버 예외를로드 할 수 없습니다. (0) | 2019.06.23 |
---|---|
[HADOOP] Hadoop FS 셸을 사용하여 두 개의 파일을 어떻게 Hadoop의 파일로 연결할 수 있습니까? (0) | 2019.06.23 |
[HADOOP] 하이브, 어떻게 모든 데이터베이스의 테이블 열을 검색합니까? (0) | 2019.06.23 |
[HADOOP] Hadoop 다중 입력 (0) | 2019.06.23 |
[HADOOP] Hive 1.1.0 테이블 파티션 유형을 int에서 string으로 변경합니다. (0) | 2019.06.23 |