Kettle8.2与HBase集成
- 一、HBase安装
- 1.1 zookeeper单机安装
- 1.2 HBase安装
- 1.3 创建weblogs表,列族为pageviews
- 二、Kettle配置
- 三、案例演示
- 3.1 功能描述
- 3.2 测试数据
- 3.3 组件实现
- 3.4 运行验证
说明:
- 环境:Centos7 + Kettle8.2 + hbase-1.3.1 + zookeeper-3.4.5
- 目标:通过Kettle将本地文件抽取到hbase中
一、HBase安装
安装hbase需要先安装zookeeper,故按照如下步骤进行环境搭建:
1.1 zookeeper单机安装
请参考博客中其他的博文:
1.2 HBase安装
- 需要将hadoop启动起来(如果已经启动了,就不需要执行这个命令):
start-all.sh
- 上传hbase-1.3.1-bin.tar.gz到/tools目录下
- 将hbase-1.3.1-bin.tar.gz文件解压并安装到/training目录下
tar -zvxf hbase-1.3.1-bin.tar.gz -C /training/
- 配置环境变量
vi ~/.bash_profile
在打开的.bash_profile文件中添加如下信息:
export HBASE_HOME=/training/hbase-1.3.1
export PATH=$HBASE_HOME/bin:$PATH
- 让环境变量生效
source ~/.bash_profile
- 验证配置hbase的环境变量是否生效,执行:
hbase
看看是否有Usage: hbase [] []信息,如果有则生效了,否则,配置有误
- 进入到/training/hbase-1.3.1/conf目录下
cd /training/hbase-1.3.1/conf
- 修改hbase-env.sh文件
vi hbase-env.sh
修改JAVA_HOME为用户安装的jdk路径
export JAVA_HOME=/training/jdk1.8.0_171
找到# export HBASE_MANAGES_ZK=true 将#号去掉即可
- 修改hbase-site.xml
vi hbase-site.xml
在configuration节点之间添加如下信息,注意下面的有IP的地址需要修改成你自己主机的IP地址或者主机名,具体如下
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop001:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop001</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
- 修改regionservers,配置从节点地址(伪分布只有一台主机,所以配置一个即可):将localhost改成IP地址或者主机名。
- 启动HBase:
start-hbase.sh
- 使用jps命令查看,是否已经启动了如下两个进程
HRegionServer
HMaster - 登录Web Console进程查看: http://hadoop001:16010
1.3 创建weblogs表,列族为pageviews
在hbase shell 中创建表,执行如下命令:
create 'weblogs', 'pageviews'
二、Kettle配置
- 将配置好的hbase-site.xml文件下载到kettle的安装目录下,如下图所示:
- 重启Kettle
三、案例演示
3.1 功能描述
将本地文件抽取到HBase中
3.2 测试数据
3.3 组件实现
- 选择输入组件为文本文件输入
- 选择输出组件为HBase Output
- 配置输入组件,双击输入组件,配置如下所示:
选择测试数据所在位置,浏览->增加,
5. 配置hadoop集群,如下图,双击HBase Output组件,弹窗如下:
6. 配置输出组件HBase Output,配置如下图:
HBase中多出一张映射表
在上面的弹窗截图中切换到Configure connection 进行如下配置,配置完后一定注意保存一下:
3.4 运行验证
1、 运行
2、查看控制台:
3、查看hbase数据库中的数据