ETL服务器安装手册

资源下载链接:ETL服务器安装手册
1、rcrm用户创建:
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官网上下载JDK,并安装
rpm:rpm -ivh jdk-7u60-linux-x64.rpm – 安装jdk所依赖的rpm 包
bin: chmod +x jdk-7u60-linux-x64.bin
./ jdk-7u60-linux-x64.bin --给目录赋予执行安装的权限
tar:tar zxvf jdk-7u60-linux-x64.tar.gz --对JDK安装包进行解压
jdk安装在/opt/目录下(注:/usr/local/目录若不存在需新建)

3、ROOT用户配置环境变量:
3.1 设置环境变量
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= O R A C L E H O M E / s d k / n e t w o r k / a d m i n L D L I B R A R Y P A T H = ORACLE_HOME/sdk/network/admin LD_LIBRARY_PATH= ORACLEHOME/sdk/network/adminLDLIBRARYPATH=ORACLE_HOME: L D L I B R A R Y P A T H P A T H = LD_LIBRARY_PATH PATH= LDLIBRARYPATHPATH=PATH: J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:JRE_HOME/bin: O R A C L E H O M E : / u s r / l o c a l / z o o k e e p e r − 3.4.5 / b i n C L A S S P A T H = ORACLE_HOME:/usr/local/zookeeper-3.4.5/bin CLASSPATH= ORACLEHOME:/usr/local/zookeeper3.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 使环境变量生效
source /etc/profile --执行source名,对配置文件进行编译
3.3 检查jdk是否安装成功
java –version
在这里插入图片描述
表示安装成功…

4、Kettle安装
4.1 安装配置kettle:
1)下载kettle并在服务器上解压,赋予sh的执行权限(chmod +x *.sh)
Kettle官网下载连接:
http://sourceforge.net/projects/pentaho/files/Data Integration/6.0/pdi-ce-6.0.0.0-353.zip/download
2)使用ecif用户将kettle绿色安装包上传至Linux服务器对应的目录:
新建目录:/home/ecif/kettle
上传kettle绿色安装包上传至/home/ecif/kettle下
最终结果: /home/ecif/kettle/pdi-ce-5.4.0.1-130/data-integration

在这里插入图片描述
4.2图形化配置设置
编辑/home/ecif/kettle/pdi-ce-5.4.0.1-130/data-integration/spoon.sh,见下:(红色部分)
OPT="$OPT P E N T A H O D I J A V A O P T I O N S − D j a v a . l i b r a r y . p a t h = PENTAHO_DI_JAVA_OPTIONS -Djava.library.path= PENTAHODIJAVAOPTIONSDjava.library.path=LIBPATH -Dorg.eclipse.swt.internal.gtk.cairoGraphics=false
在这里插入图片描述

4.3 kettle中文支持安装
执行以下命令:
1) yum groupinstall “Chinese Support”

2) dbus-uuidgen > /var/lib/dbus/machine-id

4.4 检查kettle是否安装成功
1)切换目录运行kettle
cd /home/ecif/kettle/data-integration/
sh spoon.sh
2)正确启动展示如下图:
在这里插入图片描述

5、ETL程序下发
5.1 上传文档(shell脚本及加密解密程序)

  1. 投产当天需将调度脚本上传至生产LINUX服务器:/home/etl/crm/script 目录下,需要上传的脚本见下:
    在这里插入图片描述
    注意: 1)shell脚本是通过sqlplus连接数据库传入用户名和密码以及TNS名称即可
    2)保证传入的TNS名称和/home/etl/crm/cf/etl.cfg中传入的ORLSID相同即可;
    6.2 导入kettle的程序xml文件
  2. Linux下将rcrm作业文件包导入到资源库之前,需要新建新资源库,然后将rcrm作业文件包导入
    建立资源库见下图:点击”连接资源库”
    在这里插入图片描述
    2)会出现以下对话框,然后点击”+”按钮,添加资源库
    在这里插入图片描述

此时会让你选择创建文件资源库还是数据库资源库,依照目前我们的做法创建的是文件资源库,所以按照下图创建文件资源库即可;
在这里插入图片描述

资源库信息见下:
在这里插入图片描述
新建数据库连接,并进行rcrm数据连通性测试,点击”测试” 按钮,如果测试不成功,需要将OJDBC.jar包放到linux下kettle的安装目录中,目录见下:(/home/etl/crm/kettle/data-integration/lib)
在这里插入图片描述
新建完之后,按照下图操作,点击”创建或更新” 按钮,此时会让在rcrm数据库中创建资源库的相关表信息,点击”是”即可,获取登录资源库权限
在这里插入图片描述
注:以上是建立整个资源库的过程。
3)整个资源库建完之后,导入已开发好的资源库文件信息,步骤见下:

