环境说明

  • Hadoop 2.6.0
  • cdh5.14.0
  • kettle 8.2

准备工作

设置hadoop文件系统权限

  1. 查看hadoop文件系统
    方式一: 浏览器访问 hadoop namenode地址:50070端口
    方式二: 通过终端 hadoop fs -ls
  2. 创建目录 hadoop fs -markdir -p /hadoop/test 查看用户是否有创建权限
  3. 使用 sudo -u hdfs hadoop fs -chmod -R 777 / 改变hadoop目录访问权限,之后再次创建目录测试

创建hive测试数据

-- 登录hive
hive
-- 创建数据库
create database test;
show databases;
-- 创建测试表 len
create table len(a int,b int) row format delimited fields terminated by ',';
-- 导入测试数据
load data local inpath '/root/test.txt' into table len;

下载hadoop核心配置文件

核心配置文件路径: etc/hadoop/conf/,需下载 hdfs-site.xmlcore-site.xml

可使用CDH 进行下载

kettle9连接hive kettle连接hadoop_h5

Kettle整合Hadoop相关设置

插件目录地址:data-integration\plugins\pentaho-big-data-plugin\hadoop-configurations

  1. 打开kettle 点击工具 >> Hadoop Distribution…
  2. 选择要整合的 cloudera CDH 5.14 之后点击 OK
    (该步骤会修改 data-integration\plugins\pentaho-big-data-plugin\plugin.properties 配置文件中 active.hadoop.configuration=cdh514 的值,此步骤也可以手动操作)
  3. 把下载好的 Hadoop 配置文件(hdfs-site.xmlcore-site.xml)拷入data-integration\plugins\pentaho-big-data-plugin\hadoop-configurations\cdh514
  4. 在windows hosts 文件添加节点信息
192.168.9.120 cdh-server
192.168.9.121 cdh-agent01
192.168.9.122 cdh-agent02
192.168.9.123 cdh-agent03
  1. 打开keetle >> 新建转换 >> 切换到主对象树 >> Hadoop clusters >> 鼠标右键 new cluster
  2. 点击测试按钮 提示成功 整合完成

解决windows用户权限

windows 平台下通过kettle访问hadoop会使用admin用户进行链接

解决办法:

-- 添加用户
hadoop fs -mkdir /user/admin
-- 分配权限
hadoop fs -chown admin:hdfs /user/admin
-- 修改权限
sudo -u hdfs hadoop fs -chmod -R 777 /

Kettle整合Hive相关设置

  1. 通过cloudera Manager 控制台 >> 点击Hive >> 配置 >> 端口和地址 ,查看Hiveserver2 端口号
  2. 拷贝agnet节点中 /opt/cloudera/parcels/CDH-5.14.0-1.cdh5.14.0.p0.24/jars/hadoop-common-2.6.0-cdh5.14.0.jar 到kettle \data-integration\lib目录下 重启kettle生效
  3. kettle 中 DB连接 >> 右键新建
  4. 填入hive相关连接配置 点击测试 提示成功 完成整合 (kettle中使用表输入,表输出即可完成hive连接操作)

Kettle整合Hbase相关设置

Hbase 基础命令

-- 进入hbase终端
hbase shell
-- 查看状态
status
-- 查看版本
version
-- 创建测试表
create 't1','f1'
-- 查看表结构
describe 't1'
-- 插入数据 
put 't1','rowkey001','f1','v1'
-- 查询数据
get 't1','rowkey001'
  1. kettle 界面点击 >> 核心对象 >> Big Data >> Hbase input
  2. 切换到 Create/Edit mappings >> 点击 Get table names >> Hbase table name 下拉框中选择要操作的表 >> Mapping name 填入映射名

kettle9连接hive kettle连接hadoop_Hadoop_02

  1. 点击 Create a tupletemplate 创建模板
  2. 填入 Cloumn family 和 Type 对应类型
  3. 点击Save mapping 保存映射 ,提示成功 点击ok
  4. 切换到 Configure query >> 点击 Get mapped tables names >> 选择 hbase表
  5. 点击 Get Mappings for the specified table >> 选择刚刚保存的 mapping
  6. 最后点击确定