2017-12-12 2 views
0
import java.io.IOException; 
import org.apache.hadoop.conf.Configuration; 
import org.apache.hadoop.hbase.HBaseConfiguration; 
import org.apache.hadoop.hbase.HColumnDescriptor; 
import org.apache.hadoop.hbase.HTableDescriptor; 
import org.apache.hadoop.hbase.client.HBaseAdmin; 

public class CreateTable { 

    public static void main(String[] args) throws IOException { 
     Configuration con = HBaseConfiguration.create(); 
     HBaseAdmin admin = new HBaseAdmin(con); 

     HTableDescriptor ht = new HTableDescriptor("emp"); 

     ht.addFamily(new HColumnDescriptor("add")); 
     ht.addFamily(new HColumnDescriptor("dept")); 

     admin.createTable(ht); 

     System.out.println("Table Created"); 
    } 
} 

위 코드를 사용하여 Hbase 테이블을 만들었습니다. 필요한 Jar 파일을 모두 다운로드하고 오류가 발생했을 때 추가했습니다. 하지만 여전히 사육사와 관련된 많은 오류가 발생하고 있습니다. 필자는 테이블을 만들기 전에 Zookeeper 연결에 JAVA API를 사용해야 만합니까? 그리고 JDK 1.8을 사용하고 있습니다. JAVA API를 사용하여 Hbase에서 테이블을 만드는 정확한 절차를 안내해주십시오. 이들은 사육사와 함께하는 아래의 오류입니다,하지만 나는 사육사 병을 추가했습니다. 17/12/11 12:44:10 정보 zookeeper.ZooKeeper : 클라이언트 환경 : zookeeper.version = 3.3.1-942149, 작성일 05/07/2010 17:14 GMT 17/12/11 12:44 : 10 정보 zookeeper.ZooKeeper : 클라이언트 환경 : host.name = quickstart.cloudera 17/12/11 12:44:10 정보 zookeeper.ZooKeeper : 클라이언트 환경 : java.version = 1.8.0_144 17/12/11 12 : 44:10 정보 zookeeper.ZooKeeper : 클라이언트 환경 : java.vendor = Oracle Corporation 17/12/11 12:44:10 정보 zookeeper.ZooKeeper : 클라이언트 환경 : java.home =/home/cloudera/jdk1.8.0_144/jre 17/12/11 12:44:10 정보 zookeeper.ZooKeeper : 클라이언트 환경 : java.class.path =/home/cloudera/workspace/HbaseTbl/bin :/home/cloudera/Downloads/apache-logging-log4j./home/cloudera/Downloads/org-apache-commo/home/cloudera/downloads/org/apache-commo ns-logging.jar : /home/cloudera/Downloads/zookeeper.jar 17/12/11 12:44:10 정보 zookeeper.ZooKeeper : 클라이언트 환경 : java.library.path =/usr/java/packages/lib/AMD64 :는/usr/lib64에 :/lib64에 :/lib 디렉토리 :는/usr/lib에 여기Java API를 사용하여 Hbase에서 테이블 만들기

+0

받고있는 오류 메시지를 추가 할 수 있습니까? 그리고 사육사의 상태도 실행되고 있습니까? –

+0

사실 가상 머신에서이 코드를 실행하면 동물원에 관한 많은 오류가 발생합니다. – Karthik

+0

그리고 테스트 목적으로 가상 머신에서 Hbase 테이블을 생성하는 중이므로 필요한 Jar 파일을 추가해야합니다. 그리고 프로젝트의 항아리를 사용하지 않는 경우, 내가 틀렸다면 나를 바로 잡으십시오. – Karthik

답변

0

나를 위해 잘 작동 코드입니다 : 또한

 conf = HBaseConfiguration.create(); 
     admin = new HBaseAdmin(conf); 

     TableName tableName = TableName.valueOf("test"); 
     HTableDescriptor htd = new HTableDescriptor(tableName); 
     HColumnDescriptor hcd = new HColumnDescriptor("data"); 

     htd.addFamily(hcd); 
     admin.createTable(htd); 

그리고 bash_profile에 다음 ENV 변수를 추가

export HADOOP_HOME=/Users/karan.verma/Documents/backups/h/hadoop-2.6.4 
export PATH=$PATH:$HADOOP_HOME/bin 
export PATH=$PATH:$HADOOP_HOME/sbin 
export HADOOP_PREFIX=/Users/karan.verma/Documents/backups/h/hadoop-2.6.4 
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop 
export HADOOP_MAPRED_HOME=$HADOOP_HOME 
export HADOOP_COMMON_HOME=$HADOOP_HOME 
export HADOOP_HDFS_HOME=$HADOOP_HOME 
export YARN_HOME=$HADOOP_HOME 

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native 
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib" 
export HADOOP_CLASSPATH=${JAVA_HOME}/lib/tools.jar 
+0

당신은 당신이 – Karthik

+0

HBase를 클라이언트 1.3.1 을 org.apache.hbase org.apache.hbase 사용 hbase- 한 JAR 파일을 제공시겠습니까 서버 0.95.0 KayV

+0

내 코드가 exe가 아닙니다. HBaseAdmin admin = 새 HBaseAdmin (hconfig) 후 잘라 내기; 내가 질문에서 언급 한 것처럼 그것은 사육사에 관한 많은 정보를 던지고있다. 이걸 도와주세요. – Karthik

관련 문제