文档章节

hbase-indexer环境搭建

Zero零_度
 Zero零_度
发布于 2017/04/17 09:42
字数 1434
阅读 80
收藏 1

介绍:

Hbase + solr是非常成熟的查询方案、但在hbase增、删、改的同时还要维护solr索引是不是很无辜。基于此CDH就提供一个服务hbase-indexer。它的主要功能就是我们只需要操作hbase,hbase-indexer可以自动把索引添加到solr中。 
下面是我自己画的示意图(比较low)、简单讲hbase-indexer就是承上启下的作用。

这里写图片描述 
原理我就不讲了网上太多了、本文主要目的还是将环境搭建。如果大家想了解原理推荐链接: 
http://blog.csdn.net/d6619309/article/details/51500368

Q:为什么只介绍CDH的版本、那apache版本的了? 
A:本大厨只找到CDH版的hbase-indexer、apache版没查到。谁如果知道apache版有类似功能可以留言。

准备:

已安装好的CDH版hadoop5.x版本及同样版本的Hbase;
下载同版本CDH版solr和hbase-indexer;
下载地址:
http://archive-primary.cloudera.com/cdh5/cdh/5/
官方地址(本大厨是按照官网一步步来安装的):
https://github.com/NGDATA/hbase-indexer/wiki

步骤

一:打开官网:

https://github.com/NGDATA/hbase-indexer/wiki

这里写图片描述

二:得到Hbase-indexer软件

官网提供方法(本大厨没用):

这里写图片描述

本大厨是在以下链接找的、要和你的CDH-Hadoop版本一致。同时下载hbase-indexer和solr。(自己去找solr就不截图了。。。。)。同时解压。

这里写图片描述

这里写图片描述

三:配置Hbase-indexer

其实就是配置zookeeper地址。因为hbase-indexer是依赖于zookeeper的。 
官网给了二种方案: 
第一是修改hbase-indexer-site.xml的配置文件。 
第二就是把hbase配置文件hbase-site.xml给copy进来。 
本大厨就是在这遇到第一个坑、因为我是按照方案二做的结果后面zookeeper报错。原因没找到。所以后来改用方案一跳出此坑。 
这里写图片描述

四:配置hbase

这个没什么可说的、就是把框里的内容(hbase的复制功能)加到hbase的hbase-site.xml文件中。要注意的问题如果配置文件之前就有的项就不要重复添加了。

这里写图片描述

五:把hbase-indexer的jar添加到hbase中

这里写图片描述

这是官网给我挖的第二个坑。。。。因为hbase-indexer目录下就没有lib这个文件夹。这一步我再解释一下、官网要求我把hbase-indexer下的lib里的jar复制到hbase的lib里面。但问题时hbase-indexer下根本就没有lib这个文件夹。所以我要做的是找到hbase-indexer的lib。 
然后我找到CDH-hadoop的安装目录看到以下目录:

这里写图片描述

注意:这个目录下的jar都是引用过来的、具体的路径在../../../jars里面。所以找到这个jars复制到hbase-indexer的根目录下、并重命名为lib。

这里写图片描述

六:启动solr服务

这个强调一点:一定要按下面这个来、不要用tomcat等其他服务器启动solr、具体原因我在报错的位置会讲到。这个这个是用solr自带服务器默认端口是8983,我在启动的时候报 Address already in use,执行命令lsof -i:8983。看看谁在占用不影响直接干掉。

这里写图片描述 
这里写图片描述
表示安装成功。 
注意:启动成功后该命令窗口(本大厨用的是CRT)留着,重新打开新的窗口不然又可能不小心solr服务就停了。 
这里提一下、CDH版的solr目录和apache版目录稍有不同、其实把apache版弄明白了、CDH版随便看看就懂了。稍微提一下。CDH版的solrHome和solrCore。如图example下的solr文件夹就是solrHome。本大厨是根据zoo.cfg判断的(目录下有zoo.cfg说明是solrHome)。而collection1这个就是solrCore。。

这里写图片描述

七:切换到Tutorial

这里写图片描述

八:启动hbase-indexer服务

这里写图片描述

./hbase-indexer 回车可以看到可执行命令如下: 
server:代表启服务 
add-indexer:等不解释一看就明白。eg:./hbase-indexer add-indexer -n indexerName

这里写图片描述

这里我们执行./hbase-indexer server 启动服务 
执行成功的场景…(执行成功后这个命令窗口还是要留着,换新的窗口,以后的执行可以通过此命令窗口看日志。) 
这里写图片描述 
注意:本大厨在这执行时候遇到两个错。 
第一:zookeeper问题。解决方案:见【三:配置Hbase-indexer】。 
第二:报nosuchclass/method。。反正就是找不到类或者方法。解决方案:【五:把hbase-indexer的jar添加到hbase中】最终这个lib中会有很多重复的jar包。所以大家要了解不是说只有缺jar才会报这种错、jar冲突也会报这个错。具体哪个jar包导致本大厨没查到。本大厨秉承愚公移山精神把重复的都删了。删了半小时。。。。。

