准备工作:

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文件系统的目录。

待更......

 ​​​​​​​

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