Centos7 환경: DolphinScheduler3.1.5 소개 및 의사 클러스터 모드 설치 및 배포

Centos7 환경: DolphinScheduler3.1.5 소개 및 의사 클러스터 모드 설치 및 배포

DolphinScheduler 소개

Apache DolphinScheduler는 분산되고 쉽게 확장 가능한 시각적 DAG 워크플로 작업 예약 플랫폼입니다. 데이터 처리 프로세스의 복잡한 종속성을 해결하여 데이터 처리 프로세스에서 스케줄링 시스템을 즉시 사용할 수 있도록 최선을 다하고 있습니다.
의사 클러스터 배포의 목적은 DolphinScheduler 서비스를 단일 시스템에 배포하는 것입니다. 이 모드에서는 마스터, 작업자 및 API 서버가 모두 동일한 시스템에 있습니다.

DolphinScheduler 핵심 아키텍처

DolphinScheduler의 주요 역할은 다음과 같습니다:
MasterServer는 분산형 센터리스 설계 개념을 채택하고 있으며 주로 DAG 작업 분할, 작업 제출, 작업 모니터링을 담당하고 다른 MasterServer 및 WorkerServer의 상태도 모니터링합니다.
WorkerServer도 분산형 센터리스 설계 개념을 채택하고 있으며 WorkerServer는 주로 작업 실행 및 로그 서비스 제공을 담당합니다.
시스템의 ZooKeeper 서비스, MasterServer 및 WorkerServer 노드는 모두 클러스터 관리 및 내결함성을 위해 ZooKeeper를 사용합니다.
알림 서비스는 알람 관련 서비스를 제공합니다.
API 인터페이스 계층은 주로 프런트 엔드 UI 계층의 요청을 처리하는 역할을 합니다.
시스템의 프론트엔드 페이지인 UI는 시스템의 다양한 시각적 조작 인터페이스를 제공합니다.
여기에 이미지 설명을 삽입하세요.

1. 1 클러스터 계획

클러스터 모드에서는 여러 마스터와 여러 작업자를 구성할 수 있습니다. 일반적으로 2~3개의 마스터와 여러 개의 워커를 구성할 수 있습니다. 클러스터 리소스가 제한되어 있으므로 여기서는 Master 1개와 Worker 1개를 구성하며, 클러스터 계획은 다음과 같습니다.
하둡 마스터, 워커

1.2 준비작업 (문서는 제 블로그에 있고 자료는 다 올렸어요)

(1) 모든 노드에는 JDK(1.8+)를 배포하고 관련 환경 변수를 구성해야 합니다. 첨부된 링크는 내 블로그 링크입니다: http://t.csdn.cn/TFgeQ
(2) MySQL(5.7+) 또는 PostgreSQL(8.2.15+)을 지원하는 데이터베이스를 배포해야 합니다. 둘 중 하나를 선택할 수 있습니다. 예를 들어 MySQL에는 JDBC Driver 8.0.16이 필요합니다.
첨부된 블로그 링크는 다음과 같습니다: http://t.csdn.cn/9BVap
(3) Zookeeper(3.4.6+)가 필요합니다. 배포되었습니다. 첨부된 내용은 제 블로그 링크입니다: http://t.csdn.cn/1can4
#(4) HDFS 파일 시스템이 활성화된 경우 Hadoop(2.6+) 환경이 필요합니다.
(5) 모든 노드에는 프로세스 트리 분석 도구 psmisc를 설치해야 합니다.
CentOS 7에 psmisc를 오프라인으로 설치하려면 다음 단계를 따르세요.
psmisc 패키지를 업로드하세요. 또는 yum 명령을 사용하여 직접 다운로드할 수도 있습니다. (무료 다운로드를 위해 모든 ds 설치 패키지를 업로드했습니다.)
대상 CentOS 7 컴퓨터에서 다음 명령을 사용하여 설치합니다.

rpm -ivh psmisc-22.20-16.el7.x86_64.rpm

설치가 완료된 후 다음 명령을 통해 psmisc가 성공적으로 설치되었는지 확인합니다.

rpm -qa | grep psmisc

아니면 냠 설치

sudo yum install -y psmisc

