SQL Stream Builder安装部署

2021-07-02 10:06:24 浏览数 (1)

我们在Cloudera的流分析系列中介绍了《Cloudera中的流分析概览》、《SQL Stream Builder的概览》、《CSA的部署方案》和《CSA的安装部署》,今天我们来进行下一个章节:SQL Stream Builder的安装部署。

为SSB配置数据库

在将SQL Stream Builder(SSB)作为服务添加到群集之前,您需要手动配置数据库以使用SSB。数据库用于存储Streaming SQL Console和实例化视图的元数据信息。

SSB支持以下数据库:

流式SQL控制台

物化视图引擎

MySQL / MariaDB

支持

不支持

PostgreSQL

支持

支持

为SSB配置MySQL / MariaDB

安装MySQL / MariaDB服务器后,必须为SQL Stream Builder(SSB)创建数据库和凭据,以便能够在群集上安装该服务。

您需要创建将用于Streaming SQL Console的MySQL / MariaDB数据库。

  1. 以root用户身份登录到MySQL:
代码语言:javascript复制
mysql -u root -p
Enter password:
  1. 为流SQL控制台创建数据库:
代码语言:javascript复制
CREATE DATABASE ssb_admin DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
  1. 授予创建的数据库的所有特权:
代码语言:javascript复制
GRANT ALL ON ssb_admin.* TO 'ssb_admin'@'%' IDENTIFIED BY '<password>';
  1. 确认您已经创建了Streaming SQL Console数据库:
代码语言:javascript复制
SHOW DATABASES;


[root@ip-10-0-0-103 default]# mysql -uroot -pcloudera
Welcome to the MariaDB monitor.  Commands end with ; or g.
Your MariaDB connection id is 751
Server version: 10.2.38-MariaDB MariaDB Server


Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.


Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.


MariaDB [(none)]> CREATE DATABASE ssb_admin DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)


MariaDB [(none)]> GRANT ALL ON ssb_admin.* TO 'ssb_admin'@'%' IDENTIFIED BY 'cloudera';
Query OK, 0 rows affected (0.00 sec)


MariaDB [(none)]> SHOW DATABASES;
 -------------------- 
| Database           |
 -------------------- 
| amon               |
| efm                |
| hue                |
| information_schema |
| metastore          |
| mysql              |
| nav                |
| navms              |
| nifireg            |
| oozie              |
| performance_schema |
| ranger             |
| registry           |
| rman               |
| scm                |
| ssb_admin          |
| streamsmsgmgr      |
 -------------------- 
17 rows in set (0.00 sec)


MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)


MariaDB [(none)]> quit;
Bye
[root@ip-10-0-0-103 default]#

安装MySQL Python连接器

您需要安装8.0.23版本的MySQL python连接器,SSB才能连接到MySQL数据库。

使用以下示例命令为MySQL安装正确的版本:

RHEL
  1. 安装python-pip软件包:
代码语言:javascript复制
sudo yum -y install python3-pip
  1. 创建安装软件包的目录:
代码语言:javascript复制
mkdir -p /usr/share/python3
  1. 使用pip安装mysql连接器8.0.23:
代码语言:javascript复制
sudo pip3 install mysql-connector-python==8.0.23 -t /usr/share/python3
Ubuntu
  1. 安装python-pip软件包:
代码语言:javascript复制
sudo apt-get install python3-pip
  1. 创建安装软件包的目录:
代码语言:javascript复制
mkdir -p /usr/share/python3
  1. 使用pip安装mysql连接器8.0.23:
代码语言:javascript复制
sudo pip3 install mysql-connector-python==8.0.23 -t /usr/share/python3

为SSB配置PostgreSQL

安装PostgreSQL服务器后,必须为SQL Stream Builder(SSB)创建数据库和凭据,以便能够在群集上安装该服务。

您需要创建将用于流SQL控制台和实体化视图引擎的PostgreSQL数据库。

  1. 连接到PostgreSQL:
代码语言:javascript复制
sudo -u postgres psql
  1. 为流SQL控制台创建数据库:
