2019独角兽企业重金招聘Python工程师标准>>>
apt-get install openjdk-7-jdk
Linux小白,创建和删除文件夹都现问度娘学会的小白,最近被勒令研究一下DataX,当时一脸蒙X,根本木有听过吖,但是领导吩咐了就得办吖,问了一下度娘,发现这玩意还非要在Linux下安装配置,没办法从安装Linux系统开始干...
试坑过程中发现相关的资料和介绍有点儿少,所以决定把每一步都记录下来,希望以后可以帮到其他需要的人...
第一步:安装配置系统环境。
具体的安装Linux系统的过程还是很容易搜到的,我这里就不再赘述了,主要写一下DataX所需要的系统环境。
DataX首先要求JDK1.6以上、Python2.6以上,目前我们这边还没有用到Hadoop什么的,所以暂时不写了,以后如果真的用到了,会把方法补充上来。安装配置过程是在32位Ubuntu14.04下进行的。
1.安装Python的详细方法可以见我的另一篇博客http://my.oschina.net/moonrain/blog/739612
2.安装JDK,这东西也让我鼓捣了一上午,度娘上的博客都是手动安装,配了一上午也没成功,最后在一篇博客里的最后一行看到,如果联网,以上内容全部可以利用
apt-get install openjdk-7-jdk
解决,嗯,对,我就这么解决了!如果提示权限不足,前面加上sudo就可以了,然后输入密码回车!
sudo apt-get install openjdk-7-jdk
安装完成以后,输入java -version,测试是否安装成功即可。
3.安装ant。(嗯,对,我这纯净的小系统什么都没有,怎么了吧?~!)安装ant的过程比安装JDK的过程还快一些,因为百度了一下也是各种手动配环境变量什么的,配了一次失败了之后,直接尝试输入
sudo apt-get install ant
然后就成功了!输入ant -version,检测是否安装成功。
这个地方还出现了一点儿点儿小插曲,就是我在之前乱试的时候在profile文件里加了JAVA_HOME的路径,但是后来自动用apt安装的时候并没有安装到那个路径里(说实话,其实当时我都已经把写在文件里的那个文件夹删除了),导致后来安装ant的时候失败,所以费了一些周折。
首先,需要找到openjdk把我的jdk安装在了哪里,这个步骤参照了某位大神的博客,博客地址是:http://www.cnblogs.com/kerrycode/archive/2015/08/27/4762921.html ,利用这个博客里的命令
which java
ls -lrt /usr/bin/java
ls -lrt /etc/alternatives/java
这样就可以找到现在jdk在那里,然后把记住那个openjdk的路径,我的是在/usr/lib/jvm/java-1.7.0-openjdk-i386.
然后,修改profile文件的内容。利用vim进入文件,命令是:
vim /etc/profile
进去之后,提示已何种方式操作,选择“编辑”,然后按照百度上的说法,在文件的最后加上下面几句话:
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-i386
export JRE_HOME=${JAVA_HOME}/jre
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JRE_HOME}/lib/tools.jar
保存并退出。就是先按一下ESC,然后输入
:write
:quit
(记得前面的冒号哦!)
这样再用apt安装ant就可以了。
4.安装g++。跟之前一样,apt-get install g++就行了,权限不够就前面加sudo。
5.安装rpm。同上。
第二步:安装配置datax。
1.导出项目代码。想要安装配置datax,首先你要有datax吖,呵呵,但是对小白的我来说,看着主页上的那个项目代码各种蒙圈,总不能一个一个下下来,再一个一个存起来吧...幸好有给力的兄弟们!
前面安装的rpm这个时候起到了很大的作用。在终端输入命令:
svn checkout http://code.taobao.org/svn/datax/ /Datax/ --username XXX --password XXX
这样坐等取出完成就可以了。这里面第三个参数是datax官网上给的那个项目网络地址,第四个参数是你想要把东西放在哪儿,用户名和密码根据自己的实际情况填就可以了。如果没有文件夹,用mkdir 文件夹名 这样的命令创建一个就好了。
或者如果不怕主文件夹乱的话,也可以直接用命令:
svn checkout http://code.taobao.org/svn/datax
这样默认是把文件存到主目录里。我这里已经取出成功了,提示取出版本是11。
2.rpm编译打包。
这个打包可是要逼疯我了,用rpmbuild命令打包的时候一直提示失败,最开始是权限问题,加上sudo就可以的,然后就是一直提示RPM构建错误,仔细看log说是找不到什么文件,而且找不到好多文件,找了好久终于发现了一位大神的帖子:
http://yangyoupeng-cn-fujitsu-com.iteye.com/blog/1832143
中心思想就是rhel 6.2的rpmbuild的buildroot的目录和rhel 5不一样,造成找不到文件,所以按照大神的方法修改了t_dp_datax_engine.spec文件里的一些内容,终于不报找不到文件的错啦!开始报错说检查到有很多.xml文件已安装但是未打包。然后这个问题我又纠结了小半天,后来又找到了另一个大神的帖子:
http://blog.sina.com.cn/s/blog_643695770100xrym.html
按照这个博客里说的,把macros文件里的check_file那句话给注释了就行了。但是这个文件是只读的,改起来可能有些麻烦,如果不会的话,可以参照这个帖子:
http://jingyan.baidu.com/article/454316ab753a1cf7a6c03a75.html
改过之后,打包就成功了,然后显示了生成的.rpm包的路径,顺着路径终于可以找到心心念念的.rpm包啦。
接着要安装rpm,利用官网给的命令就又报错了,说依赖的/bin/sh检测失败,我一怒之下,强制安装了,就成功啦:
sudo rpm -ivh RPMS/noarch/t_dp_datax_engine-1.0.0-1.noarch.rpm --force --nodeps
安装完成后,按照官网上的方法,检查一下/home/taobao/datax下的文件是不是全的:
ls -lh /home/taobao/datax
但是我安装的结果跟官网给的截图不太一样,首先我这总空间占用了28K,官网上是24K。其次,我这里比官网上截图多了一个common文件,不过我觉得有可能是datax有过更新,但是官网上的说明没有更新,应该问题不大,以后出现什么问题我再回来修改博文。