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


1、安装前确认 

Ø 安装包类型

——根据操作系统,CPU架构确认安装包类型,x86和arm架构的机器使用不同的安装包。

查看操作系统:

cat /proc/version

查看CPU架构:

lscpu

Smartbi适配国产化现状参考连接:{+}https://wiki.smartbi.com.cn/pages/viewpage.action?pageId=76695768+


Ø 安装包完整性

——上传是否有损坏,使用MD5 ,md5sum校验,若有损坏需要重新上传。

windows上通过md5校验码命令查看:

certutil -hashfile 需要校验的文件 MD5

示例:certutil -hashfile smartbi.war MD5

linux上查看md5校验码命令:

md5sum 需要校验的文件

示例:md5sum smartbi.war

Ø 用户权限

——所拥有权限能否将服务部署起来,

安装部署各个组件,需要的权限

组件

部署方式

部署权限要求

Smartbi

war包

普通用户

MPP

rpm包

需要root或sudo权限

UnionServer

tar包

普通用户权限,解压后直接启动就行

Export

docker镜像

需要root或sudo权限

Engine

tar包

普通用户权限,解压后直接启动就行

Spark

tar包

普通用户权限,解压后直接启动就行

python

sh脚本

普通用户权限,直接执行安装即可

hadoop

tar包

普通用户权限,解压后直接启动就行

zookeeper

tar包

普通用户权限,解压后直接启动就行

redis

tar包

普通用户权限,解压后直接启动就行

NLA

docker镜像

需要root或sudo权限

注意:以上权限后续可能由于部署方式或安装介质改变,部署权限也可能有相关调整。

2、安装过程

Ø 解压文件失败

——可能是压缩包被损坏或解压命令有误

包类型

解压工具

xxx.tar.gz

tar

xxx.zip

zip

xxx.war和xxx.jar

jar

以下情况是压缩包被损坏。

解决方法

步骤1:如果是压缩包类文件,可以在windows上,使用rar之类软件打开对应的压缩包文件,看看能不能正常打开

步骤2:如果windows上正常打开,则校验windows和linux环境的安装包的md5码,确认是否传输文件时,安装包损坏导致的问题。


Ø 安装命令行写错

——需严格按照部署文档来写

(1)linux命令行区分大小写

命令行大小写不正确,提示找不到命令行(command not found)

(2)命令行对参数敏感

提示无效的参数(invalid option)

(3)特殊字符干扰

从其他地方复制命令行时,有乱码或多、少复制了内容

命令行写错了(拼写,大小写,空格,特殊字符,参数不正确)

注意:命令行里面的特殊字符,也要注意区分会不会是中文的字符(全角\半角字符区别)

示例:

命令行如果是从其他地方复制过来的,空格的地方可能有特殊字符

可以使用 notepad++ 工具来检查文本内容

(4)没有进入到对应的部署目录来执行命令

应该进入命令所在的目录下再调用

Ø 启动前检查配置文件

各组件的常用配置文件

组件

配置文件


tomcat

config/server.xml      

# 主要配置端口
bin/setenv.sh   # 配置启动环境变量
bin/startup.sh      # 启动脚本

Smartbi

smartbi-config.xml   

# config界面信息配置

mpp

/etc/clickhouse-server/config.xml   


/etc/clickhouse-server/user.xml

联合跨库查询

run.sh   

# 启动脚本
etc/config.properties    # 配置端口和配额信息

OLAP

application.properties  

# 主要配置端口

mysql

/etc/my.cnf      

# 主要配置文件

建议:记住服务启动前修改了哪些文件或者配置?

Ø 关闭防火墙和selinux

查看防火墙状态(注意:有些客户可能不让我们去操作防火墙,可以让客户去确认是否关闭防火墙或开放相应端口)

查看状态:

systemctl status firewalld

停止防火墙:

systemctl stop firewalld

永久停止防火墙:

systemctl disable firewalld

查看selinux状态:

getenforce

注意:服务启动完成,netstat查看有相应的端口信息,就有可能是防火墙阻止了访问。

Ø 安装过程日志

一般是安装过程报错信息会直接显示在shell终端上,具体报错具体分析。

需要经过安装过程的组件有:clickhouse,导出引擎,高性能版本部署。

其余都是解压后,做好配置直接启动。


Ø 缺少依赖(主要是mpp)

解决办法:添加缺少mpp的依赖包,安装之前先安装依赖包。

安装依赖命令示例:rpm -ivh  libicu-50.2-3.el7.x86_64.rpm

3、启动过程

Ø 启动报错,分析日志。

启动失败定义:执行启动命令后 ,对应的进程没有正常启动

所有应用,启动时,都是读取配置文件来启动的。


建议:想一下服务启动前修改了哪些文件或者配置?


检测进程和端口方法:

检查进程:ps -ef|grep 服务名称

检查端口:netstat -nap|grep 服务端口

对应的服务名称和端口根据具体组件来定,wiki文档上都有提及到。

 

小技巧:一般建议找第一个或最后一个错误


日志路径一般在安装目录的logs文件夹内,具体可以参考各个组件的安装部署文档说明。

组件名称

日志路径

tomcat

tomcat/logs/catalina.out

mpp

/var/log/clickhouse-server

导出引擎

smartbi-export/logs/

联合跨库查询

