dataX说明文档2.docx
- 文档编号:15601916
- 上传时间:2023-07-06
- 格式:DOCX
- 页数:19
- 大小:312.10KB
dataX说明文档2.docx
《dataX说明文档2.docx》由会员分享,可在线阅读,更多相关《dataX说明文档2.docx(19页珍藏版)》请在冰点文库上搜索。
dataX说明文档2
dataX研究说明
目录
1.dataX概述1
2.部署dataX1
2.1安装dataX前检查1
2.2mysql数据库安装2
2.3oracle数据库安装3
2.4dataX安装8
3.oracle数据库导入到mysql数据库用例说明9
附录1:
数据库操作语句16
1.dataX概述
DataX是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括OceanBase、MySQL、Oracle、HDFS、Hive、HBase、OTS、ODPS等各种异构数据源之间高效的数据同步功能。
2.部署dataX
2.1安装dataX前检查
在安装DataX前需要检查安装的服务器是否满足以下内容:
1处理器为“X86_64”。
2Python版本>=2.4。
3Java版本>=1.6。
首先以root权限登陆linux系统,执行以下命令查看linux处理器:
[root@localhostbin]#uname-a
Linuxlocalhost.localdomain2.6.32-358.el6.x86_64#1SMPTueJan2911:
47:
41EST2013x86_64x86_64x86_64GNU/Linux
执行以下命令查看Python版本:
[root@localhostbin]#python--version
Python2.6.6
执行以下命令查看java版本:
[root@localhostbin]#java-version
javaversion"1.7.0_09-icedtea"
2.2mysql数据库安装
下载mysql源码,并解压安装。
新建mysql组以及用户:
#groupaddmysql#useradd–gmysqlmysql;
源码包解压:
#tarmysql-5.1.50-linux-x86_64-glibc23.tar.gz;
将解压后的源码包放置/usr/local,并改名为mysql;
设置目录的所属用户为mysql:
#chown–Rmysql/usr/local/mysql;
目录的所属组为mysql:
#chgrp–Rmysql/usr/local/mysql;
初始化数据库,一定要在mysql根目录中执行mysql_install_db:
#/usr/local/mysql/scripts/mysql_install_db–user=mysql;
默认在/user/local/mysql/data设置目录的所属用户为root:
#chown–Rroot/usr/local/mysql;
设置目录的所属用户为mysql:
#chown–Rmysql/usr/local/mysql/data;
复制mysql的配置文件到/etc目录下,并改名为f:
cp/usr/local/mysql/support-files/my-f/etc/f;
复制启动脚本到/etc/rc.d/init.d目录下,并命名为mysqld:
cp/usr/local/mysql/support-files/mysql.server/etc/rc.d/init.d/mysqld;
#servicemysqldstart立即启动mysql;
设置mysql的密码为:
#/usr/local/mysql/bin/mysqladmin–urootpassword123456;
然后输入密码进入mysql,退出mysql命令quit:
#/usr/local/mysql/bin/mysql–uroot–p;
若链接不上数据库做以下处理:
#vi/etc/sysconf/iptables
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport3306-jACCEPT
grantallprivilegeson*.*toroot@'%'identifiedby"123";
2.3oracle数据库安装
一、修改操作系统核心参数
在Root用户下执行以下步骤:
1)修改用户的SHELL的限制,修改/etc/security/limits.conf文件
输入命令:
vi/etc/security/limits.conf,按i键进入编辑模式,将下列内容加入该文件。
oraclesoftnproc2047
oraclehardnproc16384
oraclesoftnofile1024
oraclehardnofile65536
编辑完成后按Esc键,输入“:
wq”存盘退出
2)修改/etc/pam.d/login文件,输入命令:
vi/etc/pam.d/login,按i键进入编辑模式,将下列内容加入该文件。
sessionrequired/lib/security/pam_limits.so
sessionrequiredpam_limits.so
编辑完成后按Esc键,输入“:
wq”存盘退出
3)修改linux内核,修改/etc/sysctl.conf文件,输入命令:
vi/etc/sysctl.conf,按i键进入编辑模式,将下列内容加入该文件
fs.file-max=6815744
fs.aio-max-nr=1048576
kernel.shmall=2097152
kernel.shmmax=2147483648
kernel.shmmni=4096
kernel.sem=25032000100128
net.ipv4.ip_local_port_range=900065500
net.core.rmem_default=4194304
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048576
编辑完成后按Esc键,输入“:
wq”存盘退出
4)要使/etc/sysctl.conf更改立即生效,执行以下命令。
输入:
sysctl-p显示如下:
linux:
~#sysctl–p
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.conf.all.rp_filter=1
fs.file-max=6815744
fs.aio-max-nr=1048576
kernel.shmall=2097152
kernel.shmmax=2147483648
kernel.shmmni=4096
kernel.sem=25032000100128
net.ipv4.ip_local_port_range=900065500
net.core.rmem_default=4194304
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048576
5)编辑/etc/profile,输入命令:
vi/etc/profile,按i键进入编辑模式,将下列内容加入该文件。
if[$USER="oracle"];then
if[$SHELL="/bin/ksh"];then
ulimit-p16384
ulimit-n65536
else
ulimit-u16384-n65536
fi
fi
编辑完成后按Esc键,输入“:
wq”存盘退出
6)创建相关用户和组,作为软件安装和支持组的拥有者。
创建Oracle用户和密码,输入命令:
useradd-goinstall-gdba-moracle
passwdoracle
然后会让你输入密码,密码任意输入2次,但必须保持一致,回车确认。
7)创建数据库软件目录和数据文件存放目录,目录的位置,根据自己的情况来定,注意磁盘空间即可,这里我把其放到oracle用户下,例如:
输入命令:
mkdir/home/oracle/app
mkdir/home/oracle/app/oracle
mkdir/home/oracle/app/oradata
mkdir/home/oracle/app/oracle/product
8)更改目录属主为Oracle用户所有,输入命令:
chown-Roracle:
oinstall/home/oracle/app
9)配置oracle用户的环境变量,首先,切换到新创建的oracle用户下,
输入:
su–oracle,然后直接在输入:
vi.bash_profile
按i编辑.bash_profile,进入编辑模式,增加以下内容:
exportORACLE_BASE=/home/oracle/app
exportORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1
exportORACLE_SID=orcl
exportPATH=$PATH:
$HOME/bin:
$ORACLE_HOME/bin
exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:
/usr/lib
编辑完成后按Esc键,输入“:
wq”存盘退出
二、安装过程
1)当上述系统要求操作全部完成后,注销系统,在图形界面以Oracle用户登陆。
首先将下载的Oracle安装包复制到linux中,用SSH其他ftp工具拷贝。
打开一个终端,运行unzip命令解压oracle安装文件,如:
输入命令:
unziplinux.x64_11gR2_database_1of2.zip
unziplinux.x64_11gR2_database_2of2.zip
解压完成后cd进入其解压后的目录database
输入命令:
cddatabase
2)执行安装,输入命令:
./runInstaller,然后一路安装下去
安装到这一步,可以看到,可以查看到有很多的rpm包没有,我们可以从安装linux的光盘或ISO中(或去D:
\linux_oracle11g_Package)查找所缺的包,使用ftp上传到linux中,然后使用rpm–ivhxxx.rpm--nodeps–force来进行安装(其中加上--nodeps--force代表强制安装,是在直接使用rpm–ivhxxx.rpm安装不成功的情况下用的)等到把包全部都安装好的情况下,再次在oracle图形界面中,执行安装过程2,下来在环境检查过程中,就通过了。
安装完成后,系统会提示你需要用root权限执行2个shell脚本。
按照其提示的路径,找到其所在的位置,如:
我的就在/home/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh和/home/oracle/oraInventory/orainstRoot.sh新开启一个终端,输入命令:
su–root
cd/home/oracle/app/oracle/product/11.2.0/dbhome_1
shroot.sh
cd/home/oracle/oraInventory
shorainstRoot.sh
三、数据库建库
1)还是在oracle用户的图形界面oracle用户中,新开启一个终端,直接输入命令dbca在图形界面会弹出界面,然后一路安装下去。
安装到这里说明oracle数据库创建完成了。
注:
在安装过程中会让你填写databasename以及sip还有数据库密码password,这三个是需要你记住的,因为在后面会用到。
四、数据库登陆
切换到oracle用户下:
suoracle
启动监听器:
lsnrctlstart;关闭为:
lsnrctlstop;
登陆oracle:
sqlplus/assysdba@orcl-----这里的orcl是我前面建立的数据库名称。
创建表空间:
CREATETABLESPACENOTIFYDBDATAFILE'/home/oracle/app/oradata/orcl/scsdb.dbf'SIZE200MAUTOEXTENDONEXTENTMANAGEMENTLOCALSEGMENTSPACEMANAGEMENTAUTO;
创建用户并指定密码以及所属的表空间:
CREATEUSERscsIDENTIFIEDBYscsDEFAULTTABLESPACENOTIFYDB;
赋予用户权限:
grantconnect,resourcetoscs;
grantunlimitedtablespacetoscs;
grantcreatedatabaselinktoscs;
grantselectanysequence,creatematerializedviewtoscs;
至此oracle安装完成。
2.4dataX安装
rpm安装dataX以及read、write插件:
使用rpm–ivhXXXX.rpm安装dataX工具以及read、write插件。
若使用oraclewrite需要将liboraclewrite.so拷贝到/home/taobao/dataX/plugins目录下。
在/home/taobao/dataX/bin目录下运行./datax.py–etrue即可选择从一个数据库导入到另一个数据库,譬如选择从oracle数据库导入到mysql数据库,生成oraclereader_to_mysqlwriter_1459997169633.xml
输入vioraclereader_to_mysqlwriter_1459997169633.xml打开这个xml文件根据《DataX命令行使用说明》编辑即可。
最后运行./datax.pyoraclereader_to_mysqlwriter_1459997169633.xml即可。
3.oracle数据库导入到mysql数据库用例说明
一.创建oracle数据库表实例test
①、用命令登陆oracle数据库:
sqlplusscs/scs@orcl
②、创建名为test的表实例:
createtabletest(idnumber(3),clobdataclob);
4在表实例test中插入数据:
insertintotestvalues(1,’-----sds’)
④、保存表实例:
commit;
二.创建mysql数据库表实例test
①、用命令登陆oracle数据库:
mysql–uroot
②、创建名为liutesttest的mysql数据库:
createdatabaseliutesttest;
5进入到liutest数据库中:
useliutest;
③、创建名为test的表实例:
createtabletest(idint(3),clobdatablob);
④、保存表实例:
commit;
三.执行./datax.py–etrue选择从数据库oracle导入到mysql,生成oraclereader_to_mysqlwriter_1459997169633.xml;
四.编辑oraclereader_to_mysqlwriter_1459997169633.xml
xmlversion="1.0"encoding="UTF-8"?
>
--
description:
Oracledatabasename
mandatory:
true
name:
dbname
-->
--
description:
Oracledatabaseloginusername
mandatory:
true
name:
username
-->
--
description:
Oracledatabaseloginpassword
mandatory:
true
name:
password
-->
--
description:
Oracledatabaseschema
mandatory:
true
name:
schema
-->
--
description:
Oracledatabaseipaddress
mandatory:
true
name:
ip
-->
--
default:
1521
description:
Oracledatabaseport
mandatory:
true
name:
port
-->
--
default:
range:
description:
tablestobeexported
mandatory:
true
name:
tables
-->
--
default:
*
range:
description:
columnstobeselected
mandatory:
false
name:
columns
-->
--
default:
range:
description:
whereclause,like'gmtdate>trunc(sysdate)'
mandatory:
false
name:
where
-->
--
default:
range:
description:
self-definedsqlstatement
mandatory:
false
name:
sql
-->
--
default:
UTF-8
range:
UTF-8|GBK|GB2312
description:
oracledatabaseencode
mandatory:
false
name:
encoding
-->
--
default:
1
range:
0-nosplit,1-rowidsplit,othersntilesplit
description:
howtosplitjob
mandatory:
false
name:
split_mod
-->
--
default:
/home/oracle/product/10g/db/network/admin/tnsnames.ora
range:
description:
tnsfilepath
mandatory:
true
name:
tnsfile
-->
—
default:
1
range:
1-100
description:
concurrencyofthejob
mandatory:
false
name:
concurrency
-->
--
description:
Mysqldatabaseipaddress
mandatory:
true
name:
ip
-->
--
default:
3306
description:
Mysqldatabaseport
mandatory:
true
name:
port
-->
--
description:
Mysqldatabasename
mandatory:
true
name:
dbname
-->
--
description:
Mysqldatabaseloginusername
mandatory:
true
name:
username
-->
--
description:
Mysqldatabaseloginpassword
mandatory:
true
name:
password
-->
--
default:
range:
description:
tabletobedumpeddatainto
mandatory:
true
name:
table
-->
--
range:
description:
orderofcolumns
mandatory:
false
name:
colorder
-->
--
default:
UTF-8
range:
UTF-8|GBK|GB2312
description:
mandatory:
false
name:
encoding
-->
--
description:
executesqlbeforedumpingdata
mandatory:
false
name:
pre
-->
--
description:
executesqlafterdumpingdata
mandatory:
fa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- dataX 说明 文档