StreamSets(3.22.2) 安装部署

简介:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IVidPoN4-1632880560252)(./Installation_and_deployment.assets/image-20210831162732107.png)]

  • Control Hub: StreamSets Control Hub是所有数据流管道的中心控制点。Control Hub允许团队大规模构建和执行大量复杂的数据流。

  • Data Collector: StreamSets Data Collector是一种轻量级、功能强大的设计和执行引擎,可以实时传输数据。使用Data Collector路由和处理数据流中的数据

  • Transformer: StreamSets Transformer是一个执行引擎,它在开源集群计算框架 Apache Spark 上运行数据处理管道。由于Transformer管道在部署在集群上的 Spark 上运行,因此管道可以以批处理或流模式对整个数据集执行需要大量处理的转换

1.1 源码

地址: https://github.com/streamsets 下的 datacollector-oss

1.2 官方详细文档

地址: https://docs.streamsets.com/

DOC(3.22.2)文档地址: https://docs.streamsets.com/portal/#datacollector/3.22.x/help/index.html

1.3 资源

  1. SDC: https://archives.streamsets.com/datacollector/3.22.2/tarball/activation/streamsets-datacollector-all-3.22.2.tgz
  2. OpenJdk8: https://corretto.aws/downloads/latest/amazon-corretto-8-x64-linux-jdk.tar.gz

1.4 安装要求

在满足以下最低要求的机器上安装Data Collector。要以集群执行模式运行管道,集群中的每个节点都必须满足最低要求。

组件最低要求
操作系统Mac OS X
Amazon Linux 2
CentOS 6.x or 7.x
Oracle Linux 6.x or 7.x
Red Hat Enterprise Linux 6.x or 7.x
Ubuntu 14.04 LTS - 20.04 LTS
核数2
内存1 GB
磁盘空间6 GB 注意: StreamSets不建议使用 NFS 或 NAS 来存储Data Collector 文件。
File descriptors32768
JavaOracle Java 8 or OpenJDK 8
BrowserChrome
Firefox
Safari

注意:

  1. 推荐使用1.8.0_161以上版本. 如果使用java8版本低于1.8.0_161. 需要在Data Collector 机器上配置 JDK以使用 Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy. 要将 JDK 配置为使用无限制加密,请将JDK 安装中包含crypto.policyjava.security文件中的Java Security 属性 设置 为 unlimited. 有关java.security更多信息,请参阅文件中的注释. 配置无限制加密后,重新启动Data Collector

  2. 设置ulimit: redhat官方教程: https://access.redhat.com/solutions/61334

    临时修改: ulimit -HSn 32768

    永久修改: 在 /etc/security/limits.conf文件末尾添加如下内容, 退出并从终端重新登录以使更改生效。

    * soft nofile 32768
    * hard nofile 32768
    

题外介绍: /etc/security/limits.conf:

# vi /etc/security/limits.conf
#<domain>        <type>  <item>  <value>

*               -       core             <value>
*               -       data             <value>
*               -       priority         <value>
*               -       fsize            <value>
*               soft    sigpending       <value> eg:57344
*               hard    sigpending       <value> eg:57444
*               -       memlock          <value>
*               -       nofile           <value> eg:1024
*               -       msgqueue         <value> eg:819200
*               -       locks            <value>
*               soft    core             <value>
*               hard    nofile           <value>
@<group>        hard    nproc            <value>
<user>          soft    nproc            <value>
%<group>        hard    nproc            <value>
<user>          hard    nproc            <value>
@<group>        -       maxlogins        <value>
<user>          hard    cpu              <value>
<user>          soft    cpu              <value>
<user>          hard    locks            <value>
  • <domain> 可:

    • 用户名
    • 组名,带@group语法
    • 通配符*,用于默认条目
    • 通配符%,也可以与%group语法一起使用,用于maxlogin限制
  • <type> 可以有两个值:

    • soft 用于强制执行软限制
    • hard 强制执行硬限制
  • <item> 可以是以下之一:

    • core - 限制核心文件大小 (KB)
    • data - 最大数据大小 (KB)
    • fsize - 最大文件大小 (KB)
    • memlock - 最大锁定内存地址空间 (KB)
    • nofile - 最大打开文件数
    • rss - 最大驻留集大小 (KB)
    • stack - 最大堆栈大小 (KB)
    • cpu - 最大 CPU 时间 (MIN)
    • nproc - 最大进程数(见下面的注释)
    • as - 地址空间限制 (KB)
    • maxlogins - 此用户的最大登录次数
    • maxsyslogins - 系统上的最大登录次数
    • priority - 运行用户进程的优先级
    • locks - 用户可以持有的最大文件锁数
    • sigpending - 最大挂起信号数
    • msgqueue - POSIX 消息队列使用的最大内存(字节)
    • nice - 允许提高的最大优先级值:[-20, 19]
    • rtprio - 最大实时优先级
  • 为了提高性能,我们可以安全地将超级用户 root 的进程限制设置为无限制。编辑.bashrc文件并添加以下行:

    # vi /root/.bashrc
    ulimit -u unlimited
    

1.5 身份认证

  1. 配置身份验证属性。编辑文件etc/sdc.properties内容
  1. http.authentication.login.module=file

  2. http.authentication=basic # none|basic|digest|form|aster

  3. 验证方式对应配置的文件:

    etc/basic-realm.properties
    etc/digest-realm.properties
    etc/form-realm.properties
    
  1. 配置Data Collector 用户、组和角色。

用户可以在登录Data Collector后更改其密码。或修改上面的配置文件etc/xxx-realm.properties

验证方式为basic情况下默认用户名: admin, 默认密码: admin

注意:

虽然是免费的, 但是当前版本, 第一次登录需要, 使用StreamSets官网注册账号登录一次授权, 授权后可以一直使用, 没有过期时间: Activation enabled, activation is valid and it does not expire[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QY3l4ipw-1632880560254)(Installation_and_deployment.assets/image-20210929094908863.png)]

跳过授权:

  • 方法一: https://www.aliyundrive.com/s/nRaoygBBhvE下载这2个文件放到data目录下

  • 方法二: 删除container-lib/streamsets-activation-no-trial-3.6.0.jar这个文件

  • 方法三: 修改源码container-common/src/main/java/com/streamsets/datacollector/activation/ActivationLoader.javagetActivation 方法, 打包替换掉container-lib/streamsets-datacollector-container-common-3.22.2.jar

    public Activation getActivation() {
        final Activation activation;
        // 将这2行注释
        // ServiceLoader<Activation> serviceLoader = ServiceLoader.load(Activation.class);
        // List<Activation> list = ImmutableList.copyOf(serviceLoader.iterator());
        // 将list置为empty
        List<Activation> list = Collections.emptyList();
        ... 其他代码
    }
    
  • 如果您有企业帐户,则通常使用Control Hub 身份验证来访问Data Collector。

  • 如果您没有企业帐户,则默认使用StreamSets 帐户下载并登录到Data Collector。通过 StreamSets 帐户身份验证,您的用户帐户被授予Admin 角色

  • LDAP 身份验证

1.6 启动

  1. 解压: tar zxf streamsets-datacollector-all-3.22.2.tgz
  2. 进入解压目录: streamsets-datacollector-all
  3. 前台启动 bin/streamsets dc, 或后台 nohup bin/streamsets dc >/dev/null 2>&1 &
  4. 浏览器输入http://{host}:18630/访问
Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