DataX编译安装,datax编译


1、  手动安装ant、

1. 到Apache官网下载最新版本的ant:http://ant.apache.org/bindownload.cgi

2. 解压下载下来的.tar.gz文件: tar -zxvfapache-ant-1.8.2-bin.tar.gz(可能会要求输入密码)

3.将解压出来的文件移动到/home/下:sudo mvapache-ant-1.8.2 /home/ (sudo不能省,否则没有权限)

4.配置环境变量:sudogedit /etc/profile,在最后添加以下内容:

                   exportANT_HOME=opt/apache-ant-1.8.4
                 exportJAVA_HOME=/usr/jdk           (这是你自己jdk所在的路径)
           export PATH=$JAVA_HOME/bin:$PATH:$ANT_HOME/bin
                 exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

5.然后执行命令:source /etc/profile

         6.Ant就配置成功了,可以通过命令:ant -version  进行检测是否配置成功。

2、安装g++,rpm

Sudo apt-getinstall g++

Sudo apt-getinstall rpm

 

3、请确保安装DataX的机器已经安装上了Hdfs客户端,并能够正常访问Hdfs文件系统,例如使用命令行: hadoop fs -ls /

同时请确保在执行DataX的用户/home目录下,链接Hadoopconfig目录文件,例如在用户目录下执行

ln  -s  /home/$user/datax/ conf  /hadoop/conf

4、安装mysql

Sudo apt-get install mysql-server

登录mysql -uroot –p密码(p后面紧跟mysql密码)

grant all privileges on *.* to woody@'localhost' identified by 'woody'with grant option;

create database xdata;

use xdata;

create table test_datax(user_id int,user_name varchar(30));

insert into test_datax values(111, 'peterlee');

insert into test_datax values(111, 'peterlee');

insert into test_datax values(111, 'peterlee');

FLUSH PRIVILEGES;

执行\q保存并退出mysql

5、安装hadoop(本文为伪分布式安装)

1)安装

tar xf hadoop-1.0.3.tar.gz   

mv hadoop-1.0.3 /home/sunlylorn/hadoop  

2)修改环境变量

vim ~/.bashrc  

添加:

export PATH=/home/sunlylorn/hadoop/bin:$PATH  

保存退出,输入以下命令使之立即生效。

source ~/.bashrc   

3)修改conf/hadoop-env.sh文件

export JAVA_HOME=/usr/lib/jvm/java-7-sun  

4)编辑配置文件
a)修改conf/core-site.xml:

<configuration>  

  <property>    

    <name>fs.default.name</name>    

    <value>hdfs://localhost:9000/</value>    

  </property>    

</configuration>  

b)修改conf/mapred-site.xml:

<configuration>    

  <property>    

    <name>mapred.job.tracker</name>    

    <value>localhost:9001</value>    

  </property>    

</configuration>  

c)修改conf/hdfs-site.xml:

<configuration>    

  <property>    

    <name>dfs.replication</name>    

    <value>1</value>    

  </property>    

</configuration>   

5)格式化HDFS系统

hadoop namenode -format  

6)启动守护进程

/home/sunlylorn/hadoop/bin/start-all.sh --config /home/sunlylorn/hadoop/conf  

7)测试

执行

hadoop version  

如果输出以下信息则表明安装成功

Hadoop 1.0.3  

Subversion https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.0 -r 1335192  

Compiled by hortonfo on Tue May  8 20:19:10 UTC 2012  

From source with checksum e6b0c1e23dcf76907c5fecb4b832f3be  

 

6、安装编译datax

从淘宝的开源svn上checkout一份代码

svn co http://code.taobao.org/svn/datax/trunk datax

用当前系统hadoop中的hadoop-core-xxxx.jar 替换(或者直接复制到)datax/libs下面的jar包

 

在datax/rpm下面有spec文件,rpm打包的配置文件

rpmbuild --ba XXXXX.spec (例如,t_dp_datax_engine.spec,记得修改spec文件中的路径问题,路径问题还存在于下面的xml文件中以及后面编译过程中需要自己创建部分路径e.g xxxxxxxxxxxxi386之类)

要想完成一个读写至少需要打包编译3个文件:engine.spec+reader.spec+writer.spec

编译完成后会在datax/plugins中生成相应的文件(这里也可能涉及到自己创建路径的问题)

Rpm 制作完成后,即可分发、安装,例如使用

rpm -ivh  t_dp_datax_engine.rpm (这里可能需要添加一个参数-nodeps,即rpm –ivh –nodeps   xxxxx.rpm)

即可安装 DataXengine  包,需要注意的是 engine 的 rpm 地址源自于上图的截图

中信息(即生成的路径为RPMS中的xxx.rpm文件)。

在datax/bin目录下执行 pythondatax.py -e true 生成一个job配置文件 XXXXXXXXXXXXXX.xml   (这里的xml文件中的部分内容需要修改e.g数据库的的ip及数据库名字等信息,配置时需要注意hadoop.job.ugi=woody,supergroup及hdfs://localhost:9000/test_in及hadoop_conf=/home/woody/hadoop/conf/core-site.xml)

ptyhon datax.py  /home/$user/datax/jobs/XXXXXXXXXXX.xml

 


 

 

相关内容