代码语言:javascript复制
CREATE ROLE ssb_admin LOGIN PASSWORD '<password>';
CREATE DATABASE ssb_admin OWNER ssb_admin ENCODING 'UTF8';

为物化视图引擎创建数据库:

代码语言:javascript复制
CREATE ROLE ssb_mve LOGIN PASSWORD '<password>';
CREATE DATABASE ssb_mve OWNER ssb_mve ENCODING 'UTF8';
  1. 确认您已使用l 命令创建了Streaming SQL Console和Materialized View Engine数据库。

安装PostgreSQL Python连接器

您需要安装2.8.5。用于SSB的psycopg2 Python软件包的版本,以连接到PostgreSQL数据库。

使用以下示例命令为PostgreSQL安装正确的版本:

RHEL
  1. 安装python-pip软件包:
代码语言:javascript复制
sudo yum install python3-pip
  1. 创建安装软件包的目录:
代码语言:javascript复制
mkdir -p /usr/share/python3
  1. 使用pip安装psycopg2 2.8.5:
代码语言:javascript复制
sudo pip3 install psycopg2-binary==2.8.5 -t /usr/share/python3
Ubuntu
  1. 安装python-pip软件包:
代码语言:javascript复制
sudo apt-get install python3-pip
  1. 创建安装软件包的目录:
代码语言:javascript复制
mkdir -p /usr/share/python3
  1. 使用pip安装psycopg2 2.8.5:
代码语言:javascript复制
sudo pip3 install psycopg2-binary==2.8.5 -t /usr/share/python3

将SSB添加为服务

您要使用Cloudera Manager中的“添加服务”向导在群集上安装SQL Stream Builder(SSB)服务。

  • 确保该文件/opt/cloudera/csd 夹中有SSB CSD文件。
  • 确保已将CSA Parcel添加到Cloudera Manager。
  • 确保已正确安装和配置SSB数据库,并且还安装了必需的Python和Java驱动程序。
  • 检查集群中是否安装了以下组件:

强制性组件

可选组件

Flink

Schema Registry

Kafka

Streams Messaging Manager

  1. 打开Cloudera Manager。
  2. 在主屏幕上,选择集群右侧的下拉菜单。
  3. 选择添加服务。
  1. 从列表中,选择“ SQL Stream Builder”作为服务类型,然后单击“继续”。

将启动“添加服务”向导。

  1. 将SQL Stream Engine,物化视图引擎和SQL Stream Console服务角色分配给主机,然后单击Continue(我这里使用的是MariaDB,因此不能部署物化视图引擎)。

您需要根据创建数据库的位置以及分配Flink和Kafka角色的位置来分配服务角色。

  1. 将SSB服务连接到数据库。

重要

在将SSB添加为服务之前,您必须安装并配置MySQL / MariaDB或PostgreSQL数据库。如果您没有为集群设置任何数据库,请参阅“为SSB配置数据库”文档。如果计划在SSB中使用实体化视图,则必须安装PostgreSQL数据库。

  1. 查看服务所需的更改。

如果您将MySQL用于流SQL控制台,而将PostgreSQL用于物化视图,则系统将提示您提供有关物化视图引擎数据库的信息。为数据库主机名提供默认端口,您的用户名和密码,以显示在“物化视图引擎”字段中。

笔记

您可以在此步骤或在“配置”页面中添加服务之后,为SQL Stream Builder配置安全属性。有关配置安全性的更多信息,请参见管理 SQL Stream安全性文档。

  1. 单击“继续”,然后等待直到SSB服务的第一次运行完成。
  1. 单击继续,然后 单击完成。

这时就完成了整个CSA的安装。

参考链接:

https://docs.cloudera.com/csa/1.3.0/support-matrix/topics/csa-system-req.html

https://docs.cloudera.com/csa/1.3.0/download/topics/csa-download-portal.html

https://docs.cloudera.com/csa/1.3.0/installation/topics/csa-installing-parcel.html

0 人点赞