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

正在查看旧版本。 查看 当前版本.

与当前比较 查看页面历史

« 前一个 版本 41 下一个 »

Smartbi数据挖掘介绍

1、数据挖掘整体架构图

2、数据挖掘节点具体说明

1)实验引擎

主要负责接收smartbi 发送实验执行请求,通过解析实验定义,生成spark 计算任务或python计算任务,分别发送给spark集群或python集群。

本身并不承担计算任务,只负责计算任务的调度跟分发。

2)spark 集群

分布式计算平台,主要承担实验引擎发送过来的计算任务,其中worker实例可以横向扩展。

3)python 执行节点

python 执行环境,主要承担实验引擎发送过来的python计算任务。可以横向扩张,实验引擎会根据负责均衡策略把python计算任务分发到不同节点。

4)服务引擎

主要提供模型预测服务给第三放系统调用,可以通过smartbi proxy搭建负载均衡集群。

5)Zookeeper集群

主要用于实现实验引擎的高可用。

安装指南

1、系统环境要求

操作系统要求:

Linux操作系统平台

版本

Red Hat Enterprise Linux

推荐7.4 及以上

CentOS

推荐7.4 及以上

服务器配置建议:

组件

CPU

内存

硬盘

网络

备注

实验引擎

8核+

8G+

安装目录300G+

万兆网卡

如果资源紧张,可以跟服务引擎在同台机器

spark master

8核+

8G+

安装目录300G+

万兆网卡

如果资源紧张,可以跟其中一台spark worker同一台机器

spark worker

16核+

32G+

1T

万兆网卡

承担计算任务

python执行节点

16核+

32G+

1T

万兆网卡

承担计算任务,强烈建议最好独立机器,避免资源争用

服务引擎

8核+

8G+

安装目录300G+

万兆网卡

如果资源紧张,可以跟实验引擎在同台机器

2、部署场景

最小集群(3台机器,每台CPU 16核+,内存 32G+):

服务器IP

主机名

组件实例

192.168.137.139

smartbi-engine

实验引擎,服务引擎

192.168.137.140

smartbi-python

python执行节点

192.168.137.141

smartbi-spark

spark单节点(master+worker)

5台机器集群(每台CPU 16核+,内存 32G+):

服务器IP

主机名

组件实例

192.168.137.139

smartbi-engine

实验引擎,服务引擎

192.168.137.140

smartbi-python

python执行节点

192.168.137.141

smartbi-spark

spark master,spark worker

192.168.137.142

smartbi-spark2

spark worker

192.168.137.143

smartbi-spark3

spark worker

3、安装介质装备

SmartbiMining介质:

安装介质

文件名

JDK

jdk-8u181-linux-x64.tar.gz

Spark

spark-2.4.0-bin-hadoop2.7.tgz

SmartbiEngine

smartbi-mining-engine-bin.tar.gz

Python

Python节点安装包Anaconda3-2019.10-Linux-x86_64.sh

 

CentOS7版本:bzip2-1.0.6-13.el7.x86_64.rpm

离线插件包:plugin

4、设置系统环境

每台服务器中均需要设置系统环境。

4.1 取消打开文件数限制

修改/etc/security/limits.conf文件在文件的末尾加入以下内容:

#vi /etc/security/limits.conf

在文件的末尾加入以下内容:

soft nofile 65536

hard nofile 65536

soft nproc 131072

hard nproc 131072

4.2 关闭防火墙/SElinux

1、关闭防火墙

关闭防火墙

#systemctl stop firewalld      

禁止防火墙开机启动

#systemctl disable firewalld

查看防火墙状态

#systemctl status firewalld

2、关闭Selinux 防火墙

临时关闭selinux

#setenforce 0

永久关闭selinux防火墙(需要重启服务器生效)

#vi /etc/selinux/config

SELINUX=enforcing改成SELINUX=disabled

4.3 修改主机名-添加主机映射关系

1、修改主机名:

#hostnamectl set-hostname 新主机名

主机名不能使用下划线。

2、配置主机名和IP的映射关系

#vi /etc/hosts

内容设置,例如:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.137.139     smartbi-engine

192.168.137.140     smartbi-python

192.168.137.141     smartbi-spark

