Streamsets 实时同步ETL工具CDC框架部署安装教程详解
以下三种同步方式见博主另外几篇文章,本文主要讲解部署流程
mysql到oracle实时同步
https://blog.csdn.net/qq_18149105/article/details/107617514
sqlserver到oracle实时同步
https://blog.csdn.net/qq_18149105/article/details/107617657
oracle到oracle实时同步https://blog.csdn.net/qq_18149105/article/details/107617746
一、概述
官网:https://streamsets.com/
Streamsets是一款大数据实时采集和ETL工具,可以实现不写一行代码完成数据的采集和流转。通过拖拽式的可视化界面,实现数据管道(Pipelines)的设计和定时任务调度。最大的特点有:
- 可视化界面操作,不写代码完成数据的采集和流转
- 内置监控,可是实时查看数据流传输的基本信息和数据的质量
- 强大的整合力,对现有常用组件全力支持,包括50种数据源、44种数据操作、46种目的地。
对于Streamsets来说,最重要的概念就是数据源(Origins)、操作(Processors)、目的地(Destinations)。创建一个Pipelines管道配置也基本是这三个方面。
常见的Origins有Kafka、HTTP、UDP、JDBC、HDFS等;Processors可以实现对每个字段的过滤、更改、编码、聚合等操作;Destinations跟Origins差不多,可以写入Kafka、Flume、JDBC、HDFS、Redis等。
二、部署
1.部署要求
centos7+
JDK1.8+
首先到StreamSets官网提供的下载址:https://archives.streamsets.com/index.html
官方提供核心包下载,完整包下载及docker安装等多种下载方式.完整包大小约5G+,包含所支持的所有组件.也可以下载核心包 Core SDC Tarball ,只包含常用组件,后期可根据需要添加组件。
2.安装
(1)Linux环境:CentOS7和JDK8
设置静态IP:
CentOS7安装完成后默认使用的是动态IP,如果不设置成静态IP,那么每次重新启动后,IP都不一样,不利于我们以后的操作。
打开网卡文件修改配置。
[root@localhost ~]$ vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
#BOOTPROTO=dhcp
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=339a483a-b61b-480f-8957-8ae2229f4ee2
DEVICE=ens33
ONBOOT=yes
IPADDR=10.18.40.210
NETMASK=255.255.255.0
GATEWAY=10.18.40.254
DNS1=114.114.114.114
重启网络服务
[root@localhost ~]$ systemctl restart network
测试网络

关闭防火墙及selinxu守护进程:
1、关闭selinxu守护进程(使用root用户)
[root@localhost ~]$ vi /etc/selinux/config
将eforcing改成disabled后,重启

2、关闭防火墙(使用root用户)
(1)查看防火墙状态
[root@localhost ~]$ systemctl status firewalld
(2)关闭防火墙
[root@localhost ~]$ systemctl stop firewalld
(3)禁用防火墙
[root@localhost ~]$ systemctl disable firewalld
安装JDK:
(1)下载安装包
从官网下载jdk安装包
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

(2)安装JDK
我们在安装CentOS7时使用的是最小安装,所以系统就不会安装默认JDK了,但出于保险,我们还是使用命令检查是否安装了默认JDK。
[root@localhost ~]$ rpm -qa | grep java
[root@localhost ~]$ rpm -qa | grep jdk
执行完这两个命令中的任意一个后,如果jdk有安装,会列出jdk的所有安装包,使用如下命令依次卸载即可。
[root@localhost ~]$ rpm -e --nodeps java包名
在根目录下新建文件夹files,用于存放安装包。使用FileZilla工具将安装包上传到installPkgs文件夹。
[root@localhost ~]$ mkdir files # 在/目录下
进入/files,将上传的文件解压,将解压后的文件移动到/opt目录下,并改变文件的所有者。
[root@localhost ~]$ cd /files
[root@localhost files]$ tar -xvf jdk-8u211-linux-x64.tar.gz
解
压
文
件
[
r
o
o
t
@
l
o
c
a
l
h
o
s
t
f
i
l
e
s
]
解压文件 [root@localhost files]
解压文件[root@localhostfiles] sudo mv jdk1.8.0_211 /opt/
将
解
压
后
的
文
件
移
动
到
/
o
p
t
/
目
录
[
r
o
o
t
@
l
o
c
a
l
h
o
s
t
o
p
t
]
将解压后的文件移动到/opt/ 目录 [root@localhost opt]
将解压后的文件移动到/opt/目录[root@localhostopt] mv jdk1.8.0_211 jdk1.8
(3)配置环境变量
使用vi 编辑器打开bashrc文件
[root@localhost ~]$ vi ~/.bashrc #linux中所有的隐藏文件前面都会有一个点.,bashrc就是一个隐藏文件
添加内容:
export JAVA_HOME=/opt/jdk1.8(路径选择你自己安装的jdk路径)
export PATH=
P
A
T
H
:
PATH:
PATH:JAVA_HOME/bin(追加到PATH中)
重新加载bashrc文件,让环境变量立即生效
[root@localhost ~]$ source ~/.bashrc
输入如下命令,查看环境变量是否配置成功,如果出现类似如下图中的内容表示成功。
[root@localhost ~]$ echo
J
A
V
A
H
O
M
E
[
r
o
o
t
@
l
o
c
a
l
h
o
s
t
]
JAVA_HOME [root@localhost ~]
JAVAHOME[root@localhost ] java -version

(2)部署Streamsets
首先修改操作系统的 open files 限制数量。
命令 #vi /etc/security/limits.conf
在 # End of file结束语上方 添加两行内容:
- soft nofile 102400
- hard nofile 102400
保存退出.然后重启机器reboot.
运行 ‘ulimit -n’ 既可以看到 open files 设置值已生效。

创建一部分备用文件夹 ,用来测试.生产服务器根据需求指定文件路径.
mkdir /home/test_stream (test文件夹)
mkdir /home/test_stream/data (数据文件夹)
mkdir /home/test_stream/error (报警文件夹)
mkdir /home/test_stream/out (数据输出文件夹)
chmod -R 777 /home/test_stream (赋权)
将tar包上传至服务器,(将tar包放入opt或其他文件夹),
解压tar包 :# tar xvzf streamsets-datacollector-core-***.tgz
进入bin文件夹 :# cd streamsets-datacollector-***/bin/
执行命令:# ./streamsets dc

StreamSets项目本身具有WEB界面,启动项目后如出现Running on URL : 'http://ip:18630’则说明项目启动成功.
部署完成!
初试账号密码都是admin
登陆之后需要验证邮箱激活
更多推荐
所有评论(0)