页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

Smartbi UnionServer是一个分布式SQL查询引擎,处在Smartbi的SQL引擎层,为不同的数据源提供统一的SQL解析、跨库查询能力。UnionServer是一个分布式SQL查询引擎,处在Smartbi的SQL引擎层,为不同的数据源提供统一的SQL解析、跨库查询能力。

安装部署

目录

1、单机部署

1.1 安装SmartbiUnionServer

安装前准备:

修改/etc/hosts的配置,添加主机名和ip地址的映射。

关闭防火墙。

1)CentOS

1、设置系统环境

① 关闭防火墙。

CentOS 6.X/Redhat 6.X

代码块
linenumberstrue
service iptables stop
service ip6tables stop
chkconfig iptables off
chkconfig ip6tables off
2)CentOS

CentOS 7.X/Redhat 7.X

代码块
languagebash
linenumberstrue
# 临时关闭防火墙(立即生效)
systemctl stop firewalld
# 永久关闭防火墙(重启后生效)
systemctl disable firewalld
# 查看防火墙状态
systemctl status firewalld
解压缩。

②关闭Selinux

代码块
linenumberstrue
#临时关闭selinux
setenforce 0
#永久关闭Selinux,需要重启服务器生效
sed -i 's/=enforcing/=disabled/g'  /etc/selinux/config

2、安装Smartbi-UnionServe

上传SmartbiUnionServer.tar.

gz到linux服务器,并执行以下命令:

gz到服务器,并解压到/opt目录。

代码块
linenumberstrue
#
tar -zxvf SmartbiUnionServer.tar.gz
1.2
 -C /opt

3、 修改配置文件

1)JVM配置

通过修改启动文件可以设置JVM的最大内存、GC等参数。

Linux的启动文件是安装目录下的run.sh。

在启动服务之前,需要根据服务器的实际物理内存大小,修改JVM的默认最大内存,如下:

Linux下,修改run.sh中的-Xmx参数,默认的最大内存值为8G,可根据服务器实际配置进行情况填写:

代码块
linenumberstrue
#!/bin/bash PRG="$0" PRGDIR=`dirname "$PRG"`
cd
$PRGDIR Current_Dir=$(cd `dirname $0`; pwd) PRESTO_SERVER=$Current_Dir JAVA_OPTS="-server -Xmx8G -XX:+UseG1GC -XX:G1HeapRegionSize=32M -XX:+UseGCOverheadLimit -XX:+ExplicitGCInvokesConcurrent -XX:+HeapDumpOnOutOfMemoryError -XX:+ExitOnOutOfMemoryError" nodeID="ffffffff-ffff-ffff-ffff-ffffffffffff" nodeEnvironment="production" $PRESTO_SERVER/jdk_linux/bin/java $JAVA_OPTS \
 
-cp "$PRESTO_SERVER/lib/*:../target/*" \ -Dlog.output-file=$PRESTO_SERVER/var/log/server.log \ -Dnode.data-dir=$PRESTO_SERVER/data \ -Dnode.id=$nodeID \ -Dnode.environment=$nodeEnvironment \ -Dlog.enable-console=true \ -Dlog.levels-file=$PRESTO_SERVER/etc/log.properties \ -Dconfig=$PRESTO_SERVER/etc/config.properties \ -Djava.security.egd=file:/dev/./urandom \ smartbix.presto.Server

2)参数配置

参数配置文件放在etc目录下,单机部署只需要修改config.properties。

单机部署时,config
/opt/SmartbiUnionServer

在启动服务之前,需要根据服务器的实际物理内存大小,修改JVM的默认最大内存,如下:

修改run.sh中的-Xmx参数,默认的最大内存值为8G,可根据服务器实际配置进行情况填写:

Image Added

2)参数配置

参数配置文件放在/opt/SmartbiUnionServer/etc目录下,需要修改config.properties。

config.properties的基本配置信息如下:

代码块
linenumberstrue
coordinator=true
node-scheduler.include-coordinator=true
http-server.http.port=48080
query.max-memory=2GB
query.max-memory-per-node=1GB
discovery-server.enabled=true
discovery.uri=http://0.0.0.0:48080

参数说明如下:

配置项