Yum 실행 중 다음 오류가 발생할 수 있습니다.
여기에 이미지 설명을 삽입하세요.
이유: resolv.conf가 구성되지 않았습니다.
해결 방법:
/etc 디렉터리에 resolv.conf를 구성하고 다음과 같은 네임서버 IP를 추가합니다.
nameserver 8.8.8.8
nameserver 8.8.4.4
search localdomain
. 위의 명령을 다시 실행하세요.

2.1 DolphinScheduler 시작 환경 준비

사용자 비밀번호 면제 및 권한
구성 배포 사용자를 생성하고 sudo 비밀번호 면제를 구성해야 합니다. 돌고래스케줄러 사용자 생성을 예로 들어보겠습니다.

# 创建用户需使用 root 登录
useradd dolphinscheduler

# 添加密码
echo "dolphinscheduler" | passwd --stdin dolphinscheduler
# 配置 sudo 免密
sed -i '$adolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL' /etc/sudoers
sed -i 's/Defaults    requirett/#Defaults    requirett/g' /etc/sudoers
# 修改目录权限,使得部署用户对二进制包解压后的 apache-dolphinscheduler-*-bin 目录有操作权限
chown -R dolphinscheduler:dolphinscheduler apache-dolphinscheduler-*-bin

• 작업 실행 서비스는 sudo -u {linux-user}를 사용하여 여러 Linux 사용자를 전환하여 다중 테넌트 실행 작업을 구현하므로 배포 사용자는 sudo 권한이 있어야 하며 암호가 없습니다. 초보자가 이해하지 못한다면 일단 이 부분은 무시해도 됩니다.
• /etc/sudoers 파일에서 “Defaults requirett” 줄을 발견하면 이 부분도 주석 처리해 주세요.

2.2 비밀번호 없는 작동

첨부된 내용은 이전 블로그 주소입니다: http://t.csdn.cn/IIe29

3.1 DolphinScheduler 설치 패키지 압축 풀기

(1) Hadoop 노드의 /opt/software 디렉터리에 DolphinScheduler 설치 패키지를 업로드합니다.
(2) 현재 디렉터리에 설치 패키지의 압축을 풉니다.

3.2 메타데이터 데이터베이스 및 사용자 생성

DolphinScheduler 메타데이터는 관계형 데이터베이스에 저장되므로 해당 데이터베이스와 사용자를 생성해야 합니다.

(1)创建数据库
mysql> CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
(2)创建用户
mysql> CREATE USER 'dolphinscheduler'@'%' IDENTIFIED BY 'dolphinscheduler';
注:
若出现以下错误信息,表明新建用户的密码过于简单。
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
可提高密码复杂度或者执行以下命令降低MySQL密码强度级别。
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=4;
(3)赋予用户相应权限
mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'%';

mysql> flush privileges;

3.3 관련 구성 수정

기본 환경 준비가 완료되면, 머신 환경에 맞게 설정 파일을 수정해야 합니다. 구성 파일은 bin/env 디렉터리에 있으며 이름은 각각 install_env.sh 및 Dolphinscheduler_env.sh입니다.
install_env.sh 파일 수정

ips="192.168.2.221"
sshPort=“22”
masters="192.168.2.221"
workers="192.168.2.221:default"
alertServer="192.168.2.221"
apiServers="192.168.2.221"
installPath="/opt/module/dolphinscheduler-3.1.5"
deployUser="root"
zkRoot="/dolphinscheduler"

돌고래스케줄러_env.sh

export JAVA_HOME=/opt/module/jdk1.8.0_212
export DATABASE="mysql"
export SPRING_PROFILES_ACTIVE=${DATABASE}
export SPRING_DATASOURCE_URL="jdbc:mysql://192.168.2.221:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8"
export SPRING_DATASOURCE_USERNAME="root"
export SPRING_DATASOURCE_PASSWORD="root"
export SPRING_CACHE_TYPE="none"
export SPRING_JACKSON_TIME_ZONE="Asia/Shanghai"
export MASTER_FETCH_COMMAND_NUM="10"
export REGISTRY_TYPE="zookeeper"
export REGISTRY_ZOOKEEPER_CONNECT_STRING="192.168.2.221:2181"