在这里插入图片描述
在这里插入图片描述

默认将资源库文件导入到根目录,以下是选择导入资源库文件存放的路径
在这里插入图片描述
导入资源库文件的对话框信息见下图:
在这里插入图片描述
4) Kettle数据库配置信息进行修改
打开资源库信息(快捷键:Ctrl + E)
选择”连接” 标签,对数据库的配置信息进行修改:

在这里插入图片描述

6.3 KETTLE数据库连接配置设置(引用变量)
Kettle中使用变量来进行数据库连接配置,配置步骤见下:
1)进入Kettle安装目录:/home/etl/.kettle
2)vi kettle.properties 编辑属性文件,添加一下信息:(红色部分以实际生产为准)

#crm数据库配置信息
DB_IP = 168.31.63.201
DB_SID = xycrm
DB_NAME = xycrm
DB_PW = xycrm
DB_PORTS = 1521

3)参数信息添加完,保存并退出;
4)登录kettle图形化界面,修改资源库连接信息,见下图:
在这里插入图片描述

修改完以上信息,登录资源库,并将资源库中的连接信息一并修改,见图:
在这里插入图片描述
以上数仓的配置信息同理,并进行连通性测试;
6.3 ETL调度介绍

  1. 调度分为初始化,日常
    已经将shell相关的调度脚本上传至/home/etl/crm/script目录下
    初始化调度,需在kettle下来进行调度(上线运行一次):

20160707为上线日期,执行以下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;


初始化调度命令:
nohup /home/etl/crm/kettle/data-integration/kitchen.sh -rep crm -user admin -pass “ R E P U S E R P A S S " − d i r / h o m e / e t l / c r m / k e t t l e / r e p f i l e / C R M / F I R S T / J O B S / D i s p a t c h − j o b T O L C R M D A I L Y F − l e v e l = b a s i c − p a r a m : e t l d a t e = " {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/DispatchjobTOLCRMDAILYFlevel=basicparam:etldate="{BatchDate}” 2>&1

nohup /home/etl/crm/kettle/data-integration/kitchen.sh -rep crm -user admin -pass “ R E P U S E R P A S S " − d i r / h o m e / e t l / c r m / k e t t l e / r e p f i l e / C R M / F I R S T / J O B S / D i s p a t c h − j o b T O L C R M M A N U A L F − l e v e l = b a s i c − p a r a m : e t l d a t e = " {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/DispatchjobTOLCRMMANUALFlevel=basicparam:etldate="{BatchDate}” 2>&1

在LINUX下执行以下命令,执行日常任务调度工作,命令见下:
日常任务调度命令见下:
nohup /home/etl/crm/kettle/data-integration/kitchen.sh -rep crm -user admin -pass “ R E P U S E R P A S S " − d i r / h o m e / e t l / c r m / k e t t l e / r e p f i l e / C R M / J O B S / D i s p a t c h − j o b C R M M A N U A L D I S P A T C H − l e v e l = b a s i c − p a r a m : e t l d a t e = " {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/DispatchjobCRMMANUALDISPATCHlevel=basicparam:etldate="{BatchDate}” 2>&1

  1. 日常作业重调,需要执行以下命令:
    日常重调任务命令:
    nohup /home/etl/crm/kettle/data-integration/kitchen.sh -rep crm -user admin -pass “ R E P U S E R P A S S " − d i r / h o m e / e t l / c r m / k e t t l e / r e p f i l e / C R M / J O B S / D i s p a t c h − j o b T O L C R M D A I L Y R E P − l e v e l = b a s i c − p a r a m : e t l d a t e = " {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/DispatchjobTOLCRMDAILYREPlevel=basicparam:etldate="{BatchDate}” 2>&1
    6.4 KETTLE进程监控
    ps –ef |grep ‘kitchen.sh’
    ps –ef |grep ‘spoon.sh’
    ps -ef | grep TOL_CRM_DAILY --日批作业进程
    详细进程见下图:
    在这里插入图片描述

6.5 KETTLE日志监控作业跑批情况
1.查看日志目录请执行:cd /home/etl/crm/log
2.日志文件夹生成规则:当天跑批日期
3.跑批日志生成规则为:作业名+当天跑批日期+随机数.log
4.详细见图:

在这里插入图片描述

6.4 KETTLE进程监控
执行如下sql:
select * from e_etl_info;
select * from e_etl_job_info;
详细进程见下图:
在这里插入图片描述
查看是否成功:

在这里插入图片描述
6.5 KETTLE日志监控作业跑批情况
5.查看日志目录请执行:cd /home/etl/crm/log
6.日志文件夹生成规则:当天跑批日期
3.跑批日志生成规则为:作业名+当天跑批日期+随机数.log
4.详细信息见下图:
在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值