说明

http-server.http.port

设置presto的端口,默认为48080,启动时如果端口冲突,需要修改。

query.max-memory

设置单条查询语句最大使用内存,默认为2GB。

query.max-memory-per-node

设置单条查询语句在每个节点上的最大使用内存,默认为1GB。

discovery.uri

设置Smartbi UnionServer的url,默认为http://0.0.0.0:48080,其中0.0.0.0表示本机地址,48080表示端口,必须与http-server.http.port保持一致。

3)日志级别配置

日志级别配置文件放在etc目录下log.propertes。

日志级别配置文件放在/opt/SmartbiUnionServer/etc目录下log.propertes,默认日志级别为INFO。

代码块
linenumberstrue
com.facebook.presto=INFO

日志级别可以选择:DEBUG、INFO、WARN和ERROR,其中DEBUG的日志级别最高,输出的日志最多,ERROR的日志级别最低,输出的日志最少。

1.3 服务起停

1)启动服务

启动服务

4、运维操作

4.1、启动Smartbi-UnionServer

赋予启动脚本可执行权限

代码块
linenumberstrue
cd /opt/SmartbiUnionServer
chmod +x run.sh

给jdk赋予可执行权限:

代码块
linenumberstrue
chmod +x -R jdk_linux/
启动Presto服务有两种方式:

启动SmartbiUnionServer服务有两种方式:

代码块
linenumberstrue
# 前端启动方式,日志信息直接打印在屏幕上,多用于调试
sh run.sh

# 后台启动方式,启动日志存放在var/log/server.log
nohup 
sh
./run.sh > /dev/null 2>&1 &

使用前端方式启动presto时,当看到屏幕打印信息:

 ======== SERVER STARTED ========,说明服务启动成功。

Image Modified

如果提示Address already in

use,说明端口冲突了,需要修改etc

use,说明端口冲突了,需要修改/opt/SmartbiUnionServer/etc/config.properties里的端口,然后重启SmartbiUnionServer。

Image Modified

使用后台方式启动SmartbiUnionServer时,如果使用后台启动,可以使用ps -ef | grep SmartbiUnionServer查看SmartbiUnionServer进程是否存在,如果存在,则启动成功。如下图所示。

Image Modified

如果进程不存在,可以查看var

如果进程不存在,可以查看/opt/SmartbiUnionServer/var/log/server.log,查看报错信息。如果提示Address already in

use,说明端口冲突了,需要修改etc

use,说明端口冲突了,需要修改/opt/SmartbiUnionServer/etc/config.properties里的端口,然后重启presto。

Image Modified

2)停止服务

  • Linux停止服务
通过命令ps

4.2、停止SmartbiUnionServer

通过命令:ps -ef | grep SmartbiUnionServer

查到SmartbiUnionserver的进程号:

Image Modified

然后使用kill -9 <进程号>命令杀掉SmartbiUnionserver进程。

1

4.

4 设置开机启动

3、设置开机启动

Linux部署SmartbiUnionServer开机启动设置方式:

4.3.1方法一:

Centos6.x
1)赋予脚本可执行权限(

①赋予脚本可执行权限(/opt/SmartbiUnionServer/run.sh是SmartbiUnionServer的脚本路径)

#chmod

代码块
linenumberstrue
chmod +x /opt/SmartbiUnionServer/run.sh
2)在

②在/etc/rc.d/rc.local文件末尾增加添加SmartbiUnionServer的脚本启动命令,保存退出

#vi

代码块
linenumberstrue
vi /etc/rc.d/rc.local
nohupsh

#添加以下启动命令
nohup sh /opt/SmartbiUnionServer/run.
sh>
sh > /dev/
null2>
null 2>&1 &

Image Modified

3)设置完成。


Centos7.x
1)赋予脚本可执行权限(

① 赋予脚本可执行权限(/opt/SmartbiUnionServer/run.sh是SmartbiUnionServer的脚本路径)

#chmod
代码块
linenumberstrue
chmod +x /opt/SmartbiUnionServer/run.sh
2)在

② 在/etc/rc.d/rc.local文件末尾增加添加SmartbiUnionServer的脚本启动命令,保存退出

#vi

