Smartbi手工部署集群教程

Smartbi手工部署教程

我们要做的就是创建三台虚拟机,一台用作代理服务器,另外两台作为服务器,最后的效果是,我们访问代理服务器,然后代理服务器进行任务分配,调度两台服务器进行工作,代理服务就像是一个接口,后面连接着两台服务器为我们工作,当然也可以是更多台,而我们只需访问代理服务器就行了。而大体的实现方式就是先配置好一个服务器,然后对它进行克隆再修改一下,可以提高效率。

1、 部署知识库

1.1、设置系统环境

1.1.1、取消打开文件数限制
  1. 在/etc/security/limits.conf 文件的末尾加入以下内容:
  • 打开文件
vim /etc/security/limits.conf 
  • 输入内容
* soft nofile 65536
* hard nofile 65536 
* soft nproc 131072 
* hard nproc 131072

1.2、查找本机安装包是否有mariadb

sudo rpm -qa|grep mariadb
  • 如果有,则卸载掉(注意改命令行文件的名字,查找出有几个就卸载掉几个,卸载干净)
sudo rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

示例图片

1.3、部署mysql

1.3.1、创建mysql用户和组
sudo groupadd mysql
sudo useradd -r -M -s /sbin/nologin mysql -g mysql
1.3.2、上传安装包,并解压到/data目录

虚拟机用户上传: 若是有图形界面的Linux,则使用root账号登录,安装VMware tools即可拖拽文件;若是无图形界面的Linux,则将虚拟机磁盘映射到本地卷,把资料复制到映射目录,则可以在Linux里使用文件。
非虚拟机用户(即部署在服务器,本方法基本万能):推荐安装finalhell,使用root账号登录(其他账号不一定有文件操作权限),即可在操作界面对实例进行文件管理,有些账号只能对用户文件夹进行操作,则可以先把文件上传到那,再用命令行进行操作。

  • 如果是在虚拟机直接解压的,可以在根目录下自行创建一个data文件夹。
sudo tar -zxvf mysql-5.7.25-el7-x86_64.tar.gz -C /data/
1.3.3、修改用户权限,并创建软连接(注意改命令行文件的名字)
sudo chown -R mysql:mysql mysql-5.7.25-el7-x86_64/
sudo ln -s /data/mysql-5.7.25-el7-x86_64/ /usr/local/mysql
1.3.4、添加mysql到系统环境变量
  • 修改/etc/profile,在最后一行添加
export PATH=$PATH:/usr/local/mysql/bin 
  • 保存退出后,source 文件,让设置立即生效。
sudo source /etc/profile
1.3.5、初始化数据库
cd /usr/local/mysql
sudo ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
  • PS:必须在 mysql 根目录安装 mysql,否则出错。如下图所示,安装完注意最后一行,会提示生成一个临时的 root@localhost 密码,记住密码,后面会用到。
    示例
  • 修改mysql配置文件,如果不存在则创建一个my.cnf
sudo vi /etc/my.cnf
  • 内容如下:
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
tmpdir=/usr/local/mysql/data
socket=/tmp/mysql.sock
character_set_server=gbk
log-error=/var/log/mysqld.log
port=3306
max_connections=500
max_allowed_packet=200M
innodb_buffer_pool_size=512M
innodb_log_file_size=128M
lower_case_table_names=1
  • 再次进入: cd /usr/local/mysql(必须在这个目录下操作)
  • 依次执行:
sudo cp -a ./support-files/mysql.server /etc/init.d/mysqld 
cd bin/
sudo ./mysqld_safe --user=mysql & 
sudo /etc/init.d/mysqld restart
1.3.6、重置密码

使用刚才初始化时提示的临时密码登录 mysql

sudo mysql -uroot -p

输入第 5 步初始化数据库的 root@localhost 的临时密码,登录 mysql,重新设置密码。

mysql> SET PASSWORD = PASSWORD('新的密码');
mysql> flush privileges;
1.3.7、开启mysql远程连接
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '远程连接的密码' WITH GRANT OPTION;
mysql> flush privileges;
1.3.8创建数据库smartbi
mysql> create database smartbi default charset gbk;
1.3.9设置开机启动mysql
chkconfig --level 35 mysqld on

2、部署smartbi

2.1、安装jdk

解压到指定目录

 tar-zxvf  jdk-8u181-linux-x64.tar.gz –C /opt

添加环境变量

vi /etc/profile

在最底下添加下面内容(注意改路径名字):

