安装扩展包(Install External Libraries)

在CDH平台上为Streamsets导入扩展包前, 先设置一个用来存储这些扩展包的目录

  1. 在Cloundera管理平台界面中, 选择StreamSets服务 然后点击Configuration.
  2. 在 Configuration 页面, 在 Data Collector 高级配置选项中的 (Safety Valve) sdc-env.sh 区域, 增加环境变量 STREAMSETS_LIBRARIES_EXTRA_DIR 并把它指向存放扩展包的目录 , 按照这样的格式:
export STREAMSETS_LIBRARIES_EXTRA_DIR=""

举例:

export STREAMSETS_LIBRARIES_EXTRA_DIR="/opt/sdc-extras/"

默认的路径是:/var/lib/sdc.

  1. 在每个运行Data Collector的节点创建目录 /opt/sdc-extras/
  2. 在每个节点给 Data Collector 的用户增加扩展目录的权限。

举例来说, 如果你是用用户名和用户组名都是:sdc的用户来运行Data Collector 服务,那么可以使用下面的命令把扩展目录的权限赋予sdc:sdc :

chown -R sdc:sdc /opt/sdc-extras
  1. 当使用默认启动的java 安全管理器的时候,需要把扩展包目录加入Data Collector高级配置片段中的sdc-sercurity.policy属性,配置格式如下:
// user-defined external directory grant codebase "
file://-" {   permission java.security.AllPermission; };

案例:

// user-defined external directory grant codebase 
"file:///opt/sdc-extras/-" {   permission java.security.AllPermission; };
  1. 重启Data Collector.

相关信息

Data Collector Environment Configuration

Step 2. Install External Libraries

配置好扩展包存放目录之后,使用 Data Collector 的Package Manager 来 安装扩展包

  1. 在Data Collector界面中,右上角的工具栏中, 点击 Package Manager 图标:


    ager-iconrow.png
  1. 在导航栏中, 点击 External Libraries:


    安装扩展包(Install External Libraries)_第1张图片
    ExternalLibs.png

Data Collector 会罗列出所有已经安装好的扩展包。

  1. 在右上角工具栏的下方, 点击 Install External Libraries 图标:
安装扩展包(Install External Libraries)_第2张图片
nstallExtLib.png
  1. 在安装扩展包的对话框中, 选择扩展包对应的stage 库。

举例说明, 如果你要按照 JDBC Multitable Consumer源需要的JDBC驱动,选择JDBC stage 库。如果你要给 Groovy Evaluator processor安装java的扩展工具包,则需要选择 Groovy stage库 。

  1. 浏览文件找到你要安装的扩展包然后点击Open。
  2. 点击 Upload,将扩展包安装到指定的stage库

Data Collector 安装扩展包然后回弹出一个提供重启Data Collector功能的对话框。

  1. 要安装更多的扩展包,只需要点击Cancel,然后重复3-6这几个步骤。

比如说,你想要在Spark Evaluator processor中使用一个扩展包,但是你有两个不同版本的processor(每个版本都有自己独立的库)。为了保证扩展包对两个版本的processor都是可用的,你必须把扩展包分别上传到两个版本对应的的stage库下。

  1. After installing all of the external libraries that you want, restart the Data Collector in one of the following ways:
  • If you started the Data Collector manually from the command line, click Restart Data Collector in the Install External Libraries window.
  • If you started the Data Collector as a service, you must use the command line for restart. Click Cancel in the Install External Libraries window, and then run the following command:
service sdc restart

当前开发环境扩展包存放路径:

/opt/cloudera/parcels/STREAMSETS_DATACOLLECTOR-3.3.0/streamsets-libs/streamsets-datacollector-basic-lib/lib/streamsets-extra-1.0-SNAPSHOT.jar

/opt/cloudera/parcels/STREAMSETS_DATACOLLECTOR-3.3.0/streamsets-libs-extras/streamsets-datacollector-basic-lib/lib/streamsets-extra-1.0-SNAPSHOT.jar

如果配置的路径和文件上传路径不一致时候,以配置路径为准。
javascript调用外部的java代码
网页链接地址:https://streamsets.com/blog/calling-external-java-code-script-evaluators/

// Only need single SHA3, Hex instances

if (!state.sha3 || !state.Hex) {

  var DigestSHA3 = Java.type('org.bouncycastle.jcajce.provider.digest.SHA3.DigestSHA3');

  state.sha3 = new DigestSHA3(256);

  state.Hex = Java.type('org.bouncycastle.util.encoders.Hex');

}

var sha3 = state.sha3;

var Hex = state.Hex;

for(var i = 0; i < records.length; i++) {

  var record = records[i];

  try {

    // Need to reset the message digest object for every field!

    sha3.reset();

    var digest = sha3.digest(record.value['data'].getBytes('UTF-8'));

    record.value.digest = Hex.toHexString(digest);

    output.write(record);

  } catch (e) {

    // Send record to error

    error.write(record, e);

  }

}

你可能感兴趣的:(安装扩展包(Install External Libraries))