HBase系列 1:开发环境搭建

1 篇文章 0 订阅

Hbase单机部署

需事先准备安装好hadoop 2.x,单机版部署即可。之后,HBase单机部署只需两步:
1. 编辑hosts文件,给本机ip定义一个host name
2. 编辑 conf/hbase-site.xml并添加

```
 <property>
     <name>hbase.rootdir</name>
     <value>hdfs://localhost:9000/hbase</value>
 </property>
```

3. 修改conf/regionservers, 由于是单机部署,只需要填写之前在hosts文件中定义的host
4. bin/start-all.sh启动HBase,并通过hbase shell 连接hbase,进行测试。

Intellij IDEA用gradle构建工程

使用IDEA 构建一个gradle的空项目

build.gradle中添加hbase client依赖,注意版本与HBase安装版本一致

compile 'org.apache.hbase:hbase-client:1.2.6'

使用HBase api 连接HBase

代码如下:

    public static void main(String[] args) throws IOException {
        Configuration hConf = HBaseConfiguration.create();

        hConf.set("hbase.zookeeper.quorum", "hbaseHost"); //这里使用与HBase主机相同的host
        hConf.set("hbase.zookeeper.property.clientPort", "2181");

        Connection connection = ConnectionFactory.createConnection(hConf);
        Admin admin = connection.getAdmin();
        for (TableName tableName : admin.listTableNames()){
            System.out.println("Table name is :" + tableName.getNameAsString());
        }

        TableName tableName = TableName.valueOf("demo");
        if(!admin.tableExists(tableName)){
            HTableDescriptor tableDesc = new HTableDescriptor(tableName);
            HColumnDescriptor colDesc = new HColumnDescriptor("cf");
            tableDesc.addFamily(colDesc);

            admin.createTable(tableDesc);
            System.out.println("Table demo created");
        }
    }

可以看出HBase client是通过连接Zookeeper来与HBase进行通信的。

调试时一个无限等待的小坑

注意hosts的配置,如果client在连接时,如果HBase主机和client所在主机,关于使用的host 所配置的ip不一致的话,client在连上zookeeper之后,就会陷入无限等待。

比如,HBase 主机(192.168.1.199) hosts配置了127.0.0.1 hbase, regionservers 配置的是hbase, HBase正常启动了。而 Client hosts配置192.168.1.100 hbase。 这时Client在连接时就会陷入无限等待。必须把HBase的host 配置改为192.168.1.100 hbase。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值