export JAVA_HOME=/opt/jdk1.8.0_181
export JAVA_BIN=$JAVA_HOME/bin
export CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_BIN

2.2、安装Tomcat

2.2.1解压tomcat
tar –zxvf apache-tomcat-7.0.94.tar.gz –C /opt
2.2.2配置 tomcat 的启动参数

如下面格式,在/bin/catalina.sh文件中添加JAVA_HOME( #注意替换成实际的JAVA路径),JRE_HOME,CATALINA_HOME(#注意替换成实际的Tomcat目录路径),JAVA_OPTS 等参数的配置。

  • 代码放置的位置:
    在这里插入图片描述
export JAVA_HOME="/opt/jdk1.8.0_181"
export JRE_HOME="$JAVA_HOME/jre"
export CATALINA_HOME="/data/smartbi/apache-tomcat-7.0.94"
export JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=GBK -Duser.region=CN -Duser.language=zh -Djava.awt.headless=true -Xms8192m   -Xmx8192m -XX:MetaspaceSize=512m  -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError "

2.3、上传war包

将smartbi.war 包复制到/webapps 目录下。

2.4、启动tomcat

运行/bin/startup.sh命令,启动Tomcat服务器。(到bin目录下执行 ./startup.sh)
浏览器访问:<ip>:8080,检查是否可以连接,若无法连接,则开放8080端口或关闭防火墙,学习咱们在学习练习阶段时直接建议关闭防火墙以及关掉它的自启,比较省事。但在实际项目部署时则要注意兼顾安全性。

systemctl stop firewalld     #停止firewall
systemctl disable firewalld     #禁止firewall开机启动

设置tomcat开机自动启动:
1、修改/etc/rc.d/rc.local,使用vi /etc/rc.d/rc.local 命令
2、在/etc/rc.d/rc.local文件最后添加下面两行脚本

export JAVA_HOME=/usr/local/jdk1
/usr/local/tomcat/bin/startup.sh start
/usr/local/jdk 为本机jdk安装目录 
/usr/local/tomcat/bin/startup.sh  为本机tomcat安装的目录

3、修改rc.local文件为可执行,如:chmod +x rc.local

4、reboot重启之后,lsof -iTomcat端口号 查看是否存在

https://blog.csdn.net/tiger199/article/details/85697736

2.5、配置smartbi

等待tomcat启动完成后,登录到Smartbi配置页面,设置知识库连接信息,配置license服务器连接等。

详细配置文档,请参考Wiki文档(配置Smartbi):

https://wiki.smartbi.com.cn/pages/viewpage.action?pageId=47490470

上传licence文件,还有配置知识库(连接数据库)
在这里插入图片描述

2.6、重启Smartbi

配置完成后,再重启 Tomcat 服务器。
重启方法:

https://blog.csdn.net/qq_41076797/article/details/90573016

2.7、Tomcat服务器配置https

  • 在有些情况下,需要对smartbi部署https访问,提高安全性。而部署https是需要SSL证书的。通常情况下SSL证书需要向CA公司购买,但平时我们有时候也需要在自己电脑上部署https进行测试。那么我们可以采取一些方法,去生成一个自签SSL证书来使用。
    生成自签SSL证书步骤Wiki有详细介绍(Tomcat服务器配置https):

https://wiki.smartbi.com.cn/pages/viewpage.action?pageId=52629588

需要注意的就只是:
在这里插入图片描述

  • 把这个路径修改成Linux里路径,后面生成的文件的文件名最好就用tomcat.keystore,即使已经配置了Java环境,也最好进入到于Java\jdk1.8.0_121\bin的目录下,去执行命令,免得出错(一些人因为这个小细节卡了好久)。
    还有如果使用https协议的话,记得用8443端口。
    在这里插入图片描述
    剩下的只需要紧跟Wiki文档做应该就没啥问题了。

3、Tomcat(Smartbi_proxy) 集群配置

3.1、集群配置前提(主要是分配静态IP)

  • 集群中的所有 Server 服务器日期和时间必须一致,否则同步会存在问题。
  • 集群中的所有 Server 必须位于同一网段,并且必须是 IP 广播(UDP)可到达的。
    集群中的所有 Server 必须使用永久的静态 IP 地址,动态分配 IP 地址不能用于集群环境。(此处需要对虚拟机分配静态IP地址:

[https://blog.csdn.net/li93675/article/details/81175883?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161553402716780274169131%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=161553402716780274169131&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-81175883.first_rank_v2_pc_rank_v29&utm_term=%E8%99%9A%E6%8B%9F%E6%9C%BA%E9%85%8D%E7%BD%AE%E9%9D%99%E6%80%81IP%E5%9C%B0%E5%9D%80]

  • 上述教程所说的网卡的目录在/etc/sysconfig/network-scripts/,如果你跟我用的是同一个镜像的话,它的文件名就是ifcfg-eno16777736。不是的话,则可输入ifconfig进行查看,往往第一就是。
    输入命令编辑网卡:vim /etc/sysconfig/network-scripts/ifcfg-eno16777736
    在这里插入图片描述
TYPE="Ethernet"
BOOTPROTO="static"
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
NAME="eno16777736"
UUID="21368646-b761-4e52-a43f-5dff56045934"
DEVICE="eno16777736"
ONBOOT="yes"
IPADDR="192.168.1.22"
NETMASK="255.255.255.0"
NM_CONTROLLED="no"
GATEWAY="192.168.1.2"

3.2、服务器克隆

  • 前面我们已经基本配置完一个服务器,可以基于这个服务器进行克隆,就可以省去上面的许多步骤,只需要修改网卡IP和tomcat的一些配置(克隆出来的代理服务器和服务器都要修改),如下图。与另外的服务器形成区别就行。我们以一台配置好的服务器为父本,再克隆两台服务器出来,这两台的其中一台作为服务器,一台则作为代理服务器。
    注意:克隆前请先关闭虚拟机再进行克隆!不然可能会出错
    输入命令编辑网卡:vim /etc/sysconfig/network-scripts/ifcfg-eno16777736
    输入命令编辑server.xml:vim /data/smartbi/apache-tomcat-8.5.34/conf/server.xml
    在这里插入图片描述
    在这里插入图片描述
    修改IP即可。

3.3、集群配置

参考Wiki文档(Tomcat(Smartbi_proxy) 集群配置):

https://wiki.smartbi.com.cn/pages/viewpage.action?pageId=44499134

3.4、注意事项

(1) 关于集群配置
40000端口为Smartbi通信端口,配置时请确保服务器防火墙已关闭或者40000端口已开放。
在这里插入图片描述
(2) 两个服务器之间不能同步刷新
情况: 在配置集群后,测试出现资源目录不能同步刷新的情况。
问题分析: 可能是服务器知识库配置不准确,很有可能使用的为localhost:port的知识库配置(此种情况下两个服务器都使用各自本地的一个知识库,所以不能实现资源同步刷新)
在这里插入图片描述
解决方法: 将两个服务器的知识库修改为同一服务器上的MySQL数据库即可。例如192.168.1.23和192.168.1.22两台服务器的知识库的服务器地址都设置为192.168.1.22。
在这里插入图片描述

附录:

  1. Linux(CentOS7)安装Tomcat与设置Tomcat为开机启动项(tomcat8为例) https://www.jb51.net/article/172783.htm#_label1
  2. Linux下安装firefox最新版 https://www.cnblogs.com/freeweb/p/4568463.html
  3. Tomca重启方法: https://blog.csdn.net/qq_41076797/article/details/90573016
  4. #开启8080端口 firewall-cmd --zone=public --add-port=8080/tcp --permanent
    #查询端口号8080是否开启 firewall-cmd --query-port=8080/tcp
    #重启防火墙 firewall-cmd --reload
    #查看开放端口列表 firewall-cmd --list-port
    #命令含义
    –zone #作用域
    –add-port=8080/tcp #添加端口,格式为:端口/通讯协议
    –permanent #永久生效,没有此参数重启后失效
    #关闭防火墙 systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动
    设置tomcat开机自启(若不设置则每次重启服务器都需手动开启tomcat):
    https://blog.csdn.net/tiger199/article/details/85697736
  5. 虚拟机 CentOS7/RedHat7/OracleLinux7 配置静态IP地址 Ping 物理机和互联网 https://blog.csdn.net/sishen47k/article/details/88216738
  6. 虚拟机配置静态ip地址(俗称固定ip地址) https://blog.csdn.net/li93675/article/details/81175883?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161553402716780274169131%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=161553402716780274169131&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-81175883.first_rank_v2_pc_rank_v29&utm_term=%E8%99%9A%E6%8B%9F%E6%9C%BA%E9%85%8D%E7%BD%AE%E9%9D%99%E6%80%81IP%E5%9C%B0%E5%9D%80
  7. linux常用命令:创建文件和文件夹 https://www.cnblogs.com/yunliu0603/p/10130489.html ```
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值