IDEA 원 격 연결 HBase 및 Java API 실전 상세 설명

10508 단어 ideaHBaseAPI
在这里插入图片描述
개방 포트
안전 팀 이 포트 를 열지 않 은 것 은 원죄 다!!많은 BUG 가 시간 과 노력 을 들 였 습 니 다.Hbase 는 나 에 게 잡 힌 42239 와 같은 많은 포트 를 몰래 사용 했다.
在这里插入图片描述
在这里插入图片描述
Hbase 설치
압축 파일 다운로드
홈 페이지 에서 다운로드 받 을 수 있 습 니 다.http://hbase.apache.org/downloads.html
거울 에 가서 역사 버 전 을 다운로드 할 수도 있 습 니 다.http://archive.apache.org/dist/hbase/
1.3.2 버 전 으로 예 를 들 면:
在这里插入图片描述
직접 다운로드 하거나 로 컬 에 다운로드 해서 올 려 도 됩 니 다.어느 것 이 빠 른 지 보 세 요.

wget http://archive.apache.org/dist/hbase/1.3.2/hbase-1.3.2-bin.tar.gz
tar -zxvf hbase-1.3.2-bin.tar.gz #  
mv hbase-1.3.2-bin /urs/local/hbase
在这里插入图片描述
hbase-site.xml 설정

cd /usr/local/hbase/conf
vi hbase-site.xml

<property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    <property>
        <name>hbase.rootdir</name>
        <value>/hbase-data</value>
    </property>
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>master:2181</value>
    </property>
在这里插入图片描述
hbase-env.sh 설정

cd /usr/local/hbase/conf
echo $JAVA_HOME #     jdk   (  )
vi hbase-env.sh #     
export JAVA_HOME=/usr/local/java
在这里插入图片描述
在这里插入图片描述
실행 테스트

cd /usr/local/hbase/bin
./start-hbase.sh
在这里插入图片描述
在这里插入图片描述
방문
在这里插入图片描述
도 메 인 이름 설정
서버 vi/etc/hosts
사설 인터넷 ip 마스터
在这里插入图片描述
로 컬 C:\\Windows\System 32\\drivers\\etc\\hosts
인터넷 ip master
在这里插入图片描述
在这里插入图片描述
IDEA 소스 코드
디 렉 터 리 구조:
在这里插入图片描述
maven 프로젝트 를 만 들 고 pom.xml 에 의존 도 를 추가 합 니 다:

<dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-server</artifactId>
            <version>1.3.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-client</artifactId>
            <version>1.3.2</version>
        </dependency>
버 전 은 1.3.2 입 니 다.자신 과 일치 하 는 것 을 주의 하 십시오.hbase 셸 에 로그 인 할 때 볼 수 있 습 니 다.
在这里插入图片描述
블 로 거 CSDN 주소:https://wzlodq.blog.csdn.net/
log4j.properties 설정

log4j.rootLogger=debug, stdout, R

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern=%5p - %m%n

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=firestorm.log

log4j.appender.R.MaxFileSize=100KB
log4j.appender.R.MaxBackupIndex=1

log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n

log4j.logger.com.codefutures=DEBUG
hbase-site.xml 설정

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl" rel="external nofollow" ?>
<configuration>
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    <property>
        <name>hbase.rootdir</name>
        <value>/hbase-data</value>
    </property>
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>master:2181</value>
    </property>
</configuration>
HBaseCRUD.java

package ex3;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.*;
import org.apache.hadoop.hbase.client.*;

import java.io.IOException;

public class HbaseCRUD {
    private static Configuration configuration;
    private static Connection connection;
    private static Admin admin;

    /**
     *     
     */
    public static void init(){
        configuration=HBaseConfiguration.create();
        configuration.set("hbase.zookeeper.quorum","121.36.240.205"); //       IP
        configuration.set("hbase.zookeeper.property.clientPort","2181");
        try{
            connection=ConnectionFactory.createConnection(configuration);
            admin=connection.getAdmin();
        }catch (IOException e){
            e.printStackTrace();
        }
    }
    /**
     *     
     */
    public static void close(){
        try{
            if(admin!=null)
                admin.close();
        }catch (IOException e){
            e.printStackTrace();
        }
    }
    /**
     *    
     * @param myTableName   
     * @param colFamily     
     * @throws IOException
     */
    public static void createTable(String myTableName,String[]colFamily)throws IOException{
        TableName tablename = TableName.valueOf(myTableName);
        if(admin.tableExists(tablename)){
            System.out.println("     !");
        }
        else{
            HTableDescriptor hTableDescriptor = new HTableDescriptor(tablename);
            for(String str:colFamily){  //    
                HColumnDescriptor hColumnDescriptor = new HColumnDescriptor(str);
                hTableDescriptor.addFamily(hColumnDescriptor);
            }
            admin.createTable(hTableDescriptor); //  
        }
    }

    /**
     *     
     * @param tablename   
     * @param rowKey   
     * @param colFamily   
     * @param col     
     * @param val   
     * @throws IOException
     */
    public static void insertData(String tablename,String rowKey,String colFamily,String col,String val)throws IOException{
        Table table = connection.getTable(TableName.valueOf(tablename));//    
        Put put = new Put(rowKey.getBytes());
        put.addColumn(colFamily.getBytes(),col.getBytes(),val.getBytes());
        table.put(put);
        table.close();
    }

    /**
     *     
     * @param tablename   
     * @param rowKey   
     * @param colFamily   
     * @param col     
     * @throws IOException
     */
    public static void getData(String tablename,String rowKey,String colFamily,String col)throws IOException{
        Table table = connection.getTable(TableName.valueOf(tablename));
        Get get = new Get(rowKey.getBytes());
        get.addColumn(colFamily.getBytes(),col.getBytes());
        Result result = table.get(get);
        String val = new String(result.getValue(colFamily.getBytes(),col==null?null:col.getBytes()));
        System.out.println("  :"+val);
        table.close();
    }
}
Client.java

package ex3;

import org.apache.log4j.BasicConfigurator;

import java.io.IOException;

public class Client {
    public static void main(String[] args) throws IOException {
        HbaseCRUD.init();
        //  
        HbaseCRUD.createTable("student",new String[]{"score"});
        //    
        HbaseCRUD.insertData("student","lisa","score","Java","85");
        HbaseCRUD.insertData("student","lisa","score","C/C++","80");
        HbaseCRUD.insertData("student","lisa","score","MySQL","82");
        HbaseCRUD.insertData("student","jerry","score","Java","65");
        //    
        HbaseCRUD.getData("student","lisa","score","Java");
        HbaseCRUD.getData("student","lisa","score","MySQL");
        HbaseCRUD.getData("student","jerry","score","Java");
        HbaseCRUD.close();
        System.out.println("      ~");
    }
}
실행 을 클릭 한 후 인내심 을 가지 고 기 다 려 야 합 니 다.회색 INFO,DEBUG 정 보 는 상관 하지 않 아 도 됩 니 다.잘못 보고 하면 빨간색 글꼴(댓 글 영역 교류)로 tomcat 내 맛 이 납 니 다.
在这里插入图片描述
오리지널 창작 이 쉽 지 않 으 니 전재 하지 마 십시오.
블 로 거들 홈 페이지:https://wzlodq.blog.csdn.net/
IDEA 원 격 연결 HBase 및 Java API 실전 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 아이디어 연결 HBase 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기