Windows 에서 VM 에 접근 하 는 HBase

자원 이 제한 되 어 있 습 니 다. 이 컴퓨터 에서 hadop 클 러 스 터 를 모 의 할 수 밖 에 없습니다.(글 참조:
http://blackwing.iteye.com/admin/blogs/1502476
시작 하기 전에 hadop 을 시작 하고 hbase 디 렉 터 리 를 만들어 야 합 니 다.
hadoop fs -mkdir hbase

이렇게 하면 hadop 에서 hbase 가 데 이 터 를 저장 하 는 곳 을 열 수 있 습 니 다.
명령 을 통과 할 수 있 습 니 다.
hadoop fs -ls /

방금 만 든 디 렉 터 리 를 보 았 습 니 다.
hbase 의 주요 프로필:
1. hbase-site.xml
<configuration>
  <property>
    <name>hbase.rootdir</name>
   <value>hdfs://namenode.blackwing.com:8020/hbase/</value>
  </property>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.clientPort</name>
    <value>2181</value>
  </property>
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>namenode.blackwing.com</value>
  </property>
</configuration>

그 중의 fs. default. name 은 hadop 의 namenode 가 있 는 uri 를 가리킨다.물론 뒤의 / hbase 는 hdfs 의 어느 경로 에서 데 이 터 를 저장 하고 싶 습 니까?fs. default. name 은 hadop 의 fs. default. name 설정 과 같 아야 합 니 다.즉, 이 부분 은 똑 같 아야 한 다 는 것 이다.
hdfs://namenode.blackwing.com:8020/

zookeeper 의 클 러 스 터 목록: hbase. zookeeper. quorum, 대외 적 으로 해 야 하기 때문에 localhost 를 채 울 수 없습니다.
2. hbase 와 hadop 을 모두 설정 한 후 프로그램 에서 방문 주소 설정 을 해 야 합 니 다.
public InsertData(String tableName)
	{
		rowList = new ArrayList<Row>();
		this.conf = HBaseConfiguration.create();
		this.conf.set("hbase.zookeeper.quorum","192.168.128.140");
		System.out.println("hbase.master = "+conf.get("hbase.master"));
		System.out.println("hbase.zookeeper.quorum = "+conf.get("hbase.zookeeper.quorum"));
		
		try {
			this.table=new HTable(this.conf,tableName.getBytes());
		} catch (IOException e) {
			e.printStackTrace();
			logger.info("errors occur while creating table : "+tableName);
		}
	}

그 중에서 192.168.128140 은 hbase 에서 zookeeper 의 운행 주소 입 니 다. zookeeper 는. META. 와 ROOT 에 따라 hbase 가 있 는 곳 등 정 보 를 얻 기 때문에 hbase. zookeeper. quorum 프로그램 만 설정 하면 작업 할 수 있 습 니 다.
물론 hbase - site. xml 을 프로젝트 의 src 디 렉 터 리 에 복사 할 수도 있 습 니 다. HBaseConfiguration. create () 에 있 을 때 프로그램 은 src 의 hbase - site. xml 를 자동 으로 읽 습 니 다.
3. 뜬 금 없 는 작은 문제 집합
1) 윈도 우즈 는 가상 컴퓨터 를 연결 할 수 있 지만 가상 컴퓨터 hbase 에 접근 할 수 없 거나 hbase 의 웹 인 터 페 이 스 를 열 수 없다.
원인: Liux 의 방화벽 때문에 폭력 적 인 해결 방법 은 chkconfig iptables off 입 니 다.접근 할 수 있 는 규칙 을 추가 하기 위해 서 는 / etc / sysconfig / iptables 를 수정 하 는 것 이 좋 습 니 다.
2) jps 에서 tasktracker 좋 은 datanode 프로 세 스 가 있어 야 하 는데 datanode 만 있 는 프로 세 스 가 하나 빠 진 것 을 발 견 했 습 니 다.
hadop 에서 slaves 에서 호스트 이름 을 올 바 르 게 표시 하 는 지, 한 줄 한 줄 확인 하 십시오.
내 가 이 문 제 를 만난 것 은 hadop 의 fs. default. name 이 hbase 의 hbase. rootdir 와 같이 설정 되 었 기 때 문 입 니 다. 즉,:
hdfs://namenode.blackwing.com:8020/hbase/

정확히 말 하면 hadop 의 설정 은 다음 과 같 아야 합 니 다.
hdfs://namenode.blackwing.com:8020/

3) windows 에서 eclipse 배경 출력 은 namenode 에 연결 되 지 않 음 을 표시 합 니 다.
이유: windows 에 host 가 쓰 여 있 지 않 기 때문이다.해결 방법 은:
C:\WINDOWS\system32\drivers\etc\hosts

vm 에 있 는 3 대의 기기 의 ip 및 이름 을 추가 합 니 다.
192.168.128.140 namenode.blackwing.com
192.168.128.136 jobtracker.blackwing.com
192.168.128.141 datanode.blackwing.com

PS: hbase 의 데이터 가 hadop 에 저장 되 었 는 지 확인 하기 위해 다음 을 통 해:
hadoop fs -ls /hbase

hbase 를 통 해 만 든 시 계 를 보면 hadop 의 hbase 디 렉 터 리 에서 해당 하 는 폴 더 를 생 성 합 니 다.

좋은 웹페이지 즐겨찾기