[HADOOP] Hbase-site.xml을 클래스 패스에 포함시키는 방법
HADOOPHbase-site.xml을 클래스 패스에 포함시키는 방법
현재 HBase 코드에서 hbase-site.xml에 지정된 설정을 사용하려고합니다. hbase-site.xml 구성 파일에 지정된 것 대신 기본 설정을 사용하는 것 같습니다. 파일을 업데이트 한 후 HBase 클러스터를 다시 시작했지만 업데이트 한 설정 파일을 사용하고 있지 않습니다.
내가 사용하고있는 클러스터는 2 개의 노드이며, 그 중 하나는 마스터입니다. 두 노드 모두의 구성 파일은 마스터 노드의 IP를 사육사 쿼럼으로 지정합니다. 코드를 통해 hbase-site.xml과 동일한 값으로 zookeeper 쿼럼을 설정하면 코드가 제대로 실행되기 때문에 hbase-site.xml에 지정된 설정이 사용되지 않는다고 생각되지만 두 번째 노드는 사용할 수 없습니다. 쿼럼이 코드를 통해 지정되지 않은 경우 마스터에 문의하십시오.
config = HBaseConfiguration.create();
config.set("hbase.zookeeper.quorum", masterNodeIP);
hbase-site.xml을 내 코드의 클래스 경로에 포함시키는 방법에 대한 지침이나 링크를 크게 부탁드립니다. 필자는 Windows 컴퓨터에서 Eclipse로 개발하고 Linux 클러스터에 HBase 환경을 설치했습니다. 의존성 때문에 코드를 컴파일하기 위해 보통 Eclipse를 사용합니다.
이상적으로는 클러스터의 각 노드가 자체 구성 파일을 사용하도록합니다.
미리 감사드립니다.
해결법
-
==============================
1.hbase-site.xml에 넣는 것에 상관없이 기본값을 사용한다면 아마도 classpath에있는 다른 파일에 의해 덮어 쓰여지고 있다는 뜻일 것입니다. 이것은 이미 hbase jar에 conf-site.xml이 있기 때문에 가능합니다.
hbase-site.xml에 넣는 것에 상관없이 기본값을 사용한다면 아마도 classpath에있는 다른 파일에 의해 덮어 쓰여지고 있다는 뜻일 것입니다. 이것은 이미 hbase jar에 conf-site.xml이 있기 때문에 가능합니다.
이 문제를 해결하려면 classpath를 편집하여 hbase-site.xml을 포함하는 디렉토리를 classpath 끝에 추가하여 아무것도 덮어 쓰지 않도록하십시오. 같은 것 :
java -cp $CLASSPATH:/usr/lib/hbase/conf path.to.your.Mainclass
너무 모호 해지면 Eclipse에서가 아니라 명령 줄에서 실행하는 것이 좋을 것입니다. 따라서 클래스 경로에 무엇이 있는지 정확히 알 수 있습니다.
희망이 도움이됩니다.
from https://stackoverflow.com/questions/14326308/how-to-include-hbase-site-xml-in-the-classpath by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 지원되지 않는 서브 쿼리 식 : 상관 식은 규정되지 않은 열 참조를 포함 할 수 없습니다. (0) | 2019.06.20 |
---|---|
[HADOOP] Mahout : 사용자 정의 입력 파일을 읽으려면 (0) | 2019.06.20 |
[HADOOP] hadoop에서 로깅 기능 제어 (0) | 2019.06.20 |
[HADOOP] 드라이버에서 MapReduce로 객체 전달하기 (0) | 2019.06.20 |
[HADOOP] YARN 응용 프로그램 마스터가 리소스 관리자에 연결할 수 없습니다. (0) | 2019.06.20 |