sqlflow安装教程

有关如何在您自己的服务器上安装 SQLFlow 的说明。

SQLFow 由两部分组成:前端和后端。前端和后端可以安装在同一台服务器上,也可以分别安装在两台不同的服务器上。

先决条件

  • SQLFlow 本地版本
  • 至少有 8GB 内存的 linux 服务器(推荐使用 ubuntu 20.04)。
  • 爪哇 8
  • Nginx 网络服务器。
  • 需要打开端口。(80, 8761,8081,8083。如果你设置了下面提到的nginx反向代理,只需要打开80端口)

安装环境(以 Ubuntu 为例)

sudo apt-get update
sudo apt-get install nginx -y
sudo apt-get install default-jre -y	

中央操作系统

苹果

视窗

上传文件

创建一个目录:

#必须从根路径开始创建
sudo mkdir -p /wings/sqlflow

将包含后端和前端文件的 zip 文件上传到sqlflow文件夹,然后像这样解压缩:

解压 sqlflow.zip

您应该像这样组织文件:

/wings/
└── sqlflow
    ├── backend
    │   ├── bin
    │   │   ├── backend.bat 
    │   │   ├── backend.sh
    │   │   ├── eureka.bat
    │   │   ├── eureka.sh
    │   │   ├── eureka.vbs
    │   │   ├── gspLive.bat
    │   │   ├── gspLive.sh  
    │   │   ├── gspLive.vbs  
    │   │   ├── monitor.bat
    │   │   ├── monitor.sh 
    │   │   ├── sqlservice.bat
    │   │   ├── sqlservice.sh 
    │   │   ├── sqlservice.vbs
    │   │   ├── stop.bat
    │   │   ├── stop.sh
    │   ├── lib
    │   │   ├── eureka.jar
    │   │   ├── gspLive.jar  
    │   │   ├── sqlservice.jar
    │   ├── conf
    │   │   ├── gudu_sqlflow_license.txt     
    │   │   ├── gudu_sqlflow.conf     
    │   ├── data
    │   │   ├── job  
    │   │   │   ├── task     
    │   │   │   ├── {userid}   
    │   │   ├── schema     
    │   │   ├── session     
    │   │   ├── version     
    │   ├── log
    │   ├── tmp
    │   │   └── cache  
    └── frontend
        ├── config.public.json
        ├── images
        │   ├── check.svg
        │   ├── Join.svg
        │   ├── pic_Not logged in.png
        │   └── visualize.svg
        ├── index.********************.css
        ├── index.********************.css
        ├── index.********************.css
        ├── index.********************.css
        └── index.html
        └── lang
        ├── page.*********************.js
        ├── page.*********************.js
        ├── page.*********************.js
        ├── page.*********************.js
        ├── public.*********************.js
        ├── widget
        │   ├── index.js
        │   ├── sqlflow-library.version.css
        │   └── sqlflow-library.version.js

设置文件夹权限:

sudo chmod -R 755 /wings/sqlflow

Nginx 反向代理

1.配置Nginx

打开你的 nginx 配置文件(在/etc/nginx/sites-available/defaultubuntu 下),添加一个服务器:

服务器{
	听 80 default_server ;
	听[::]:80 default_server ;

	根/wings/sqlflow/frontend/;
	索引index.html;

	位置~* ^/index.html {
		 add_header X-Frame-Options 拒绝;# 如果您想在 iframe 中嵌入 sqlflow,请删除此行
		add_header Cache-Control no-store;
	}

	位置 / {
		 try_files  $uri  $uri / =404 ;
	}
	
	位置 /api/ {
		 proxy_pass http://127.0.0.1:8081/;
		proxy_connect_timeout  600s ;
		proxy_read_timeout  600s ;
		proxy_send_timeout  600s ;
		
		proxy_set_header主机$host ;
		proxy_set_header X-Real-IP $remote_addr ;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ;
		proxy_set_header用户代理$http_user_agent ;  
	}
}

注意8081inproxy_pass http://127.0.0.1:8081/应该和 gspLive.jar 的端口一样。

