ETL服务器安装手册
資源下載鏈接:ETL服務(wù)器安裝手冊(cè)
1、rcrm用戶創(chuàng)建:
Linux下新建組命令:
groupadd etl
–添加用戶及指定掛在目錄
useradd -d /home/etl -m etl
–更改新用戶的密碼
passwd etl
mkdir crm
cd crm
mkdir backup
mkdir kettle
mkdir cfg
mkdir data
mkdir log
mkdir reject
mkdir script
cd kettle
mkdir repfile
2、安裝JDK 1.7.0_60(安裝完忽略)
在oracle官網(wǎng)上下載JDK,并安裝
rpm:rpm -ivh jdk-7u60-linux-x64.rpm – 安裝jdk所依賴的rpm 包
bin: chmod +x jdk-7u60-linux-x64.bin
./ jdk-7u60-linux-x64.bin --給目錄賦予執(zhí)行安裝的權(quán)限
tar:tar zxvf jdk-7u60-linux-x64.tar.gz --對(duì)JDK安裝包進(jìn)行解壓
jdk安裝在/opt/目錄下(注:/usr/local/目錄若不存在需新建)
3、ROOT用戶配置環(huán)境變量:
3.1 設(shè)置環(huán)境變量
vi /etc/profile
#set java JDK
JAVA_HOME=/usr/local/jdk1.7.0_60
JRE_HOME=/usr/local/jdk1.7.0_60/jre
ORACLE_HOME=/opt/oracle/instantclient_11_2
TNS_ADMIN=ORACLEHOME/sdk/network/adminLDLIBRARYPATH=ORACLE_HOME/sdk/network/admin LD_LIBRARY_PATH=ORACLEH?OME/sdk/network/adminLDL?IBRARYP?ATH=ORACLE_HOME:LDLIBRARYPATHPATH=LD_LIBRARY_PATH PATH=LDL?IBRARYP?ATHPATH=PATH:JAVAHOME/bin:JAVA_HOME/bin:JAVAH?OME/bin:JRE_HOME/bin:ORACLEHOME:/usr/local/zookeeper?3.4.5/binCLASSPATH=ORACLE_HOME:/usr/local/zookeeper-3.4.5/bin CLASSPATH=ORACLEH?OME:/usr/local/zookeeper?3.4.5/binCLASSPATH=JAVA_HoME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
KETTLE_HOME=/home/ecif/kettle/data-integration
NLS_LANG=‘SIMPLIFIED CHINESE_CHINA.ZHS16GBK’
export JAVA_HOME
export JRE_HOME
export ORACLE_HOME
export PATH
export CLASSPATH
export KETTLE_HOME
export TNS_ADMIN
export LD_LIBRARY_PATH
export NLS_LANG
3.2 使環(huán)境變量生效
source /etc/profile --執(zhí)行source名,對(duì)配置文件進(jìn)行編譯
3.3 檢查jdk是否安裝成功
java –version
表示安裝成功…
4、Kettle安裝
4.1 安裝配置kettle:
1)下載kettle并在服務(wù)器上解壓,賦予sh的執(zhí)行權(quán)限(chmod +x *.sh)
Kettle官網(wǎng)下載連接:
http://sourceforge.net/projects/pentaho/files/Data Integration/6.0/pdi-ce-6.0.0.0-353.zip/download
2)使用ecif用戶將kettle綠色安裝包上傳至Linux服務(wù)器對(duì)應(yīng)的目錄:
新建目錄:/home/ecif/kettle
上傳kettle綠色安裝包上傳至/home/ecif/kettle下
最終結(jié)果: /home/ecif/kettle/pdi-ce-5.4.0.1-130/data-integration
4.2圖形化配置設(shè)置
編輯/home/ecif/kettle/pdi-ce-5.4.0.1-130/data-integration/spoon.sh,見下:(紅色部分)
OPT="$OPT PENTAHODIJAVAOPTIONS?Djava.library.path=PENTAHO_DI_JAVA_OPTIONS -Djava.library.path=PENTAHOD?IJ?AVAO?PTIONS?Djava.library.path=LIBPATH -Dorg.eclipse.swt.internal.gtk.cairoGraphics=false
4.3 kettle中文支持安裝
執(zhí)行以下命令:
1) yum groupinstall “Chinese Support”
2) dbus-uuidgen > /var/lib/dbus/machine-id
4.4 檢查kettle是否安裝成功
1)切換目錄運(yùn)行kettle
cd /home/ecif/kettle/data-integration/
sh spoon.sh
2)正確啟動(dòng)展示如下圖:
5、ETL程序下發(fā)
5.1 上傳文檔(shell腳本及加密解密程序)
注意: 1)shell腳本是通過sqlplus連接數(shù)據(jù)庫傳入用戶名和密碼以及TNS名稱即可
2)保證傳入的TNS名稱和/home/etl/crm/cf/etl.cfg中傳入的ORLSID相同即可;
6.2 導(dǎo)入kettle的程序xml文件
建立資源庫見下圖:點(diǎn)擊”連接資源庫”
2)會(huì)出現(xiàn)以下對(duì)話框,然后點(diǎn)擊”+”按鈕,添加資源庫
此時(shí)會(huì)讓你選擇創(chuàng)建文件資源庫還是數(shù)據(jù)庫資源庫,依照目前我們的做法創(chuàng)建的是文件資源庫,所以按照下圖創(chuàng)建文件資源庫即可;
資源庫信息見下:
新建數(shù)據(jù)庫連接,并進(jìn)行rcrm數(shù)據(jù)連通性測(cè)試,點(diǎn)擊”測(cè)試” 按鈕,如果測(cè)試不成功,需要將OJDBC.jar包放到linux下kettle的安裝目錄中,目錄見下:(/home/etl/crm/kettle/data-integration/lib)
新建完之后,按照下圖操作,點(diǎn)擊”創(chuàng)建或更新” 按鈕,此時(shí)會(huì)讓在rcrm數(shù)據(jù)庫中創(chuàng)建資源庫的相關(guān)表信息,點(diǎn)擊”是”即可,獲取登錄資源庫權(quán)限
在這里插入圖片描述
注:以上是建立整個(gè)資源庫的過程。
3)整個(gè)資源庫建完之后,導(dǎo)入已開發(fā)好的資源庫文件信息,步驟見下:
默認(rèn)將資源庫文件導(dǎo)入到根目錄,以下是選擇導(dǎo)入資源庫文件存放的路徑
導(dǎo)入資源庫文件的對(duì)話框信息見下圖:
4) Kettle數(shù)據(jù)庫配置信息進(jìn)行修改
打開資源庫信息(快捷鍵:Ctrl + E)
選擇”連接” 標(biāo)簽,對(duì)數(shù)據(jù)庫的配置信息進(jìn)行修改:
在這里插入圖片描述
6.3 KETTLE數(shù)據(jù)庫連接配置設(shè)置(引用變量)
Kettle中使用變量來進(jìn)行數(shù)據(jù)庫連接配置,配置步驟見下:
1)進(jìn)入Kettle安裝目錄:/home/etl/.kettle
2)vi kettle.properties 編輯屬性文件,添加一下信息:(紅色部分以實(shí)際生產(chǎn)為準(zhǔn))
3)參數(shù)信息添加完,保存并退出;
4)登錄kettle圖形化界面,修改資源庫連接信息,見下圖:
修改完以上信息,登錄資源庫,并將資源庫中的連接信息一并修改,見圖:
以上數(shù)倉的配置信息同理,并進(jìn)行連通性測(cè)試;
6.3 ETL調(diào)度介紹
已經(jīng)將shell相關(guān)的調(diào)度腳本上傳至/home/etl/crm/script目錄下
初始化調(diào)度,需在kettle下來進(jìn)行調(diào)度(上線運(yùn)行一次):
20160707為上線日期,執(zhí)行以下SQL:
Truncate table b_pub_rqb;
insert into b_pub_rqb
(
object_id
, currentday
, lastday
, nextday
, last_month
,sysstatus
)
values (1, to_date(‘20160707’, ‘yyyymmdd’), to_date(‘20160731’, ‘yyyymmdd’), to_date(‘20160708’, ‘yyyymmdd’), to_date(‘20160707’, ‘yyyymmdd’),‘0’)
;
Commit;
初始化調(diào)度命令:
nohup /home/etl/crm/kettle/data-integration/kitchen.sh -rep crm -user admin -pass “REPUSERPASS"?dir/home/etl/crm/kettle/repfile/CRM/FIRST/JOBS/Dispatch?jobTOLCRMDAILYF?level=basic?param:etldate="{REPUSERPASS}" -dir /home/etl/crm/kettle/repfile/CRM/FIRST/JOBS/Dispatch -job TOL_CRM_DAILY_F -level=basic -param:etl_date="REPUSERPASS"?dir/home/etl/crm/kettle/repfile/CRM/FIRST/JOBS/Dispatch?jobTOLC?RMD?AILYF??level=basic?param:etld?ate="{BatchDate}” 2>&1
nohup /home/etl/crm/kettle/data-integration/kitchen.sh -rep crm -user admin -pass “REPUSERPASS"?dir/home/etl/crm/kettle/repfile/CRM/FIRST/JOBS/Dispatch?jobTOLCRMMANUALF?level=basic?param:etldate="{REPUSERPASS}" -dir /home/etl/crm/kettle/repfile/CRM/FIRST/JOBS/Dispatch -job TOL_CRM_MANUAL_F -level=basic -param:etl_date="REPUSERPASS"?dir/home/etl/crm/kettle/repfile/CRM/FIRST/JOBS/Dispatch?jobTOLC?RMM?ANUALF??level=basic?param:etld?ate="{BatchDate}” 2>&1
在LINUX下執(zhí)行以下命令,執(zhí)行日常任務(wù)調(diào)度工作,命令見下:
日常任務(wù)調(diào)度命令見下:
nohup /home/etl/crm/kettle/data-integration/kitchen.sh -rep crm -user admin -pass “REPUSERPASS"?dir/home/etl/crm/kettle/repfile/CRM/JOBS/Dispatch?jobCRMMANUALDISPATCH?level=basic?param:etldate="{REPUSERPASS}" -dir /home/etl/crm/kettle/repfile/CRM/JOBS/Dispatch -job CRM_MANUAL_DISPATCH -level=basic -param:etl_date="REPUSERPASS"?dir/home/etl/crm/kettle/repfile/CRM/JOBS/Dispatch?jobCRMM?ANUALD?ISPATCH?level=basic?param:etld?ate="{BatchDate}” 2>&1
日常重調(diào)任務(wù)命令:
nohup /home/etl/crm/kettle/data-integration/kitchen.sh -rep crm -user admin -pass “REPUSERPASS"?dir/home/etl/crm/kettle/repfile/CRM/JOBS/Dispatch?jobTOLCRMDAILYREP?level=basic?param:etldate="{REPUSERPASS}" -dir /home/etl/crm/kettle/repfile/CRM/JOBS/Dispatch -job TOL_CRM_DAILY_REP -level=basic -param:etl_date="REPUSERPASS"?dir/home/etl/crm/kettle/repfile/CRM/JOBS/Dispatch?jobTOLC?RMD?AILYR?EP?level=basic?param:etld?ate="{BatchDate}” 2>&1
6.4 KETTLE進(jìn)程監(jiān)控
ps –ef |grep ‘kitchen.sh’
ps –ef |grep ‘spoon.sh’
ps -ef | grep TOL_CRM_DAILY --日批作業(yè)進(jìn)程
詳細(xì)進(jìn)程見下圖:
6.5 KETTLE日志監(jiān)控作業(yè)跑批情況
1.查看日志目錄請(qǐng)執(zhí)行:cd /home/etl/crm/log
2.日志文件夾生成規(guī)則:當(dāng)天跑批日期
3.跑批日志生成規(guī)則為:作業(yè)名+當(dāng)天跑批日期+隨機(jī)數(shù).log
4.詳細(xì)見圖:
:
6.4 KETTLE進(jìn)程監(jiān)控
執(zhí)行如下sql:
select * from e_etl_info;
select * from e_etl_job_info;
詳細(xì)進(jìn)程見下圖:
查看是否成功:
6.5 KETTLE日志監(jiān)控作業(yè)跑批情況
5.查看日志目錄請(qǐng)執(zhí)行:cd /home/etl/crm/log
6.日志文件夾生成規(guī)則:當(dāng)天跑批日期
3.跑批日志生成規(guī)則為:作業(yè)名+當(dāng)天跑批日期+隨機(jī)數(shù).log
4.詳細(xì)信息見下圖:
總結(jié)
以上是生活随笔為你收集整理的ETL服务器安装手册的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql pow函数怎么用_pow函数
- 下一篇: 微软为啥让免费升Win10?