HBase-Indexer环境搭建、测试

1.环境搭建

1.1.环境说明

    环境搭建过程中用到4个节点,都为虚拟机。在部署HBase-Indexer环境之前已经部署好了zookeeper、HDFS、Yarn、HBase环境,这篇文档就不赘述了,本文重点讲解HBase-Indexer的搭建过程,其中HBase-Indexer部署在三个节点上,和HRegionServer所在节点相同,Solr服务部署一个节点。具体各个服务在节点分布的情况如表格1.1所示,其中“1”表示有服务存在该节点上。

表1.1.服务分布情况

1.2.下载 HBase-Solr(HBase-Indexer)

下载地址:http://archive-primary.cloudera.com/cdh5/cdh/5/

这里搭建环境下载的是 hbase-solr-1.5-cdh5.11.0,如图1.2所示。

HBase-Indexer环境搭建、测试_第1张图片

图1.2.HBase-Solr下载

1.3.配置HBase-Indexer

1.3.1.配置hbase-indexer-site.xml文件

(1)、解压刚才下载的hbase-solr-1.5-cdh5.11.0.tar.gz,在hbase-indexer-dist/target目录下将hbase-indexer-1.5-cdh5.11.0.tar.gz拷贝到你需要安装的目录下;

(2)、解压hbase-indexer-1.5-cdh5.11.0.tar.gz;

tar -zxvf hbase-indexer-1.5-cdh5.11.0.tar.gz

(3)、配置 hbase-indexer,在conf目录下编辑hbase-indexer-site.xml文件,编辑内容如下:


  hbaseindexer.zookeeper.connectstring
  node1:2181,node3:2181,node4:2181



  
  hbase.zookeeper.quorum
  node1,node3,node4

编辑hbase-indexer-site.xml后如图1.3.1所示

HBase-Indexer环境搭建、测试_第2张图片

图1.3.1.hbase-indexer-site.xml文件配置

1.3.2.配置hbase-indexer-env.sh文件

在文件hbase-indexer-env.sh配置JAVA_HOME,配置完成后如图1.3.2所示。

HBase-Indexer环境搭建、测试_第3张图片

图1.3.1.hbase-indexer-env.sh文件配置

配置完成后,将hbase-indexer拷贝到所有HRegionServer所在的节点上,即node2,node3,node4。

1.4.配置HBase

为了使用HBase-Indexer,必须在HBase启用replication,编辑HBase的hbase-site.xml,加入配置内容如下。

  
  
    hbase.replication
    true
  

  
  
    replication.source.ratio
    1.0
  

  
  
    replication.source.nb.capacity
    1000
  

  
  
    replication.replicationsource.implementation
    com.ngdata.sep.impl.SepReplicationSource
  

配置完成后如图1.4所示。

HBase-Indexer环境搭建、测试_第4张图片

图1.4.HBase配置

将配置好的文件拷贝到其他HBase节点上。

1.5.拷贝HBase使用Hbase-Indexer需要的jar

将hbase-indexer-1.5-cdh5.11.0.tar.gz解压后lib中的所有以 hbase-sep 开头的jar加入到HBase的lib目录里。

cp lib/hbase-sep-* $HBASE_HOME/lib

lib/目录下一共有四个jar需要拷贝到HBase安装目录下的lib/中,具体jar包如图1.5所示。

HBase-Indexer环境搭建、测试_第5张图片

图1.5.需要拷贝的jar包

1.6.下载Solr服务并安装

下载地址为:http://archive-primary.cloudera.com/cdh5/cdh/5/,这里测试下载的版本为solr-4.10.3-cdh5.11.0.tar.gz,如图1.6所示。

HBase-Indexer环境搭建、测试_第6张图片

图1.6.Solr服务下载

对于简单的测试可以不用对Solr进行特别的配置,下载完成后解压到相应的安装目录。

1.7.启动服务

(1)、启动HDFS。

./bin/start-all.sh

(2)、启动HBase。

./bin/start-hbase.sh

(3)、在Solr服务的安装目录下的example目录下启动Solr。

java -Dbootstrap_confdir=./solr/collection1/conf -Dcollection.configName=myconf -DzkHost=node1:2181,node3:2181,node4:2181/solr  -jar start.jar

Solr启动成功后会输出如图1.7.1.所示类似的内容,启动后不要关闭当前窗口,关闭后Solr服务就死了。

HBase-Indexer环境搭建、测试_第7张图片

图1.7.1.Solr启动成功

(4)、在HBase-Indexer的安装目录下启动HBase-Indexer。

./bin/hbase-indexer server

