页面树结构
转至元数据结尾
转至元数据起始

1、跨库版本需要更新到2022年10月以后的版本,才支持使用此文档进行密码配置

2、JDK版本要求:jdk1.8.151及以上版本

3、主机名必须以英文字母开头

4、需要在hosts文件中增加主机名及ip的映射关系

1)停止现有的SmartbiUnionServer服务:

# ps -ef| grep SmartbiUnionServer
# kill -9 进程id

2)升级

解压新的安装包

# tar -zxvf SmartbiUnionServer.tar.gz

① 备份原来的SmartbiUnionServer/plugin目录

# mv plugin pluin_back

复制解压出来的新版SmartbiUnionServer/plugin到原来的目录文件

# cp -r <SmartbiUnionServer新版本>/plugin <SmartbiUnionServer旧版本>/plugin

② 备份原来的SmartbiUnionServer/lib目录

# mv lib lib_back

复制解压出来的新版SmartbiUnionServer/lib到原来的目录文件

# cp -r <SmartbiUnionServer新版本>/lib <SmartbiUnionServer旧版本>/lib

③ 复制SmartbiUnionServer/etc/queue_config.json 到etc目录

# cp -r <SmartbiUnionServer新版本>/etc/queue_config.json <SmartbiUnionServer旧版本>/etc/

④ 复制SmartbiUnionServer/etc/resource-groups.properties 到etc目录

# cp -r <SmartbiUnionServer新版本>/etc/resource-groups.properties <SmartbiUnionServer旧版本>/etc/

2、配置账户密码

1)生成keystore证书及密码

# keytool -genkeypair -alias smartbiunionserver -keyalg RSA -validity 3650 -keystore smartbiunionserver_keystore.jks
参数参数说明
alias证书别名
keyalg加密算法,一般配置为RSA
validity证书有效期,单位是(天)
keystore指定jks证书的名称


如下图,按要求输入keystore证书的密码及相关信息,即可在当前目录生成smartbiunionserver_keystore.jks证书文件


1、要记住这里配置的keystore证书的密码。

2、名字与姓氏,必须填写跨库服务器的主机名称,并且主机名称需要字母开头。

2)生成cer证书

通过smartbiunionserver_keystore.jks生成cer证书

# keytool -export -alias smartbiunionserver -keystore smartbiunionserver_keystore.jks -rfc -file smartbiunionserver.cer

1、alias的名字,需要和keystore证书的alias 名字一致

2、keystore 证书用第一步生成的jks证书。

3)cer证书导入jdk的受信任证书

将第二步生成的cer证书,导入到jdk的受信任证书中

# keytool -import -file smartbiunionserver.cer -alias smartbiunionserver -keystore c:\Smartbi\jdk\jre\lib\security\cacerts

1、alias的名字,需要和cer证书的alias 名字一致

2、cer证书用第2步生成的cer证书

3、jdk路径,要配置跨库联合数据源使用的jdk

4、证书导入jdk环境的密码是changeit

4)开启跨库联合数据源的https连接

修改<SmartbiUnionServer>/etc/config.properties
在config.properties中配置如下

coordinator=true
node-scheduler.include-coordinator=true
query.max-memory=2GB
query.max-memory-per-node=1GB
discovery-server.enabled=true

http-server.http.enabled=false

http-server.https.enabled=true
http-server.https.port=8443
discovery.uri=https://BI-0082:8443

http-server.authentication.type=PASSWORD
http-server.https.keystore.path=C:\\Smartbi\\SmartbiUnionServer\\etc\\smartbiunionserver_keystore.jks
http-server.https.keystore.key=manager

internal-communication.https.required=true
internal-communication.https.keystore.path=C:\\Smartbi\\SmartbiUnionServer\\etc\\smartbiunionserver_keystore.jks
internal-communication.https.keystore.key=manager
node.internal-address-source=FQDN

配置说明:

参数值参数说明
http-server.http.enabled配置为false,禁用http协议
http-server.https.enabled配置为true,开启https协议
http-server.https.port配置https端口,此处配置为8443,可以根据实际情况调整
discovery.uri

跨库联合数据源的连接url请求地址,配置为https://主机名称:https的端口.

此处必须写跨库联合数据源的服务器的主机名称,不能写ip地址。

https端口就是http-server.https.port配置的端口

http-server.authentication.type服务认证类型,此处配置为PASSWORD
http-server.https.keystore.path第1步生成的jks证书路径,建议写完整的绝对路径
http-server.https.keystore.key第1步生成的jks证书的密码
internal-communication.https.required配置为true,开启内部https连接请求
internal-communication.https.keystore.path内部连接请求证书,配置为第一步生成的jks证书路径即可,建议写完整的绝对路径
internal-communication.https.keystore.key内部连接请求证书的密码

1、此处要禁用http请求,否则无法开启账户密码认证。

5)创建密码文件

下载htpasswd文件

在windows环境,运行

# htpasswd -B -C 10 -c password.db smartbiunionserver

centos

# yum install httpd -y
# htpasswd -B -C 10 -c password.db smartbiunionserver

ubuntu

# apt-get install -y apache2-utils
# htpasswd -B -C 10 -c password.db smartbiunionserver

使用建议

建议在windows环境生成password.db文件,然后上传到Linux系统上。

Linux环境安装htpasswd 命令行工具,可能需要联网或者配置本地源。

参数说明

参数参数说明
-B强制使用bcrypt算法加密密码
-C

设置bcrypt算法的计算时间,默认是5。数值越大越安全,但是会花费更多时间,建议配置4-17

-c创建一个新的密码文件 password.db
smartbiunionserver用户名,可以自定义。

6)创建密码认证配置文件

创建<SmartbiUnionServer>/etc/password-authenticator.properties

password-authenticator.name=file
file.password-file=C:\\Smartbi\\SmartbiUnionServer\\etc\\password.db

说明:

参数参数说明
password-authenticator.name密码认证类型,配置值为file
file.password-file密码文件路径,填写上一步配置生成的password.db文件路径,建议写绝对路径

7)启动跨库联合数据源

Linux:

# nohup ./run.sh & 

windows:

# run.cmd

8)测试连接

连接url中,端口配置为之前配置的https端口,连接url后增加?SSL=true参数,具体如下图所示

输入配置的password.db配置的账户密码,即可进行连接。





  • 无标签