192.168.137.142     smartbi-spark2

192.168.137.143     smartbi-spark3

安装部署SmartbiMining

联系support获取相关安装包,并将安装包上传到对应的服务器中。

1、Spark安装

1.1 单节点Spark安装

1.1.1 安装JAVA

解压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

让配置生效

# source /etc/profile

#java -version

1.1.2 安装Spark

解压Spark到安装目录

#tar -zxvf spark-2.4.0-bin-hadoop2.7.tgz -C /opt

1.1.3 启动Spark

启动Spark master

#cd /opt/spark-2.4.0-bin-hadoop2.7/sbin

# ./start-master.sh -h 主机名

例如: 主机名为smartbi-spark,则执行:./start-master.sh -h smartbi-spark

启动Spark work

#cd /opt/spark-2.4.0-bin-hadoop2.7/sbin

#./start-slave.sh spark://master节点的主机名:7077 -c 配置的cpu数 -m xg 配置得的内存数(g为单位)

Work 节点最低配置为 1 核 8G 内存。 cpu 和内存比值建议为 1:8 ,即一个 cpu 配置 8G 的内存

例如:worker节点为8核,64G内存的配置,master的主机名为smartbi-spark,则执行:

# ./start-slave.sh spark://smartbi-spark:7077 -c 6 -m 48g     #2核16G留给系统

1.1.4 检查Spark

在浏览器中输入:http://master节点的ip:8080,查看集群状态,

在master节点提交任务测试进入/opt/spark-2.4.0-bin-hadoop2.7/bin目录,执行以下命令(注意将”节点的IP”替换对应的IP或主机名)

#./spark-submit --class org.apache.spark.examples.SparkPi --master spark://节点的ip:7077 /opt/spark-2.4.0-bin-hadoop2.7/examples/jars/spark-examples_2.11-2.4.0.jar 100

运行得出圆周率Pi的近似值3.14即部署成功。

1.1.5 停止Spark

#cd /opt/spark-2.4.0-bin-hadoop2.7/sbin

#./stop-all.sh

输入部署spark的节点的密码,停止spark。

查看日志

Spark的日志路径:/opt/spark-2.4.0-bin-hadoop2.7/logs

安装部署或者使用中有问题,可能需要根据日志来分析解决。

1.1.6 Spark版本更新

Spark仅作为计算节点。为了保证产品兼容性及稳定性,建议使用smartbi推荐的spark版本。目前暂时没有更新版本。

1.2 Spark集群安装

集群服务器:

机器

主机名

组件实例

192.168.137.141

smartbi-spark

spark master,spark worker

192.168.137.142

smartbi-spark2

spark worker

192.168.137.143

smartbi-spark3

spark worker

1.2.1 配置系统免密登录(集群服务器都执行)

1)生成密钥

# ssh-keygen

输入ssh-keygen后,连续按三次回车,不用输入其它信息

2)复制本机公钥到其它机器

假设当前的系统用户为root(注意,每台机器使用同一个用户来安装), 那命令如下:

# ssh-copy-id -i ~/.ssh/id_rsa.pub root@smartbi-spark

# ssh-copy-id -i ~/.ssh/id_rsa.pub root@smartbi-spark2

# ssh-copy-id -i ~/.ssh/id_rsa.pub root@smartbi-spark3

3)如果以上命令执行失败,可以手工把每个节点 ~/.ssh/id_rsa.pub的数据追加到其它节点的~/.ssh/authorized_keys文件中, 如果~/.ssh/authorized_keys不存在,可以新建一个.

4)测试是否设置成功

例如:

# ssh root@smartbi-spark

# ssh root@smartbi-spark2

# ssh root@smartbi-spark3

如果不用输入密码,表示设置成功.

1.2.2 集群安装JAVA(集群服务器都执行)

解压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

让配置生效

# source /etc/profile

#java -version

1.2.3 Spark master节点安装Spark

1)解压Spark到安装目录

#tar -zxvf spark-2.4.0-bin-hadoop2.7.tgz -C /opt

2)配置Spark从节点列表

#cd /opt/spark-2.4.0-bin-hadoop2.7/conf

#cp slaves.template slaves

# vi slaves

把所有spark worker节点的机器名加到slaves文件中,例如slaves文件内容设置如下:

smartbi-spark

smartbi-spark2

smartbi-spark3

3)配置spark-env

#cd /opt/spark-2.4.0-bin-hadoop2.7/conf

#cp spark-env.sh.template spark-env.sh

 

spark-env 配置项说明:

  • JAVA_HOME=java安装路径
  • SPARK_MASTER_IP=spark的管理节点主机名或ip
  • SPARK_MASTER_PORT=7077
  • SPARK_MASTER_WEBUI_PORT=8080
  • SPARK_WORKER_CORES=worker进程cpu数量(视现场服务器配置而定)
  • SPARK_WORKER_MEMORY=worker进程可支配内存(视现场服务器配置而定,单位:G, 例如:2G )

例如,worker节点为6核,48g内存,把2核16G留给操作系统

#vi spark-env.sh

内容设置如下:

JAVA_HOME=/opt/jdk1.8.0_181

SPARK_MASTER_IP=smartbi-spark

SPARK_MASTER_PORT=7077

SPARK_MASTER_WEBUI_PORT=8080

SPARK_WORKER_CORES=6

SPARK_WORKER_MEMORY=48g

4)把安装目录分发到 spark worker节点

假设当前的系统用户为root命令如下:

#scp -r /opt/spark-2.4.0-bin-hadoop2.7 root@smartbi-spark2:/opt/

#scp -r /opt/spark-2.4.0-bin-hadoop2.7 root@smartbi-spark3:/opt/

5)在Spark master节点启动Spark

# cd /opt/spark-2.4.0-bin-hadoop2.7/sbin/

#./start-all.sh

6)检验是否安装成功

在浏览器中输入:http://master节点的ip:8080, 检查集群状态,页面呈现如下:

表示安装成功。

2、安装Python节点

python节点主要用于机器学习的DBSACN算法和自定义模块的python脚本扩展。如果没有用到这两个功能模块,可以不用部署python节点。

2.1 配置基础环境

1)安装JAVA

解压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

让配置生效

# source /etc/profile

#java -version

 

2)配置本地yum源

参考文档:https://www.jellythink.com/archives/548

Centos7.4 以上,可不设置本地yum源。

2.2 安装Python主程序

1)安装依赖包

#rpm -ivh bzip2-1.0.6-13.el7.x86_64.rpm

#yum install gcc

Centos7.4 以上,无需安装依赖包。

2)配置环境变量

#vi /etc/profile

在末尾添加以下内容:

export PATH=/opt/anaconda3/bin:$PATH

# source /etc/profile

3)安装 Anaconda3并指定安装目录为/opt/anaconda3

#bash Anaconda3-2019.10-Linux-x86_64.sh -b -p /opt/anaconda3

检验是否安装成功

#python --version

Python 3.7.4   #表示安装成功

2.3 离线安装Python插件

批量安装:

#pip install --no-index --find-links=./plugin/ -r requirements.txt

requirements.txt文件可查看附件:

requirements.txt

2.4 部署引擎包

解压到安装目录

#tar -zxvf SmartbiMiningEngine-V9.5.56071.20221.tar.gz -C /opt

2.5 创建Python执行用户

创建用户

useradd mining-py

设置用户密码

passwd mining-py

把引擎安装目录所有者设置为mining-py

chown -R mining-py:mining-py /opt/smartbi-mining-engine-bin

3、安装Smartbi-engine

3.1 配置基础环境

1)安装JAVA

解压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

让配置生效

# source /etc/profile

#java -version

3.2 安装数据挖掘引擎

解压Smartbi-engine到安装目录

#tar -zxvf SmartbiMiningEngine-V9.5.56071.20221.tar.gz -C /opt

3.3 启动数据挖掘引擎

需要先启动Spark和Smartbi。

进入目录

#cd /opt/smartbi-mining-engine-bin/engine/sbin

#./experiment-daemon.sh start

#./service-daemon.sh start

3.4 重启/停止/查看数据挖掘引擎

进入目录

#cd /opt/smartbi-mining-engine-bin/engine/sbin

重启数据挖掘引擎:

#./experiment-daemon.sh restart

#./service-daemon.sh restart

停止数据挖掘引擎:

#./experiment-daemon.sh stop

