我们在Cloudera的流分析系列中介绍了《Cloudera中的流分析概览》、《SQL Stream Builder的概览》、《CSA的部署方案》和《CSA的安装部署》,今天我们来进行下一个章节:SQL Stream Builder的安装部署。
在将SQL Stream Builder(SSB)作为服务添加到群集之前,您需要手动配置数据库以使用SSB。数据库用于存储Streaming SQL Console和实例化视图的元数据信息。
SSB支持以下数据库:
流式SQL控制台 | 物化视图引擎 | |
|---|---|---|
MySQL / MariaDB | 支持 | 不支持 |
PostgreSQL | 支持 | 支持 |
安装MySQL / MariaDB服务器后,必须为SQL Stream Builder(SSB)创建数据库和凭据,以便能够在群集上安装该服务。
您需要创建将用于Streaming SQL Console的MySQL / MariaDB数据库。
mysql -u root -p
Enter password:CREATE DATABASE ssb_admin DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;GRANT ALL ON ssb_admin.* TO 'ssb_admin'@'%' IDENTIFIED BY '<password>';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]#
您需要安装8.0.23版本的MySQL python连接器,SSB才能连接到MySQL数据库。
使用以下示例命令为MySQL安装正确的版本:
sudo yum -y install python3-pipmkdir -p /usr/share/python3sudo pip3 install mysql-connector-python==8.0.23 -t /usr/share/python3sudo apt-get install python3-pipmkdir -p /usr/share/python3sudo pip3 install mysql-connector-python==8.0.23 -t /usr/share/python3安装PostgreSQL服务器后,必须为SQL Stream Builder(SSB)创建数据库和凭据,以便能够在群集上安装该服务。
您需要创建将用于流SQL控制台和实体化视图引擎的PostgreSQL数据库。
sudo -u postgres psqlCREATE ROLE ssb_admin LOGIN PASSWORD '<password>';
CREATE DATABASE ssb_admin OWNER ssb_admin ENCODING 'UTF8';为物化视图引擎创建数据库:
CREATE ROLE ssb_mve LOGIN PASSWORD '<password>';
CREATE DATABASE ssb_mve OWNER ssb_mve ENCODING 'UTF8';您需要安装2.8.5。用于SSB的psycopg2 Python软件包的版本,以连接到PostgreSQL数据库。
使用以下示例命令为PostgreSQL安装正确的版本:
sudo yum install python3-pipmkdir -p /usr/share/python3sudo pip3 install psycopg2-binary==2.8.5 -t /usr/share/python3sudo apt-get install python3-pipmkdir -p /usr/share/python3sudo pip3 install psycopg2-binary==2.8.5 -t /usr/share/python3您要使用Cloudera Manager中的“添加服务”向导在群集上安装SQL Stream Builder(SSB)服务。
强制性组件 | 可选组件 |
|---|---|
Flink | Schema Registry |
Kafka | Streams Messaging Manager |


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

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

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

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

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



这时就完成了整个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