环境说明
- Hadoop 2.6.0
- cdh5.14.0
- kettle 8.2
准备工作
设置hadoop文件系统权限
- 查看hadoop文件系统
方式一: 浏览器访问 hadoop namenode地址:50070端口
方式二: 通过终端hadoop fs -ls
- 创建目录
hadoop fs -markdir -p /hadoop/test
查看用户是否有创建权限 - 使用
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.xml
和 core-site.xml
可使用CDH 进行下载
Kettle整合Hadoop相关设置
插件目录地址:data-integration\plugins\pentaho-big-data-plugin\hadoop-configurations
- 打开kettle 点击工具 >> Hadoop Distribution…
- 选择要整合的 cloudera CDH 5.14 之后点击 OK
(该步骤会修改data-integration\plugins\pentaho-big-data-plugin\plugin.properties
配置文件中active.hadoop.configuration=cdh514
的值,此步骤也可以手动操作) - 把下载好的 Hadoop 配置文件(
hdfs-site.xml
、core-site.xml
)拷入data-integration\plugins\pentaho-big-data-plugin\hadoop-configurations\cdh514
中 - 在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
- 打开keetle >> 新建转换 >> 切换到主对象树 >> Hadoop clusters >> 鼠标右键 new cluster
- 点击测试按钮 提示成功 整合完成
解决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相关设置
- 通过cloudera Manager 控制台 >> 点击Hive >> 配置 >> 端口和地址 ,查看Hiveserver2 端口号
- 拷贝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生效 - kettle 中 DB连接 >> 右键新建
- 填入hive相关连接配置 点击测试 提示成功 完成整合 (kettle中使用表输入,表输出即可完成hive连接操作)
Kettle整合Hbase相关设置
Hbase 基础命令
-- 进入hbase终端
hbase shell
-- 查看状态
status
-- 查看版本
version
-- 创建测试表
create 't1','f1'
-- 查看表结构
describe 't1'
-- 插入数据
put 't1','rowkey001','f1','v1'
-- 查询数据
get 't1','rowkey001'
- kettle 界面点击 >> 核心对象 >> Big Data >> Hbase input
- 切换到 Create/Edit mappings >> 点击 Get table names >> Hbase table name 下拉框中选择要操作的表 >> Mapping name 填入映射名
- 点击 Create a tupletemplate 创建模板
- 填入 Cloumn family 和 Type 对应类型
- 点击Save mapping 保存映射 ,提示成功 点击ok
- 切换到 Configure query >> 点击 Get mapped tables names >> 选择 hbase表
- 点击 Get Mappings for the specified table >> 选择刚刚保存的 mapping
- 最后点击确定