#./service-daemon.sh stop

查看数据挖掘引擎:

#./experiment-daemon.sh status

#./service-daemon.sh status

3.5 数据挖掘引擎日志

数据挖掘引擎启动后,会在/opt/smartbi-mining-engine-bin目录下生成logs目录,用来保存启动的引擎日志。 

安装部署或使用中遇到问题,可能需要提供相应的日志文件来分析解决。 

3.6 数据挖掘引擎版本更新

联系support获取新版本的数据挖掘引擎安装包。 

新数据挖掘引擎安装包解压缩后;

先备份/opt/smartbi-mining-engine-bin/engine目录;

再删除/opt/smartbi-mining-engine-bin/engine目录,然后上传新的engine目录,并重启数据挖掘引擎。

数据挖掘引擎安装包版本要和smartbi的war包版本一致,更新时需要同步更新Python节点中的引擎包。

4、配置Smartbi连接Smartbi-engine

4.1 配置实验引擎地址

访问smartbi

使用浏览器打开 http://服务器ip:端口/smartbi/vision/index.jsp

系统运维--系统选项--引擎设置

修改完测试引擎地址和服务地址,点解测试引擎连接和测试服务连接,如果都弹出成功提示框,表示配置成功,然后点击保存。

4.2 设置实验引擎/服务引擎连接smartbi的配置项

实验引擎:

系统运维--系统选项--执行引擎--引擎配置。如下图所示:

服务引擎:

系统运维--系统选项–服务引擎

4.3 设置实验引擎连接Python执行节点配置项

系统运维--系统选项--执行引擎--引擎配置。如下图所示:

4.4 设置实验引擎连接Spark

浏览器访问spark master webui, 访问地址:http://sparkmaster安装机器ip:8080, 比如spark master安装在192.168.137.141机器,那访问地址就是: http://192.168.137.141:8080

访问后,显示如下,第一个框是指spark master连接地址,第二个框是指spark可分配的cpu核数,第三个框指spark可分配的内存数.

系统运维—系统选项—执行引擎—计算节点配置

如下图所示,重点配置红框地方,第一个框填写spark master连接地址,其它选项配置策略推荐如下(某种场景下,这并不是最优策略,可根据实际情况调整):

1.executor.instances * executor.memory <= spark可分配的内存数 * 0.75(例如上图: 48G * 0.75 = 36)

2.executor.instances * executor.cores <= spark可分配的cpu核数 * 0.75(例如上图: 6核 * 0.75 = 4)

3.cores.max = executor.instances * executor.cores

默认情况下,executor.memory 配置为8G,除非总的内存比8G还小,根据上面策略,其它选项配置如下

executor.instances = spark可分配的内存数 * 0.75 / executor.memory = 48 * 0.75 / 8 = 4

executor.cores  = spark可分配的cpu核数 * 0.75 / executor.instances = 6 * 0.75 / 4 = 1

cores.max = executor.instances * executor.cores = 4 * 1 = 4

5、测试Smartbi-engine

5.1 测试Smartbi-Engine-Experiment服务

1)打开数据挖掘-案例-选择一个案例,打开。

2)保存数据挖掘实验,运行数据挖掘,运行成功即数据挖掘实验部署成功。

5.2 测试Smartbi-Engine-Service服务

1)打开数据挖掘-案例-窃漏电预测。

2)保存示例,点击运行,等待运行成功。

3)右键点击”训练”-模板-保存模型。

4)保存的的模型可以在左侧导航栏的”已训练模型”中查看。右键删除”随机森林”,”训练”。

5)将保存的示例模型拖入,并与”预测连线”。

6)导航栏-服务-拖入 服务输入、服务输出,并连线,运行成功后点击部署服务。

7)服务部署成功后选择服务测试,显示测试结果。

Smartbi-Engine-Service部署测试成功。

5.3 测试Python节点

1)打开 数据挖掘 > 新建实验

2)拖拽“示例数据源”,选择数据源 - 保存 - 运行 - 运行成功。

3)拖拽PYTHON脚本,与示例数据源连线,点击Python脚本。

4)点击确定。

5)点击运行,提示运行成功,则Smartbi-mining-pynode部署成功。

 

  • 无标签