smartbi-unionserver/var/log/server.log

olap

smartbi-olap/smartbiolap_console.log

数据挖掘

martbi-engine/logs/service.log
smartbi-engine/logs/experiment.log

根据报错定位问题:

导出引擎启动失败:selinux没有关闭

Ø 内存或磁盘不足

查看内存和磁盘情况(内存和磁盘使用容量达到一定瓶颈就可能无法安装或启动起来)

导出引擎启动失败:磁盘空间不足

Ø 配置文件不正确

安装过程需要检查,若启动过程出错,还需要再次检查,回想自己曾做过什么配置。

Ø 服务器端口被占用

例如部署tomcat时,端口冲突报错显示:地址已在使用或 address is already in use

下面的是联合跨库查询的地址冲突报错。

解决办法:

方法1:停止占用端口的应用服务

方法2:更改对应组件服务的默认端口,根据不同组件的相应配置文件来修改端口。

4、访问过程(无法访问)

Ø 检查防火墙

——若服务正常,则要去确认是否开启了相应的端口。

安装过程配置过防火墙,如果无法访问再次确定是否配置正确。

Ø 确认是否启动成功

确认端口信息:netstat -lntup    # 有端口信息,却无法访问,确认是否有端口映射情况

Ø 确认连接信息

url写错:端口写错,或者ip地址、域名写错

 

确认IP地址:ifconfig

客户环境可能会有内网和外网环境之分,浏览器访问使用外网地址访问,Smartbi内部组件使用内网地址访问。


Ø 测试连通性

各模块若没有部署在同一个服务器,则要通过ping命令检查连通性

ping 另外一台部署服务器,ping不通,说明不在同一个网络中,无法实现组件连接。

使用telnet来检查对应地址和服务端口来验证服务互通。出现最后一种情况就是互通的。

Ø proxy测试分发,一直分发到同一个地址。

解决办法:我们的proxy是轮询模式,第一个请求访问到第一个节点,第二个请求访问到第二个节点。应该重新开一个浏览器或无痕模式来测试第二个请求。

Ø 会话冲突,无法登录config界面

同一个浏览器使用两个相同的URL登录可能会引起会话冲突,导致无法登录。
解决办法:换一个浏览器或使用无痕模式就可以顺利登录成功。

5、知识库问题

Ø 知识库权限不够

当权限不够就会在创建知识库过程出现这样的报错。

解决办法:给予数据库相应的权限。

注意:mysql作为知识库需要(SELECT,UPDATE,DELETE,CREATE,DROP,INSERT,ALTER,INDEX,REFERENCES权限)

Ø 没有远程连接权限

没有权限就会出现这样的报错。如果不是我们部署,则要更客户确认。

解决办法:添加远程连接权限,如果不是我们部署则要跟客户确认是否开启了远程连接。

开启远程连接命令示例:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;

Ø 字符集不正确

问题原因:知识库实际字符集编码和Smartbi config页面的配置的知识库字符集编码不一致导致。

解决方案:Smartbi可以支持GBK和UTF-8字符集编码。建议新创建一个指定GBK或UTF-8字符集编码的空库,在Smartbi config页面配置和知识库一致的字符集编码,然后再重新启动Smartbi。

6、数据迁移失败

Smartbi迁移环境:

建议迁移前备份知识库(使用Smartbi自带的备份知识库功能,如果可以,建议使用数据库工具再备份一次)

新环境使用一样的war包部署,空库启动

最后再使用恢复知识库功能,把刚刚备份的知识库还原回去

7、Smartbi问题

此处为组件单独出现的问题汇总,先按照上述的1-5点排查后再对照此部分。后期逐步完善


8、MPP问题

此处为组件单独出现的问题汇总,先按照上述的1-5点排查后再对照此部分。后期逐步完善

Ø 日志目录权限不够

如下图所示,如果使用service clickhouse-server start启动SmartbiMPP,提示UNKNOWN。此时SmartbiMPP启动失败。但是查看/var/log/clickhouse-server/clickhouse-server.err.log又没有日志输出。

原因:/var/log/clickhouse-server/目录的日志文件不是clickhouse用户权限,所以启动SmartbiMPP时,没权限写日志导致启动失败。

处理方法:给日志目录赋予clickhouse的权限

# sudo chown -R clickhouse:clickhouse /var/log/clickhouse-server

# sudo service clickhouse-server start



Ø 系统不支持ipv6

日志报错如下图所示。

原因:有些公司可能做了限制,系统不允许ipv6地址访问。

解决办法:手工修改/etc/clickhouse-server/config.xml的监听地址,屏蔽ipv6地址。

9、导出引擎问题

此处为组件单独出现的问题汇总,先按照上述的1-5点排查后再对照此部分。后期逐步完善

10、联合跨库问题

此处为组件单独出现的问题汇总,先按照上述的1-5点排查后再对照此部分。后期逐步完善

11、数据挖掘问题

此处为组件单独出现的问题汇总,先按照上述的1-5点排查后再对照此部分。后期逐步完善Ø 

Ø 内存不足导致部署失败


解决思路:

1、使用free -h 查看内存情况,然后使用top来定位哪一个进程占用内存较多。

2、删除占用内存高的进程(若是Smartbi占用内存高,去查看setenv.sh文件配置的内存是否过高)或添加主机的内存。

  • 无标签