Article January 03, 2024

Scriptis-Linkis

Words count 8.9k Reading time 8 mins. Read count 0

Scriptis是基于Linkis开发的数据分析工具

Linkis

定位: 计算存储引擎中间件

启动用户会默认作为管理员权限
Linkis支持指定提交、执行的用户
linkis主要进程服务会通过sudo -u ${linkis-user} 切换到对应用户下,然后执行对应的引擎启动命令,所以引擎linkis-engine进程归属的用户是任务的执行者(因此部署用户需要有sudo权限,而且是免密的)。

下载

版本列表 | Apache Linkis

配置项

  • 元数据库:默认mysql deploy-config/linkis-env.sh
  • 数据库连接信息: deploy-config/db.sh
    • CREATE DATABASE linkis DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
    • create user linkis@’%’ identified by ‘Linkis@24’;
    • GRANT ALL PRIVILEGES ON linkis.* TO ‘linkis‘@’%’;
1
2
3
4
5
MYSQL_HOST=
MYSQL_PORT=3306
MYSQL_DB=linkis
MYSQL_USER=linkis
MYSQL_PASSWORD=Linkis@24
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
deployUser=hadoop
dbType=mysql

# 指定用户使用的目录路径,一般用于存储用户的脚本文件和日志文件等,是用户的工作空间。
WORKSPACE_USER_ROOT_PATH=file:///data/soft/linkis/workspace

# 结果集日志等文件路径,用于存储Job的结果集文件
HDFS_USER_ROOT_PATH=hdfs:///spark/linkis

# 存放执行引擎的工作路径,需要部署用户有写权限的本地目录
ENGINECONN_ROOT_PATH=/data/soft/linkis/engine_runtime

#可以通过访问http://xx.xx.xx.xx:8088/ws/v1/cluster/scheduler 接口确认是否可以正常访问
YARN_RESTFUL_URL=http://10.27.48.7:8088

#HADOOP
HADOOP_HOME=/data/soft/hadoop
HADOOP_CONF_DIR=/data/soft/hadoop/etc/hadoop

#Hive
#HIVE_HOME=/appcom/Install/hive
#HIVE_CONF_DIR=/appcom/config/hive-config

#Spark
SPARK_HOME=/data/soft/spark
SPARK_CONF_DIR=/data/soft/spark/conf

## java application default jvm memory
export SERVER_HEAP_SIZE="1024M"

##The decompression directory and the installation directory need to be inconsistent
LINKIS_HOME=/data/soft/linkis
SPARK_VERSION=3.3.1 # update bin/checkEnv.sh if failed
MYSQL_CONNECT_JAVA_PATH=/data/soft/spark/jars/mysql-connector-java-5.1.47.jar

cp mysql-connector-java-8.0.28.jar ${LINKIS_HOME}/lib/linkis-spring-cloud-services/linkis-mg-gateway/
cp mysql-connector-java-8.0.28.jar ${LINKIS_HOME}/lib/linkis-commons/public-module/

安装

sh bin/install.sh
sh sbin/linkis-start-all.sh
sh sbin/linkis-daemon.sh start ps-publicservice

访问eureka服务页面(http://eurekaip:20303), 默认会启动6个 Linkis 微服务

Linkis Web

web端是使用nginx作为静态资源服务器的,访问请求流程是: 
Linkis管理台请求->nginx ip:port->linkis-gateway ip:port-> 其他服务

1
2
3
4
5
6
7
8
9
10
11
12
13
tar -xvf apache-linkis-x.x.x-web-bin.tar.gz

===== config.sh =====
#访问管理台的端口
linkis_port="8188"

#linkis-mg-gateway服务地址
linkis_url="http://localhost:9020"

===== 执行部署脚本 =====
# nginx 需要sudo权限进行安装
sudo sh install.sh

离线安装

默认走yum,离线需下载nginx的rpm包安装

http://mirror.centos.org/centos/7/os/x86_64/Packages/pcre2-10.23-2.el7.x86_64.rpm
http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.24.0-1.el7.ngx.x86_64.rpm
sudo rpm -Uvh nginx-1.24.0-1.el7.ngx.x86_64.rpm
sudo rpm -ivh pcre2-10.23-2.el7.x86_64.rpm

安装后,linkis的nginx配置文件默认是 在/etc/nginx/conf.d/linkis.conf 
nginx的日志文件在 /var/log/nginx/access.log 和/var/log/nginx/error.log

1
2
3
4
cd /etc/nginx/conf.d
mv default.conf default.conf.bak

vi /etc/nginx/nginx.conf # 修改启动用户、线程数等

如果需要修改端口或则静态资源目录等,请修改/etc/nginx/conf.d/linkis.conf 文件后执行 sudo nginx -s reload 命令

管理命令 systemctl restart nginx

浏览器登陆 http://xx.xx.xx.xx:8188/#/login 用户名/密码在{LINKIS_HOME}/conf/linkis-mg-gateway.properties中查看
[hadoop/a43d90a3e]

Scriptis

下载后端包,修改nginx配置

1
2
3
4
 location /scriptis { 
alias /data/soft/scriptis-web/dist/ ;
index index.html ;
}

登陆Linkis网址 http://10.27.48.3:8188/ 成功后, 修改URL到 http://10.27.48.3:8188/scriptis

体验不好用,引擎对接配置不明确,spark无法执行,shell执行缓慢

引擎部署

放弃使用。整体感觉是后端人员开发各种微服务,显得架构臃肿。

0%