/apihttp://127.0.0.1:8081在上述配置中映射到。如果您的公司不允许8081从外部访问端口,这将很有用。

2.修改前端配置文件config.private.json

  • 打开配置文件“/wings/sqlflow/frontend/config.private.json”
  • 修改ApiPrefix属性
  "ApiPrefix": "/api"

自定义端口

如果您不想更改默认服务端口,请忽略此部分,否则请按照以下说明操作。

1. 默认端口

  1. 网络端口是80
  2. SQLFlow 后端服务端口:
文件港口
尤里卡.jar8761
gspLive.jar8081
sqlservice.jar8083

2.修改web端口

将默认 Web 端口从 更改809000(或您喜欢的任何端口)。

3.修改java服务端口

将默认 gspLive 端口从 更改80819001(或您喜欢的任何端口)。

  1. 更改 nginx 配置文件中的端口 

  2. 更改 gspLive.sh(gspLive.bat) 中的端口 

启动后端服务

在后台启动服务:

  sudo /wings/sqlflow/backend/bin/backend.sh

请等待 3-5 分钟以启动服务。

用于ps -ef|grep java检查这 3 个处理是否正在运行。

ubuntu   11047     1  0 Nov02 ?        00:04:44 java -server -jar eureka.jar
ubuntu   11076     1  0 Nov02 ?        00:04:11 java -server -Xmn512m -Xms2g -Xmx2g -Djavax.accessibility.assistive_technologies=  -jar sqlservice.jar
ubuntu   11114     1  0 Nov02 ?        00:05:17 java -server -jar gspLive.jar

启动前端服务

启动你的 nginx :

sudo 服务 nginx 启动

或重新加载:

sudo nginx -s 重新加载

打开电动志趣享以查看 SQLFlow。

打开电动志趣享查看 Restful API 文档。要么

打开http://yourdomain.com:8081/gspLive_backend/doc.html?lang=en查看 Restful API 文档。

后端服务配置

sqlflow 提供了几个选项来控制服务分析逻辑。打开sqlservice配置文件(conf/gudu_sqlflow.conf)

  • 关系_limit:默认值为2000.当所选对象关系的计数大于Relation_limit时,SQLFlow将退回到简单模式,请忽略所有记录集。如果简单模式的关系仍然大于relation_limit,sqlflow 将只显示摘要信息。

  • big_sql_size:默认值为 4096。如果 sql 长度大于 big_sql_size,则 sqlflow 提交工作队列中的 sql 并执行。如果工作队列已满,sqlflow 会抛出异常并返回错误消息“对不起,服务正忙。请稍后再试。”

Sqlflow客户端api调用

请参阅sqlflow 客户端 api 调用

  1. 从 gudu_sqlflow.conf 获取 userId
  • 打开配置文件“/wings/sqlflow/backend/conf/gudu_sqlflow.conf”
  • anonymous_user_id 字段的值为 webapi userId
  匿名用户 ID=xxx
  • 注意: on-promise 模式,webapi 调用不需要 token 参数
  1. 通过 curl 测试 webapi

    • 测试sql:
      从用户中选择名称
    • 卷曲命令:
      curl -X POST " http://yourdomain.com/api/gspLive_backend/sqlflow/generation/sqlflow " -H "接受:application/json;charset=utf-8 " -F " userId=您的用户 ID 这里" -F   " dbvendor=dbvoracle " -F " sqltext=从用户中选择名称"
    • 回复:
      {
         “代码”:200,
         “数据”:{
           “dbvendor”:“ dbvoracle ”,
           “dbobjs”:[
             ...
          ],
          “关系”:[
             ...
          ]
        },
        “会话 ID”:... 
      }
    • 如果代码返回401,请检查 userId 是否设置或 userId 是否有效。

故障排除

  1. 获取许可证信息失败。

 

如果您看到此错误,只需再等待 3-5 分钟,等待后端服务启动成功并刷新网页。

或者,这个问题可能是浏览器缓存造成的,直接使用Incognito mode访问Sqlflow页面并清除缓存即可。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值