`
lucky_xingxing
  • 浏览: 119377 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

datax 编译安装包 并进行正常使用 过程中各种错误 解决

阅读更多

centos 系统

------------------------------------------------------------------

首先必须安装 rpmbuild

 

yum install rpm-build

 

----------------------------

接着运行编译命令,到datax源码的rpm目录下面

rpmbuild --ba t_dp_datax_engine.spec

------------报错提示缺少 dos2unix--------------

 yum install dos2unix

 

------------接着继续执行编译命令出现一下错误-------------------------------------------------------------

Processing files: t_dp_datax_engine-1.0.0-1.noarch
error: File not found: /root/rpmbuild/BUILDROOT/t_dp_datax_engine-1.0.0-1.i386/home/taobao/datax/bin
error: File not found: /root/rpmbuild/BUILDROOT/t_dp_datax_engine-1.0.0-1.i386/home/taobao/datax/conf
error: File not found: /root/rpmbuild/BUILDROOT/t_dp_datax_engine-1.0.0-1.i386/home/taobao/datax/engine
error: File not found: /root/rpmbuild/BUILDROOT/t_dp_datax_engine-1.0.0-1.i386/home/taobao/datax/common
error: File not found: /root/rpmbuild/BUILDROOT/t_dp_datax_engine-1.0.0-1.i386/home/taobao/datax/libs
error: File not found: /root/rpmbuild/BUILDROOT/t_dp_datax_engine-1.0.0-1.i386/home/taobao/datax/logs
error: File not found: /root/rpmbuild/BUILDROOT/t_dp_datax_engine-1.0.0-1.i386/home/taobao/datax/jobs


RPM build errors:
    File not found: /root/rpmbuild/BUILDROOT/t_dp_datax_engine-1.0.0-1.i386/home/taobao/datax/bin
    File not found: /root/rpmbuild/BUILDROOT/t_dp_datax_engine-1.0.0-1.i386/home/taobao/datax/conf
    File not found: /root/rpmbuild/BUILDROOT/t_dp_datax_engine-1.0.0-1.i386/home/taobao/datax/engine
    File not found: /root/rpmbuild/BUILDROOT/t_dp_datax_engine-1.0.0-1.i386/home/taobao/datax/common
    File not found: /root/rpmbuild/BUILDROOT/t_dp_datax_engine-1.0.0-1.i386/home/taobao/datax/libs
    File not found: /root/rpmbuild/BUILDROOT/t_dp_datax_engine-1.0.0-1.i386/home/taobao/datax/logs
    File not found: /root/rpmbuild/BUILDROOT/t_dp_datax_engine-1.0.0-1.i386/home/taobao/datax/jobs

 

-----------------------------------

这个问题 网上已经有人提出了解决方案:

http://yangyoupeng-cn-fujitsu-com.iteye.com/blog/1832143

请直接点击跳转即可

------------------------------------------------------------------------------------------

 

-----------------接下来继续执行 出现如下错误----------------

Checking for unpackaged file(s): /usr/lib/rpm/check-files /root/rpmbuild/BUILDROOT/t_dp_datax_engine-1.0.0-1.x86_64

error: Installed (but unpackaged) file(s) found:

   /home/taobao/datax/jobs/HdfsReader_to_OracleWriter.xml

   /home/taobao/datax/jobs/MysqlReader_to_HdfsWriter.xml

   /home/taobao/datax/jobs/OracleReader_to_HdfsWriter.xml

   /home/taobao/datax/jobs/OracleReader_to_MysqlWriter.xml

   /home/taobao/datax/jobs/sample.xml

 

 

RPM build errors:

    Installed (but unpackaged) file(s) found:

   /home/taobao/datax/jobs/HdfsReader_to_OracleWriter.xml

   /home/taobao/datax/jobs/MysqlReader_to_HdfsWriter.xml

   /home/taobao/datax/jobs/OracleReader_to_HdfsWriter.xml

   /home/taobao/datax/jobs/OracleReader_to_MysqlWriter.xml

   /home/taobao/datax/jobs/sample.xml

 

------------------------

该问题的方案是:

进入   cd /usr/lib/rpm

         vi   macros

------------------------ ----------------------------------

#==============================================================================

# ---- Build configuration macros.

#

# Script gets packaged file list on input and buildroot as first parameter.

# Returns list of unpackaged files, i.e. files in $RPM_BUILD_ROOT not packaged.

#

# Note: Disable (by commenting out) for legacy compatibility.

 %__check_files         %{_rpmconfigdir}/check-files %{buildroot}    

 

#

# Should unpackaged files in a build root terminate a build?

#

# Note: The default value should be 0 for legacy compatibility.

%_unpackaged_files_terminate_build      1

 

------------------------------把红色的这一行注释掉即可----------------------------------------

 

再运行编译打包命令

------------------------------------------------------------

+ /usr/lib/rpm/brp-compress

+ /usr/lib/rpm/brp-strip

+ /usr/lib/rpm/brp-strip-static-archive

+ /usr/lib/rpm/brp-strip-comment-note

Processing files: t_dp_datax_engine-1.0.0-1.noarch

Wrote: /root/rpmbuild/SRPMS/t_dp_datax_engine-1.0.0-1.src.rpm

Wrote: /root/rpmbuild/RPMS/noarch/t_dp_datax_engine-1.0.0-1.noarch.rpm

Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.OYRna1

+ umask 022

+ cd /root/rpmbuild/BUILD

+ /bin/rm -rf /root/rpmbuild/BUILDROOT/t_dp_datax_engine-1.0.0-1.x86_64

 

+ exit 0

-----------------------------------------------------------------------------------------------------------

成功生成 rpm包。

-----------------------------------------------------------------------------------------------------------

安装生成的rpm包,执行以下命令

rpm -ivh t_dp_datax_engine-1.0.0-1.noarch.rpm

 

-----------------------出现一下日志表示已经成功安装-------------------------------------------------------

 Preparing...                ########################################### [100%]

   1:t_dp_datax_engine-1.0.0-1.noarch ########################################### [100%]

-------------------------------------------------------------------------------------------------------------------------

 

进入 cd   /home/taobao/datax/bin  目录

运行命令 : ./datax.py -e true

----------------------------------------------出现空指针错误---------------------------------------------------------

[root@hadoop3 bin]# ./datax.py -e true

Taobao DataX V1.0 

Exception in thread "main" java.lang.NullPointerException

        at java.util.Arrays$ArrayList.<init>(Arrays.java:2842)

        at java.util.Arrays.asList(Arrays.java:2828)

        at com.taobao.datax.engine.tools.JobConfGenDriver.getPluginDirAsList(JobConfGenDriver.java:36)

        at com.taobao.datax.engine.tools.JobConfGenDriver.filterPluginType(JobConfGenDriver.java:43)

        at com.taobao.datax.engine.tools.JobConfGenDriver.produceXmlConf(JobConfGenDriver.java:166)

        at com.taobao.datax.engine.schedule.Engine.main(Engine.java:389)

 

-----------------------------------------------------------------------------------------------------------------------------

出现该问题的原因是因为 datax安装好以后,还没有安装各种读写插件(mysql,oracle等)

所以我们现在需要安装读写插件

 

首先安装 mysqlreader插件,还是和本文开头遇见的第一个错误一样,需要修改 t_dp_datax_mysqlreader.spec 文件

-------------------------------------------红色字体就是修改后的--------------------------------------------------------

[root@hadoop3 rpm]# vi t_dp_datax_mysqlreader.spec 

summary: DataX mysqlreader can read data from mysql

Name: t_dp_datax_mysqlreader

Version: 1.0.0

Release: 1

Group: System

License: GPL

AutoReqProv: no

BuildArch: noarch

Requires: t_dp_datax_engine

 

%define dataxpath %{buildroot}/home/taobao/datax

%define vdataxpath /home/taobao/datax                  (添加这一行)

%description

DataX mysqlreader can read data from mysql

 

 

%prep

cd ${OLDPWD}/../

export LANG=zh_CN.UTF-8

ant dist

 

%build

 

%install

mkdir -p %{dataxpath}/plugins/reader/mysqlreader

 

cp ${OLDPWD}/../src/com/taobao/datax/plugins/reader/mysqlreader/ParamKey.java %{dataxpath}/plugins/reader/mysqlreader

cp ${OLDPWD}/../build/plugins/mysqlreader-1.0.0.jar %{dataxpath}/plugins/reader/mysqlreader

cp ${OLDPWD}/../build/plugins/plugins-common-1.0.0.jar %{dataxpath}/plugins/reader/mysqlreader

cp -r ${OLDPWD}/../libs/mysql-connector-java-5.1.18-bin.jar %{dataxpath}/plugins/reader/mysqlreader

cp -r ${OLDPWD}/../libs/commons-dbcp-1.4.jar %{dataxpath}/plugins/reader/mysqlreader

cp -r ${OLDPWD}/../libs/commons-pool-1.5.4.jar %{dataxpath}/plugins/reader/mysqlreader

cp -r ${OLDPWD}/../libs/commons-logging-1.1.1.jar %{dataxpath}/plugins/reader/mysqlreader

 

%files

%defattr(0755,root,root)

%{vdataxpath}/plugins/reader/mysqlreader             (替换后的)

 

%changelog

* Fri Aug 20 2010 meining

- Version 1.0.0

-------------------------------------------------------------------------------------------------------------------

 接着再运行

rpmbuild --ba t_dp_datax_mysqlreader.spec 

-----------------------------------------------------------------

Processing files: t_dp_datax_mysqlreader-1.0.0-1.noarch

Wrote: /root/rpmbuild/SRPMS/t_dp_datax_mysqlreader-1.0.0-1.src.rpm

Wrote: /root/rpmbuild/RPMS/noarch/t_dp_datax_mysqlreader-1.0.0-1.noarch.rpm

Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.EhHiFf

+ umask 022

+ cd /root/rpmbuild/BUILD

+ /bin/rm -rf /root/rpmbuild/BUILDROOT/t_dp_datax_mysqlreader-1.0.0-1.x86_64

+ exit 0

-------------------------------成功生成rpm包---------------------------------------------

 

安装该插件

------------------------------------

[root@hadoop3 sa]# rpm -ivh t_dp_datax_mysqlreader-1.0.0-1.noarch.rpm 

Preparing...                ########################################### [100%]

   1:t_dp_datax_mysqlreader ########################################### [100%]

------------------------------------------------------------------------------------------------------------------------

 

接着mysqlwriter也是按照同样的方法进行安装即可。

 

datax必须同时存在 一个reader插件和一个writer插件 才能正常运行   bin/datax.py -e true  命令,不然都会报错空指针的异常。

----------------------------------------------------------------------------------------------------------

[root@hadoop3 datax]# bin/datax.py -e true

Taobao DataX V1.0 

Data Source List :

0       mysql

Please choose [0-0]: 0

Data Destination List :

0       mysql

Please choose [0-0]: 0

Generate /home/taobao/datax/jobs/mysqlreader_to_mysqlwriter_1426588439516.xml successfully .

 

------------------------------------------------成功生成job的xml配置文件----------------------------------------------------

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    datax安装包+命令使用说明

    这个“datax安装包+命令使用说明”压缩包应该包含了DataX的安装文件和详细的使用指南,帮助用户进行安装和操作。 首先,我们来了解一下DataX的基本概念。DataX作为一个数据同步框架,它的核心思想是通过插件化设计...

    DataX_python3补丁,DataX安装(Windows版)

    DataX是阿里巴巴开源的一款高效、稳定、扩展性强的数据同步工具,用于在各种数据存储之间进行批量数据迁移。在这个“DataX_python3补丁,DataX安装(Windows版)”的主题中,我们主要关注的是如何在Python 3环境下,...

    DataX+工作遇见问题+解决方案

    在实际使用过程中,用户可能会遇到各种各样的问题,本文将针对DataX 在进行MongoDB与Hive之间数据同步时遇到的几个常见问题及其解决方案进行详细介绍。 #### 二、问题概述 1. **MongoDB 默认时区与 Hive 时区不匹配...

    DataX源码编译支持mysql8.0,支持Clickhouse的读写

    Datax的源码编译,编译以后支持访问mysql8.0数据库,以及支持连接Clickhouse,从clickhouse读取数据,以及写入数据到clickhouse,当前编译版本已经在正式集群上采用,没有任何问题

    DataX clickhousereader clickhousewriter 插件包下载

    这样,DataX 在运行时就能自动识别并使用这些插件。安装完成后,你需要编写相应的 DataX 任务配置文件,明确指出数据源、表名、字段映射以及执行策略等信息。 在实际操作中,`clickhousereader` 可能会涉及以下关键...

    DATAX安装与开发

    - **OracleWriter**:如果使用OracleWriter,需要安装Oracle客户端,并确保能够正常使用`sqlplus`命令连接数据库。 - **HdfsWriter和HdfsReader**:如果使用这些组件,需要确保已经安装好HDFS客户端,并且可以正常...

    DataX Web安装教程及使用中的常见问题

    DataX Web是一款基于DataX的数据集成工具,它提供了一个可视化的操作界面,便于用户进行数据的导入导出工作,使得数据源的配置、任务的调度、任务的监控更加直观易用。DataX本身是由阿里巴巴开源的一款数据同步工具...

    java使用datax增量同步代码

    Java 使用 DataX 进行增量同步是大数据领域中常见的数据迁移任务,DataX 是阿里开源的一个强大、高效的数据同步工具,它可以实现不同数据存储之间的数据迁移。本篇将详细讲解如何在 Java 项目中利用 DataX 实现增量...

    datax源码在线下载

    7. **异常处理**:在数据迁移过程中,DataX具备完善的异常处理机制,能够捕获并记录错误信息,方便后期排查问题。 8. **日志系统**:DataX的日志系统可以帮助开发者跟踪任务执行状态,记录迁移过程中的关键信息,...

    dataX部署以及常见问题解答

    用户可以从 GitHub 下载 DataX 的源码,然后使用 Maven 进行编译。编译成功后,DataX 包将位于 target/datax/datax/ 目录下。 启动 DataX 启动 DataX 需要进入 DataX 目录,使用 Python 命令启动 datax.py,第一个...

    datax使用python3的替换bin文件

    在这个场景中,“datax使用python3的替换bin文件”指的是将DataX中的默认执行脚本(bin文件)替换为Python3版本的脚本,以适应Python环境下的数据处理逻辑。 首先,了解DataX的基本架构和工作原理是必要的。DataX...

    Azkaban和datax安装文档.docx

    1. 下载DataX安装包:可以从GitHub下载DataX的源码,使用Maven命令进行编译和打包。 2. 解压缩安装包:将下载的压缩包上传到Linux服务器,然后解压缩ZIP包,得到DataX安装目录。 3. 配置DataX:进入DataX安装目录,...

    Datax-ClickHouse读写插件

    DataX ClickHouse读写插件是DataX框架中的一个重要组成部分,它使得DataX能够与ClickHouse数据库无缝对接,实现数据的双向同步。这包括从其他数据库(如MySQL、SQLServer)读取数据并写入ClickHouse,或者从...

    datax读取InfluxDB组件

    对于InfluxDB,DataX提供了名为`influxdbreader`的读取插件,用于从InfluxDB中读取数据并导入到其他数据存储中。 接下来,我们详细解析`influxdbreader`组件的使用。该组件主要涉及以下几个关键配置: 1. **连接...

    datax v202210版本安装包

    datax v202210版本安装包,因安装包超过1g,writer只保留了mysqlwriter,需要下载所有writer插件的同学访问https://download.csdn.net/download/u010479989/87808705下载

    datax clickhouse 读插件

    本文将深入探讨DataX中的ClickHouse读插件,帮助读者理解如何使用这个插件进行数据读取,以及将其正确配置到DataX系统中。 一、DataX ClickHouse读插件概述 DataX ClickHouse读插件是专为从ClickHouse数据库中读取...

    DataX-master.zip

    6. **处理编译问题**:如果在编译过程中遇到错误,Maven会显示详细的错误信息。根据这些信息,查找并修复问题,可能需要更新依赖、解决代码冲突或调整配置。 7. **测试与打包**:编译成功后,DataX项目会生成相应的...

    DataX_Python3.zip

    本文将详细介绍如何将DataX移植到Python3环境,并解决可能遇到的问题,以及如何替换bin目录下的Python脚本。 首先,我们需要理解Python2到Python3的主要语法差异。Python3引入了许多改进,包括字符串处理、异常处理...

    datax on azkaban——datax as a service

    DataX是阿里巴巴集团内部广泛使用的离线数据同步工具,它可以实现在各种异构数据存储之间进行批量数据迁移。DataX支持包括MySQL、Oracle、HDFS、HBase、TableStore(OTS)、MaxCompute(ODPS)、ADS等在内的多种数据...

    datax数据从hive导入mysql数据缺失解决

    在使用 DataX 将数据从 Hive 表导入 MySQL 表的过程中,遇到了数据缺失的问题。具体表现为,在某些特定条件下(如数据块大小超过 256M 时),导入到 MySQL 的数据量少于预期。 #### 现象分析 根据观察发现,当数据...

Global site tag (gtag.js) - Google Analytics