HBase-Indexer启动成功后会输出如图1.7.2.所示类似的内容。启动后不要关闭当前窗口,关闭后HBase-Indexer服务就死了。

HBase-Indexer环境搭建、测试_第8张图片

图1.7.2.HBase-Indexer启动成功

2.HBase-Indexer测试

2.1.在HBase中创建测试表

创建表的时候必须开启replication,即设置REPLICATION_SCOPE => '1',在其中一台机器上执行下面的命令。

./bin/hbase shell
create 'indexdemo-user', { NAME => 'info', REPLICATION_SCOPE => '1' }

创建成功后如图2.1所示。

HBase-Indexer环境搭建、测试_第9张图片

图2.1.创建测试表

2.2.创建索引

        在HBase-Indexer的demo目录下给了一个创建索引的文件user_indexer.xml,我们可以自己参照着编写一个自己的,也可以直接使用这个。这里测试我们直接使用demo目录下的 user_indexer.xml。只需要在一个hbase-indexer服务节点上执行下面命令就可以了。

./bin/hbase-indexer add-indexer -n myindexer -c user_indexer.xml -cp solr.zk=localhost:2181/solr -cp solr.collection=collection1

索引创建成功后可以通过下面的命令来查看已经创建的索引,结果如图2.2所示。

./bin/hbase-indexer list-indexer solr.zk=localhost:2181/solr

HBase-Indexer环境搭建、测试_第10张图片

图2.2.查看创建的索引

对于solr.zk这个参数,好像还必须是localhost:port,我测试了一下如果写的是远程节点上的zk,indexer会创建失败,至于为没找到原因。

hbase-indexer的命令可以通过./bin/hbase-indexer来查看,其中主要有:

add-indexer
update-indexer
delete-indexer
list-indexers

比如查看add-indexer如何使用,可以这样查看 ./bin/hbase-indexer add-indexer。

2.3.准备测试数据

往刚才创建好的HBase表indexdemo-user中put一些测试数据。用于在Solr服务的管理界面进行测试。具体操作如下所示,操作完成后可以通过 scan 来查看indexdemo-user中是否有数据,如图2.3所示。

put 'indexdemo-user', 'row1', 'info:firstname', 'huang.zongxing'
put 'indexdemo-user', 'row2', 'info:firstname', 'John'
put 'indexdemo-user', 'row3', 'info:firstname', 'John-haha'
put 'indexdemo-user', 'row4', 'info:firstname', 'John-haha'
put 'indexdemo-user', 'row4', 'info:lastname','hello'
put 'indexdemo-user', 'row4', 'info:age',21

HBase-Indexer环境搭建、测试_第11张图片

图2.3.测试数据

2.4.Solr的管理界面测试查询

2.4.1.单条件查询

        进入Solr的管理界面,点击左侧的“Query”进入Solr的查询界面,在表示为“q”的输入框中输入查询条件“firstname_s:huang.zongxing”,默认是“*:*”,点击“Execute Query”按钮进行查询,查询结果如图2.4.1所示。

HBase-Indexer环境搭建、测试_第12张图片

图2.4.1.Solr单条件查询

2.4.2.多条件查询

        同样在Query界面,Solr的多条件查询实际上是“q”和“fq”同时使用,其处理也就是先通过“q”中的条件进行查询,然后用“fq”中的条件对“q”查询到的结果进行过滤,“fq”中可以填写多个条件,不同条件之间通过“&”分隔。这里我们在“q”中输入“firstname_s:John-haha”,在“fq”中输入“lastname_s:hello”,最后的查询结果如图2.4.2所示。

HBase-Indexer环境搭建、测试_第13张图片

图2.4.2.Solr多条件查询

2.4.3.过滤查询字段

        在Solr中,我们也可以像SQL那样,查询我们只需要的字段,我们可以在“fl”中输入需要查看的字段,这里测试我们只查看所有数据“id”字段,所以在“q”中输入“*:*”,在“fl”中输入“id”,点击执行,查询结果如图2.4.3所示。

HBase-Indexer环境搭建、测试_第14张图片

图2.4.3.过滤查询字段

3.关于Solr管理界面的说明

3.1.基本查询

HBase-Indexer环境搭建、测试_第15张图片

3.2.检索运算符

HBase-Indexer环境搭建、测试_第16张图片

【参考】

[1] https://my.oschina.net/sniperLi/blog/880610

[2] https://github.com/NGDATA/hbase-indexer/wiki/Installation

转载于:https://my.oschina.net/u/2352856/blog/1239965

你可能感兴趣的:(HBase-Indexer环境搭建、测试)