### ETL+hadoop数据采集详解 #### 一、概述 ETL(Extract, Transform, Load)是数据仓库建设过程中的一个重要环节,它负责从源系统中抽取数据,经过转换处理后,加载到目标数据仓库中。随着大数据技术的发展,越来越多的企业开始采用Hadoop等大数据平台来构建自己的数据处理系统。本文将详细介绍如何通过ETL工具实现与Hadoop的数据交互,重点介绍ETL工具在Hadoop环境下的配置与使用。 #### 二、环境配置 为了确保ETL工具能够顺利地与Hadoop环境进行交互,首先需要对操作系统进行相应的配置。 ##### 操作系统配置 - **获取大数据集群环境的运维访问路径**:通常情况下,可以通过访问类似`http://10.0.8.141:8080`这样的URL来查看集群的节点信息。获取到这些信息后,需要将节点的名称和IP地址添加到操作系统的hosts文件中,以便后续操作可以正确解析这些节点。 - **Windows操作系统hosts配置**:编辑`C:\Windows\System32\drivers\etc\hosts`文件,添加节点的IP地址和名称。 - **Linux操作系统hosts配置**:编辑`/etc/hosts`文件,同样添加节点的IP地址和名称。 - **环境变量配置**:在环境变量中添加`HADOOP_USER_NAME`变量,用于指定Hadoop集群的用户名。 - **Windows环境变量设置**:在系统环境变量中添加名为`HADOOP_USER_NAME`的变量,并设置其值为具体的用户名。 - **Linux环境变量设置**:通过编辑`~/.bashrc`或`/etc/environment`文件来设置环境变量。 #### 三、解决ETL软件闪退问题 在Linux环境下安装C/SETL时可能会遇到点击闪退的问题。为了解决这一问题,需要修改ETL软件的配置文件。 - 在`/common/wydc-ui.sh`文件中找到`PENTAHO_DI_JAVA_OPTIONS`参数,并在其后添加`-Dorg.eclipse.swt.internal.gtk.cairoGraphics=false`。这样可以确保在Linux环境下ETL软件能够正常运行。 #### 四、ETL软件配置 针对Hadoop平台的ETL软件配置主要包括以下步骤: 1. **修改ETL加载的大数据平台版本**:在`SDCETLDesigner\common\plugins\pentaho-big-data-plugin\plugin.properties`文件中,将`active.hadoop.configuration`的值修改为`hdp23`,这表示当前ETL软件将使用Hadoop 2.3版本的配置。 2. **修改对应Hadoop版本的配置信息**:在`SDCETLDesigner\common\plugins\pentaho-big-data-plugin\hadoop-configurations\hdp23\config.properties`文件中,修改`java.system.hdp.version`为实际的Hadoop版本号(如`2.5.0.0-1245`),并添加`authentication.superuser.provider=NO_AUTH`以允许无需认证的超级用户访问。 #### 五、添加必要的配置文件 为了确保ETL工具能够正常读取Hadoop集群的配置,需要将Hadoop集群中的一些关键配置文件复制到ETL软件的相应目录下。 1. **core-site.xml**:从集群中的任意节点复制`/etc/hadoop/2.5.0.0-1245/0/core-site.xml`到`SDCETLDesigner\common\plugins\pentaho-big-data-plugin\hadoop-configurations\hdp23`目录。 2. **hdfs-site.xml**:从集群中的任意节点复制`/etc/hadoop/2.5.0.0-1245/0/hdfs-site.xml`到`SDCETLDesigner\common\plugins\pentaho-big-data-plugin\hadoop-configurations\hdp23`目录。 3. **mapred-site.xml**:从集群中的任意节点复制`/etc/hadoop/2.5.0.0-1245/0/mapred-site.xml`到`SDCETLDesigner\common\plugins\pentaho-big-data-plugin\hadoop-configurations\hdp23`目录,并在该文件中添加以下属性: ```xml <property> <name>mapreduce.app-submission.cross-platform</name> <value>true</value> </property> ``` 4. **yarn-site.xml**:从集群中的任意节点复制`/etc/hadoop/2.5.0.0-1245/0/yarn-site.xml`到`SDCETLDesigner\common\plugins\pentaho-big-data-plugin\hadoop-configurations\hdp23`目录。 5. **hive-site.xml(可选)**:如果需要使用Hive,则需从集群中的任意节点复制`/etc/hive/2.5.0.0-1245/0/hive-site.xml`到`SDCETLDesigner\common\plugins\pentaho-big-data-plugin\hadoop-configurations\hdp23`目录。 6. **hbase-site.xml(可选)**:如果需要使用HBase,则需从集群中的任意节点复制`/etc/hbase/2.5.0.0-1245/0/hbase-site.xml`到`SDCETLDesigner\common\plugins\pentaho-big-data-plugin\hadoop-configurations\hdp23`目录。 #### 六、连接测试 完成上述配置后,可以通过ETL工具进行连接测试以确保一切正常。 1. **启动ETL脚本设计器**:启动ETL工具,创建一个新的作业。 2. **添加集群配置**:在作业中添加新的集群配置。例如,对于HDFS配置,需要输入: - **cluserName**:这是大数据连接的名称,可以根据实际情况自定义。 - **hostname**:这是`core-site.xml`文件中的`fs.defaultFS`对应的值,例如`ambserver179.sefonsoft.com`。 #### 七、总结 通过对ETL工具与Hadoop环境之间的配置与连接测试,我们可以确保数据能够在源系统和Hadoop之间顺利传输。在整个过程中,需要注意细节,特别是配置文件的正确性以及环境变量的设置。此外,还需要根据实际需求选择合适的配置文件,比如是否需要使用Hive或HBase等组件。通过以上步骤,可以有效地实现ETL+hadoop数据采集的目标。
剩余19页未读,继续阅读
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助