九:创建hbase表

没什么可讲的、表名怎么取无所谓,但REPLICATION_SCOPE必须设为1。 
这里写图片描述

十:创建对应映射关系index

这里写图片描述 
1:就是在你的hbase-indexer目录下新建一个文件indexdemo-indexer.xml(hbase和solr映射关系)、内容也帮你写好了、大家都是聪明人(本大厨除外)、这是官网提供的demo、你理解意思就行。这里大家是不是有个疑问,知道solr的就知道,solr必须会有个id的,但这个映射文件中没有,后来我的solr索引写入失败、我以为是这块问题就把id加上了,value对应着rowkey。结果报错。。所以这块大家不要画蛇添足按照官网说的做。 
执行完后再hbase-indexer的bin里面执行:./hbase-indexer list-indexers 
这里写图片描述 
以上:代表成功。否则你就去看日志。

十一:测试hbase中put一条数据、看solr中是否有索引

这里写图片描述

测试结果: 
这里写图片描述

注意:如果在put数据后、hbase中有。日志也没报错的话,在solr界面你需要Document(s)执行提交、再去查。有可能solr没有设置自动提交。如何设置百度去。这个很简单。。 
这里写图片描述

本文转载自:http://blog.csdn.net/xiahoujie_90/article/details/53400044?locationNum=9&fps=1

Zero零_度
粉丝 69
博文 1258
码字总数 257684
作品 0
程序员
私信 提问
Cloudera Manager中的Lily HBase Indexer 堆转储目录的文件系统,>Cloudera Manager遇到问题

Cloudera Manager中的Lily HBase Indexer 堆转储目录的文件系统,>Cloudera Manager遇到问题 、、、 Lily HBase Indexer 运行状况测试用于检查含有该 Lily HBase Indexer 堆转储目录的文件系...

知行合一1
2016/09/12
418
0
大数据平台搭建-hbase集群的搭建

本系列文章主要阐述大数据计算平台相关框架的搭建,包括如下内容: 虚拟服务器安装 基础环境安装 zookeeper集群的搭建 kafka集群的搭建 hadoop/hbase集群的搭建 spark集群的搭建 flink集群的...

molyeo
2018/07/25
0
0
HADOOP HBASE配置注意事项

1、yum安装的jdk工具1.8版本,在配置hbase1.2版本需要在hbase-env.sh配置文件中注释掉下面的内容: export HBASEMASTEROPTS="$HBASEMASTEROPTS -XX:PermSize=128m -XX:MaxPermSize=128m" exp......

断臂人
2018/07/11
0
0
大数据学习系列之二 ----- HBase环境搭建(单机)

引言 在上一篇中搭建了Hadoop的单机环境,这一篇则搭建HBase的单机环境 环境准备 1,服务器选择 阿里云服务器:入门型(按量付费) 操作系统:linux CentOS 6.8 Cpu:1核 内存:1G 硬盘:40G 2,配...

虚无境
2018/08/16
0
0
搭建HBase的本地模式、伪分布式、全分布式和HA模式

一、安装HBase: 我这里选择的是hbase-1.3.1-bin.tar.gz版本解压HBase: tar -zxvf hbase-1.3.1-bin.tar.gz -C ~/training 配置HBase的环境变量: export HBASE_HOME=/root/training/hbase-1.......

李金泽
2018/07/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

linux下ctrl+c中止不了

有一台centos7的服务器,ctrl+c无效,并且tail -f也无效,只能关掉终端或者crtl+z放入后台再删掉,但是ping的时候使用ctrl+c是有效果的。 出现这种情况的原因可能是因为有人要使用ruby安装r...

gaolongquan
20分钟前
1
0
Android三年工作面经

工作三年出来看看新的机会,依次面试过如下公司: 小米(北京) iHandy(北京) 涂鸦智能(杭州) 微软(北京) 宜信(北京) 蚂蚁金服(杭州) 瓜子二手车(北京) 高德(北京) 基本上投递的简历都得到了面...

JerryLin123
23分钟前
2
0
开发函数计算的正确姿势——tensorflow serving

前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计...

阿里云云栖社区
26分钟前
6
0
社区角色(Kubernetes社区Maintainer是什么角色?)

社区成员按照角色,分为member、reviewer、approver、subproject owner。 下面我们介绍一下每个角色的职责和要求。 member reviewer approver subproject owner...

恋恋美食
43分钟前
1
0
【JavaScript】callee 与 caller

callee callee是函数参数arguments对象的一个属性,它指向参数arguments对象所在的函数自身。 function foo (x) {console.log(arguments.callee);return x;}foo(); 从控制台中可以看...

小草先森
47分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部