代码块
linenumberstrue
vi /etc/rc.d/rc.local
nohupsh

#添加以下启动命令
nohup sh /opt/SmartbiUnionServer/run.
sh>
sh > /dev/
null2>
null 2>&1 &

Image Modified

3)在centos7中,

③ 在centos7中,/etc/rc.d/rc.local的权限被降低了,所以需要执行如下命令赋予其可执行权

#chmod

代码块
linenumberstrue
chmod +x /etc/rc.d/rc.local

4)设置完成


Suse12

1)赋予脚本可执行权限(

① 赋予脚本可执行权限(/opt/SmartbiUnionServer/run.sh是SmartbiUnionServer的脚本路径)

#chmod

代码块
linenumberstrue
chmod +x /opt/SmartbiUnionServer/run.sh
2)在

② 在/etc/rc.d/after.local文件末尾增加添加SmartbiUnionServer的脚本启动命令,保存退出

#vi

代码块
linenumberstrue
vi /etc/rc.d/after.local
nohupsh

#添加以下启动命令
nohup sh /opt/SmartbiUnionServer/run.
sh>
sh > /dev/
null2>
null 2>&1 &

Image Modified

3)给

③ 给/etc/rc.d/after.local添加执行权限

#chmod
代码块
linenumberstrue
chmod +x /etc/rc.d/after.local

4)设置完成

1.5 日志文件

4.3.2 方法二

进入/etc/init.d目录,创建unionserver启动配置文件

代码块
linenumberstrue
vi /etc/init.d/unionserver

配置参考如下:

代码块
languagebash
linenumberstrue
#!/bin/bash
# chkconfig: 345 80 20
# description: start the unionserver deamon
#
# Source function library
. /etc/rc.d/init.d/functions

prog=unionserver
UNIONSERVER_HOME=/home/smartbi/SmartbiUnionServer/  #注意替换成实际的smartbi unionserver路径
export UNIONSERVER_HOME

case "$1" in
start)
    echo "Starting unionserver..."
    $UNIONSERVER_HOME/run.sh &
    ;;

stop)
    echo "Stopping unionserver..."
    kill -9 $(ps -ef | grep SmartbiUnionServer | grep jdk_linux | awk '{print $2}')
    ;;

restart)
    echo "Stopping unionserver..."
    kill -9 $(ps -ef | grep SmartbiUnionServer | grep jdk_linux | awk '{print $2}')
    sleep 2
    echo
    echo "Starting unionserver..."
    $UNIONSERVER_HOME/run.sh &
    ;;

*)
    echo "Usage: $prog {start|stop|restart}"
    ;;
esac
exit 0

设置开机启动

代码块
linenumberstrue
chmod +x /etc/init.d/unionserver    #添加执行权限
chkconfig unionserver on            #添加到开机启动
chkconfig --list                    #查看开机启动服务列表


5、日志文件

SmartbiUnionServer 的日志路径:<SmartbiUnionServer >/var/log/server.log。

如果出现启动失败时,可以通过分析日志来判断问题点。

1.6 版本更新

6、版本更新

1)停止现有的SmartbiUnionServer服务:

代码块
linenumberstrue
# ps -ef| grep SmartbiUnionServer
# kill -9 进程id

2)升级

备份原来的SmartbiUnionServer/plugin目录

代码块
linenumberstrue
# mv plugin pluin_back
复制第一步解压出来的SmartbiUnionServer

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

代码块
linenumberstrue
# cp -r <SmartbiUnionServer新版本>/plugin <SmartbiUnionServer旧版本>/plugin

② 备份原来的SmartbiUnionServer/lib目录

代码块
linenumberstrue
# mv lib lib_back

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

代码块
linenumberstrue
# cp -r <SmartbiUnionServer新版本>/lib <SmartbiUnionServer旧版本>/lib

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

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

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

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

3)启动

代码块
linenumberstrue
# nohup ./run.sh & 

4)测试验证

使用smartbi连接跨库联合数据源,验证回归bug。

面板
borderColor#BBBBBB
bgColor#F0F0F0
borderWidth1
borderStylesolid
目录maxLevel4

使用 Smartbi 连接跨库联合数据源验证,详情请参考 跨库联合数据源