# Standalone 版安装
# 1. 介质目录结构说明
Primeton_DWS_Standalone_7.0LA.tar.gz目录结构说明:
|- Primeton_DWS_Standalone
|- server
|- dws # ~ dws server 所在目录
|- ... # ~ 集成的其他组件放这里
|- service # ~ 引擎服务将被安装到这里
|- primeton-di # ~ DI Server批作业执行引擎
|- dolphin # ~ dolphin 调度引擎
|- seatunnel # ~ 实时作业执行引擎
|- zookeeper # ~ zookeeper
|- web # ~ nginx 配置文件
|- shutdown.sh # ~ 一键启动脚本
|- startup.sh # ~ 一键停止脚本
# 2. 安装前准备
# 2.1 请确保机器已配置 JDK 1.8.0_251 及以上
# 2.2 创建免密用户、配置用户免密及权限
创建用户 dws,并且一定要配置 sudo 免密,产品默认用 dws 用户来运行。
# 创建用户需使用 root 登录
useradd dws
# 添加密码
echo "dws" | passwd --stdin dws
# 配置 sudo 免密
sed -i '$adws ALL=(ALL) NOPASSWD: NOPASSWD: ALL' /etc/sudoers
sed -i 's/Defaults requirett/#Defaults requirett/g' /etc/sudoers
注意:
因为任务执行服务是以 sudo -u {linux-user}
切换不同 linux 用户的方式来实现多租户运行作业,所以部署用户需要有 sudo 权限。
# 2.3 配置机器SSH免密登陆
由于安装的时候需要向不同机器发送资源,所以要求各台机器间能实现SSH免密登陆。配置免密登陆的步骤如下:
su dws
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
注意: 配置完成后,可以通过运行命令 ssh localhost 判断是否成功,如果不需要输入密码就能 ssh 登陆则证明成功。
# 2.4 配置/etc/hosts
此步骤必须执行,否则会导致zookeeper连接超时异常问题
在/etc/hosts中增加一行,添加服务器ip及域名
vim /etc/hosts
192.168.16.80 server80
# 3. 解压介质
#切换 root 用户
su root
#解压介质
tar -zxvf Primeton_DWS_Standalone_7.0LA.tar.gz -C ./
#将目录权限赋予 dws 用户
chown -R dws:dws Primeton_DWS_Standalone
# 4. 初始化数据库脚本
MySQL 数据库需要设置为大小写不敏感,即: lower_case_table_names=1
本说明以 MySQL5.7 数据库为例:
- 创建 DWS 数据库:dws,执行数据库初始化脚本
server/dws/db-scripts/all-Mysql.sql
- 创建 dolphin 数据库:dolphinscheduler,执行数据库初始化脚本
service/dolphin/standalone-server/conf/sql/dolphinscheduler_mysql.sql
⚠️ 提示:如果与上述示例的数据库名称、用户名、密码不一致,请参考 7.2 配置参考 修改 DI 数据库配置、修改 dolphin 数据库配置。
# 5. 一键启动/停止服务
一键启动/停止会将所有服务启动/停止。
#切换 dws 用户
su dws
#启动服务
./startup.sh
#切换 dws 用户
su dws
#停止服务
./shutdown.sh
如果需要单独启动某个服务,参考如下命名:
- 启动/停止 zookeeper 服务
#启动服务
./startup.sh zookeeper
#停止服务
./shutdown.sh zookeeper
- 启动/停止 dolphin 服务
#启动服务
./startup.sh dolphin
#停止服务
./shutdown.sh dolphin
- 启动/停止 seatunnel 服务
#启动服务
./startup.sh seatunnel
#停止服务
./shutdown.sh seatunnel
- 启动/停止 dws 服务
#启动服务
./startup.sh dws
#停止服务
./shutdown.sh dws
# 6.访问地址
http://localhost:11110
默认账号、密码:admin、000000
# 7. 其他参考
# 7.1 端口号
dolphin master | dolphin worker | dolphin api | dolphin alert | zookeeper | dws |
---|---|---|---|---|---|
5678 | 1234 | 12345 | 50052 | 2181 | 11110 |
# 7.2 修改 dws 下相关配置文件
- 修改 server/config/DWS/config/user-config.xml
修改文件中的数据库配置信息,即初始化脚本所用的数据库。
(略)
<group name="default">
<configValue key="Database-Type">MySql</configValue>
<configValue key="Jdbc-Type"/>
<configValue key="C3p0-DriverClass">com.mysql.jdbc.Driver</configValue>
<configValue key="C3p0-Url">jdbc:mysql://127.0.0.1:3306/database?characterEncoding=utf-8&serverTimezone=Asia/Shanghai</configValue>
<configValue key="C3p0-UserName">root</configValue>
<configValue key="C3p0-Password">primeton</configValue>
(略)
修改 zookeeper 服务 IP 及端口:service/zookeeper/conf/zoo.cfg
(略) # the port at which the clients will connect clientPort=2181 (略)
修改 dolphin 数据库配置、JDK 配置、zookeeper配置:service/dolphin/bin/env/dolphinscheduler_env.sh
REGISTRY_ZOOKEEPER_CONNECT_STRING 参数值中的zookeeper端口应该和zookeeper服务中的
clientPort
保持一致。
(略)
# JAVA_HOME, will use it to start DolphinScheduler server
export JAVA_HOME=${JAVA_HOME:-/opt/java/openjdk}
# Database related configuration, set database type, username and password
export DATABASE=${DATABASE:-mysql}
export SPRING_PROFILES_ACTIVE=${DATABASE}
export SPRING_DATASOURCE_URL="jdbc:mysql://127.0.0.1:3306/dolphinscheduler?serverTimezone=Asia/Shanghai&useSSL=false"
export SPRING_DATASOURCE_USERNAME="root"
export SPRING_DATASOURCE_PASSWORD="primeton"
(略)
# Registry center configuration, determines the type and link of the registry center
export REGISTRY_TYPE=${REGISTRY_TYPE:-zookeeper}
export REGISTRY_ZOOKEEPER_CONNECT_STRING=${REGISTRY_ZOOKEEPER_CONNECT_STRING:-localhost:2181}
(略)
- 修改 DWS 服务 IP 及端口:server/config/application.properties
(略)
server.port=11110
(略)
- 修改 dolphin 服务 IP 及端口:service/dolphin/standalone-server/conf/application.yaml
(略)
master:
listen-port: 5678
worker:
# worker listener port
listen-port: 1234
alert:
port: 50052
server:
port: 12345
(略)
# 7.3 nginx.conf 配置
如果想将前端资源 server/dws/static 部署至 nginx,将 web/conf/dws.conf 文件拷贝至 nginx 目录下,并修改 dws 前端资源路径,请参考如下配置:
# a part of nginx configuration e.g.
# nginx.conf should include the file
# DWS/AFCenter standalone servers
upstream afcenter {
server 127.0.0.1:11110;
}
server {
listen 80;
charset utf-8;
client_max_body_size 200M;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-Port $remote_port;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1";
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Permitted-Cross-Domain-Policies "master-only";
add_header X-Download-Options noopen;
add_header Content-Security-Policy "script-src * 'unsafe-inline' 'unsafe-eval'";
add_header Strict-Transport-Security "max-age=SECONDS";
add_header Referrer-Policy "no-referrer" always;
location / {
# change to your web resource folder ${DWS_SERVER_HOME}/static, or copy to here: /usr/share/nginx/afcenter
root /usr/share/nginx/afcenter;
index index.html index.htm;
try_files $uri /index.html;
}
# if afcenter web-ui express mode enabled
# all API request forward to one server (only one API route)
location ^~/api/ {
proxy_pass http://afcenter;
}
#location ~ \.biz\.ext$ {
# proxy_pass http://afcenter;
# }
# ...
}