Linux下的Datax编译记录


在通过 datax-web使用 datax从mongo数据库同步到mysql数据库时,mongo数据库某一集合中的某一文档部分字段为 null,同步时出现了以下错误:
[AnalysisStatistics.analysisStatisticsLog-53] com.alibaba.datax.common.exception.DataXException: Code:[DBUtilErrorCode-00], Description:[您的配置错误.]. - 列配置信息有错误. 因为您配置的任务中,源头读取字段数:13 与 目的表要写入的字段数:15 不相等. 请检查您的配置并作出修改.

github issues/125中提到mongo数据库版本影响,查看自己的mongo数据库,db.version()4.2.5\DataX\mongodbreader\pom.xmlmongo-java-driver版本为3.2.2,
mongo java driver支持mongo版本网址
mongodriver.jpg
因此需要修改mongodbreadermongodbwriterpom.xml文件中mongo-java-driver版本号,并重新编译Datax

安装jdk1.8&git

yum –y install java-1.8.0*
yum install git

安装maven

#下载
wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
#解压
tar -zxvf apache-maven-3.3.9-bin.tar.gz
mv apache-maven-3.3.9 maven
#添加环境变量
vim /etc/profile
	MAVEN_HOME=/root/maven
	export PATH=${MAVEN_HOME}/bin:${PATH}

source /etc/profile
查看maven版本
mvn –v

下载DataX源码及打包

参照Datax userGuid

Datax userGuid.md

 git clone git@github.com:alibaba/DataX.git

修改驱动版本号

mongodbreadermongodbwriterpom.xml文件中mongo-java-driver版本号修改为<version>3.12.7</version>

通过maven打包

cd  /root/Datax
mvn -U clean package assembly:assembly -Dmaven.test.skip=true

打包过程中的问题

无法下载缺少eigenbase:eigenbase-properties:jar:1.1.4
Github下载eigenbase-properties
根据说明文档

git clone git://github.com/julianhyde/eigenbase-properties.git
cd eigenbase-properties
mvn install

将打包好的jar包复制到/root/下,执行mvn install:install-file -DgroupId=eigenbase -DartifactId=eigenbase-properties -Dversion=1.1.4 -Dpackaging=jar -Dfile=/root/eigenbase-properties-1.1.6-SNAPSHOT.jar
eigenbase.jpg

重新打包Datax

build.jpg
打包成功。
PS:刚开始尝试在Windows下打包,未能成功。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值