[HADOOP] 원인 : java.lang.ClassNotFoundException : org.apache.zookeeper.KeeperException
HADOOP원인 : java.lang.ClassNotFoundException : org.apache.zookeeper.KeeperException
Eclipse IDE에서 Java 프로그램 (새 HTable을 사용할 수 없음)을 실행할 때 다음과 같은 오류가 발생합니다.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/zookeeperKeeperException
at org.apache.hadoop.hbase.client.HConnectionManager.getConnection(HConnectionManager.java:185)
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:154)
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:132)
at HBaseConnector.main(HBaseConnector.java:27)
Caused by: java.lang.ClassNotFoundException: org.apache.zookeeper.KeeperException
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 4 more
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.ResultScanner;
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.util.Bytes;
public class HBaseConnector {
public static void main(String[] args) throws IOException {
Configuration config = HBaseConfiguration.create();
HTable table = new HTable(config, "myLittleHBaseTable");
...
}
--------------
used jar files:
hbase-0.94.6-cdh4.3.0.jar
zookeeper-3.4.5-cdh4.3.0-tests.jar
lf4j-log4j12-1.7.5.jar
commons-configuration-1.9.jar
com.springsource.org.apache.commons.logging-1.1.1.jar
commons-lang-2.6.jar
hadoop-core-0.20.0.jar
이게 어디서 잘못 된거야?
해결법
-
==============================
1.이 시도
이 시도
"/usr/local/hbase-0.94.1/conf/hbase-env.sh"파일을 편집하고 "export HBASE_CLASSPATH = / usr / local / hbase-0.94.1 / lib"요소를 추가하여이 문제를 해결했습니다.
동물원 JAR은 HBase 설치 "/usr/local/hbase-0.94.1/lib"에 있습니다.
-
==============================
2.HBO에있는 빌드 경로에 사육사 병 파일을 포함하기 만하면됩니다. 그것은 당신의 문제를 해결해야합니다.
HBO에있는 빌드 경로에 사육사 병 파일을 포함하기 만하면됩니다. 그것은 당신의 문제를 해결해야합니다.
-
==============================
3.클래스가 코드를 통해 액세스하지 못할 수도 있습니다. 분산 캐시를 사용하고 jar 파일을로드하고 링크를 사용하여 구성을 설정하십시오. https://hadoop.apache.org/docs/r2.4.1/api/org/apache/hadoop /filecache/DistributedCache.html
클래스가 코드를 통해 액세스하지 못할 수도 있습니다. 분산 캐시를 사용하고 jar 파일을로드하고 링크를 사용하여 구성을 설정하십시오. https://hadoop.apache.org/docs/r2.4.1/api/org/apache/hadoop /filecache/DistributedCache.html
from https://stackoverflow.com/questions/19150604/caused-by-java-lang-classnotfoundexception-org-apache-zookeeper-keeperexceptio by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 스파크 클러스터 모드에서 제 플린 실행 (0) | 2019.06.26 |
---|---|
[HADOOP] 하이브 - HiveQL 쿼리를 더욱 최적화 할 수있는 방법이 있습니까? (0) | 2019.06.26 |
[HADOOP] Hadoop에서 DataNode 시작 실패 (0) | 2019.06.25 |
[HADOOP] HDFS를 종료 한 후 데이터가 손실 되었습니까? (0) | 2019.06.25 |
[HADOOP] 쉘 스크립트를 사용하여 HiveQL 쿼리의 결과를 CSV로 출력하려면 어떻게합니까? (0) | 2019.06.25 |