kettle与大数据组件(hdfs、hive、hbase)的连接
准备工作:涉及大数据组件:hadoop、zookeeper、hive、hbase启动hadoop集群:start-all.sh启动zookeeper:shbin/zkServer.shstart启动hbase:bin/start-hbase.sh启动hiveserver2:bin/hiveserver2进入beeline查看端口开启情况:bin/beelinebeeline>!connect
准备工作:
1.相互之间版本是否对应
在正式开始之前,需要查看自己的Hadoop、hbase、hive、kettle版本是否相互支持。可以到官网查看版本支持或者网上看网友整理的版本支持结果。
2.各个组件是否能够成功运行
环境搭建好之后可以测试测试。如果服务和进程启动不起来,后续操作也就进行不下去了。
3.kettle当中文件的配置
需要将要连接的master上的一些配置文件覆盖kettle的某个目录下相应的文件。
以上三个部分都可以单独写一篇简文,后续有时间的话,我会去发布相应的文章,然后把链接附到上面。
4.启动命令(分先后)
涉及大数据组件:hadoop、zookeeper、hive、hbase
启动hadoop集群:start-all.sh
启动zookeeper:sh bin/zkServer.sh start
启动hbase:bin/start-hbase.sh
启动hiveserver2:bin/hiveserver2
进入beeline查看端口开启情况:bin/beeline
beeline>!connect jdbc:hive2://node1:10000(账号密码直接回车就行)
sh /root/opt/module/zookeeper/bin/zkServer.sh start
/root/app/hbase-1.3.1/bin/start-hbase.sh
/root/opt/module/hive-1.2.1/bin/hiveserver2
/root/opt/module/hive-1.2.1/bin/beeline # 进入beeline查看端口开启情况
beeline>!connect jdbc:hive2://node1:10000
实际启动命令根据自己的hadoop、hbase、zookeeper、hive安装目录更改路径。
kettle上HIVE-HDFS测试:
Ubuntu上kettle连接另一台虚拟机(centOS6.5)的hive(通过hiveserver2连接)
组件table input,新建连接配置如下,测试:
数据预览:
输出到hdfs-配置:
组件text file output,配置如下:
new一个hadoop cluster连接,配置如下:
测试的时候,只要Root Directory Access✔就行,User Home Directory Access不通过影响不大(有兴趣的朋友可以尝试去解决这个问题)。
常见的问题是Root Directory Access 打×,
意思是没有权限往hdfs写文件,
这是因为hdfs设有权限,只有root用户才有权限
解决办法有两个:
1.在Spoon.bat中第119行添加参数
“-DHADOOP_USER_NAME=root” “-Dfile.encoding=UTF-8”
2.在linux中输入以下命令,对所有用户开放权限
hadoop dfs -chmod -R 777 /
如果能成功连接上文件系统,则可以在Open File中看到hdfs文件系统的目录。
待更......
更多推荐
所有评论(0)