api-server/libs 및 Alert-server/libs 및 master-server/libs 및 Worker-server/libs 및 tools/libs를 포함하도록 mysql 드라이버를 복사합니다(5개 위치가 있어야 함).

[root@localhost software]# cp mysql-connector-java-8.0.16.jar /opt/module/dolphinscheduler-3.1.5/api-server/libs/
[root@localhost software]# cp mysql-connector-java-8.0.16.jar /opt/module/dolphinscheduler-3.1.5/alert-server/libs/
[root@localhost software]# cp mysql-connector-java-8.0.16.jar /opt/module/dolphinscheduler-3.1.5/master-server/libs/
[root@localhost software]# cp mysql-connector-java-8.0.16.jar /opt/module/dolphinscheduler-3.1.5/worker-server/libs/
[root@localhost software]# cp mysql-connector-java-8.0.16.jar /opt/module/dolphinscheduler-3.1.5/tools/libs/

위 단계를 완료한 후 DolphinScheduler에 대한 새 데이터베이스를 생성했으며 이제 빠른 쉘 스크립트를 통해 데이터베이스를 초기화할 수 있습니다.

bash tools/bin/upgrade-schema.sh

4.1 DolphinScheduler 시작

위에서 생성한 배포 사용자를 이용해 다음 명령어를 실행하면 배포가 완료되며, 배포 후 실행되는 로그는 로그 폴더에 저장된다.

bash ./bin/install.sh

참고: 첫 번째 배포 중에 sh: bin/dolphinscheduler-daemon.sh: 해당 파일 또는 디렉터리 관련 정보가 5번 나타날 수 있습니다. 이는 중요하지 않은 정보이므로 무시해도 됩니다.

4.2 DolphinScheduler에 로그인

브라우저에서 http://localhost:12345/dolphinscheduler/ui 주소를 방문하여 시스템 UI에 로그인하세요. 기본 사용자 이름과 비밀번호는 admin/dolphinscheduler123입니다.

4.3 서비스 시작 및 중지

# 一键停止集群所有服务
bash ./bin/stop-all.sh
# 一键开启集群所有服务
bash ./bin/start-all.sh
# 启停 Master
bash ./bin/dolphinscheduler-daemon.sh stop master-server
bash ./bin/dolphinscheduler-daemon.sh start master-server
# 启停 Worker
bash ./bin/dolphinscheduler-daemon.sh start worker-server
bash ./bin/dolphinscheduler-daemon.sh stop worker-server
# 启停 Api
bash ./bin/dolphinscheduler-daemon.sh start api-server
bash ./bin/dolphinscheduler-daemon.sh stop api-server
# 启停 Alert
bash ./bin/dolphinscheduler-daemon.sh start alert-server
bash ./bin/dolphinscheduler-daemon.sh stop alert-server
注意1:: 每个服务在路径 <service>/conf/dolphinscheduler_env.sh 中都有 dolphinscheduler_env.sh 文件,这是可以为微 服务需求提供便利。意味着您可以基于不同的环境变量来启动各个服务,只需要在对应服务中配置 <service>/conf/dolphinscheduler_env.sh 然后通过 <service>/bin/start.sh 命令启动即可。但是如果您使用命令 /bin/dolphinscheduler-daemon.sh start <service> 启动服务器,它将会用文件 bin/env/dolphinscheduler_env.sh 覆盖 <service>/conf/dolphinscheduler_env.sh 然后启动服务,目的是为了减少用户修改配置的成本.

注意2::服务用途请具体参见《系统架构设计》小节。Python gateway service 默认与 api-server 一起启动,如果您不想启动 Python gateway service 请通过更改 api-server 配置文件 api-server/conf/application.yaml 中的 python-gateway.enabled : false 来禁用它。

공식 배포 매뉴얼 주소: https://www.bookstack.cn/read/dolphinscheduler-3.1.0-zh/bf5533c107dc1904.md#
배포 환경은 공식 홈페이지를 꼭 확인하시고, 문제가 발생하면 돌아와서 읽어보세요. 귀하의 개인 메모. 공식 아빠가 정답입니다.

추천

출처blog.csdn.net/Liu__sir__/article/details/130243456