목차
1. 기본 소프트웨어 설치 (반드시 설치 항목은 직접 설치)
3. 배포 사용자를 만들고 디렉터리 작업 권한을 할당합니다.
독립형 배포
1. 기본 소프트웨어 설치 (반드시 설치 항목은 직접 설치)
- PostgreSQL (8.2.15+) 또는 MySQL (5.7+) : 둘 중 하나를 선택할 수 있습니다 (예 : MySQL에는 JDBC Driver 5.1.47+ 필요)
- JDK (1.8+) : 필수, 설치 후 / etc / profile 아래에서 JAVA_HOME 및 PATH 변수를 구성하십시오.
- ZooKeeper (3.4.6+) : 필수
- Hadoop (2.6+) 또는 MinIO : 선택 사항. 리소스 업로드 기능을 사용해야하는 경우 로컬 파일 디렉터리를 단일 시스템의 업로드 폴더로 선택할 수 있습니다 (이 작업은 Hadoop을 배포 할 필요가 없습니다). Hadoop 또는 MinIO 클러스터에 업로드하도록 선택할 수도 있습니다.
- DataX : 선택 사항, MySQL, Oracle 등과 같은 이기종 데이터 소스 간의 데이터 동기화 기능을 제공합니다.
注意:DolphinScheduler本身不依赖Hadoop、Hive、Spark,仅是会调用他们的Client,用于对应任务的运行。
2. 바이너리 tar.gz 패키지 다운로드
- 최신 버전의 백엔드 설치 패키지를 서버 배포 디렉터리에 다운로드하십시오. 예를 들어 / opt / dolphinscheduler를 설치 배포 디렉터리로 만들고, 다운로드 주소 : download , 다운로드 후 tar 패키지를이 디렉터리에 업로드하고 압축을 풉니 다.
# 创建部署目录,部署目录请不要创建在/root、/home等高权限目录
mkdir -p /opt/dolphinscheduler;
cd /opt/dolphinscheduler;
# 解压缩
tar -zxvf apache-dolphinscheduler-incubating-1.3.4-dolphinscheduler-bin.tar.gz -C /opt/dolphinscheduler;
mv apache-dolphinscheduler-incubating-1.3.4-dolphinscheduler-bin dolphinscheduler-bin
3. 배포 사용자를 만들고 디렉터리 작업 권한을 할당합니다.
- 배포 사용자를 만들고 암호없이 sudo를 구성해야합니다. dolphinscheduler 사용자 생성을 예로 들어 보겠습니다.
# 创建用户需使用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
# 修改目录权限,使得部署用户对dolphinscheduler-bin目录有操作权限
chown -R dolphinscheduler:dolphinscheduler dolphinscheduler-bin
注意:
- 因为任务执行服务是以 sudo -u {linux-user} 切换不同linux用户的方式来实现多租户运行作业,所以部署用户需要有 sudo 权限,而且是免密的。初学习者不理解的话,完全可以暂时忽略这一点
- 如果发现/etc/sudoers文件中有"Default requiretty"这行,也请注释掉
- 如果用到资源上传的话,还需要给该部署用户分配操作`本地文件系统或者HDFS或者MinIO`的权限
4. SSH 비밀없는 구성
- 배포 사용자로 전환하고 SSH 로컬 암호없는 로그인 구성
su dolphinscheduler;
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
참고 : 정상 설정 후 dolphinscheduler 사용자 ssh localhost
는 명령을 실행할 때 암호를 입력 할 필요가 없습니다.
5. 데이터베이스 초기화
- 데이터베이스를 입력하십시오. 기본 데이터베이스는 PostgreSQL입니다. MySQL을 선택하면 mysql-connector-java 드라이버 패키지를 DolphinScheduler의 lib 디렉토리에 추가해야합니다.
mysql -uroot -p
-
데이터베이스 명령 줄 창에 들어간 후 데이터베이스 초기화 명령을 실행하고 액세스 계정과 비밀번호를 설정합니다. 참고 : {user} 및 {password}는 특정 데이터베이스 사용자 이름 및 비밀번호로 바꿔야합니다.
mysql> CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%' IDENTIFIED BY '{password}'; mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost' IDENTIFIED BY '{password}'; mysql> flush privileges;
-
테이블 생성 및 기본 데이터 가져 오기
-
conf 디렉토리의 datasource.properties에서 다음 구성을 수정하십시오.
-
vi conf/datasource.properties
-
-
MySQL을 선택하는 경우 PostgreSQL 관련 구성을 주석 처리하고 (역방향도 마찬가지 임) lib 디렉토리에 [ mysql-connector-java driver jar ] 패키지를 수동으로 추가해야합니다 . 여기는 mysql-connector-입니다. java-5.1.47.jar, 데이터베이스 연결 관련 정보를 올바르게 구성하십시오.
# postgre #spring.datasource.driver-class-name=org.postgresql.Driver #spring.datasource.url=jdbc:postgresql://localhost:5432/dolphinscheduler # mysql spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://xxx:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true 需要修改ip,本机localhost即可 spring.datasource.username=xxx 需要修改为上面的{user}值 spring.datasource.password=xxx 需要修改为上面的{password}值
- 수정 및 저장 후 테이블 생성을 실행하고 스크립트 디렉토리에 기본 데이터 스크립트를 가져옵니다.
sh script/create-dolphinscheduler.sh
-
참고 : 위의 스크립트 보고서 "/ bin / java : No such file or directory" 오류를 수행하는 경우 JAVA_HOME 및 PATH 변수 아래의 / etc / 프로필 구성에서
6. 작동 매개 변수 수정
-
conf / env 디렉토리
dolphinscheduler_env.sh
에서 환경 변수를 수정합니다 (예 : / opt / soft 아래에 설치된 관련 소프트웨어 사용).export HADOOP_HOME=/opt/soft/hadoop export HADOOP_CONF_DIR=/opt/soft/hadoop/etc/hadoop #export SPARK_HOME1=/opt/soft/spark1 export SPARK_HOME2=/opt/soft/spark2 export PYTHON_HOME=/opt/soft/python export JAVA_HOME=/opt/soft/java export HIVE_HOME=/opt/soft/hive export FLINK_HOME=/opt/soft/flink export DATAX_HOME=/opt/soft/datax/bin/datax.py export PATH=$HADOOP_HOME/bin:$SPARK_HOME2/bin:$PYTHON_HOME:$JAVA_HOME/bin:$HIVE_HOME/bin:$PATH:$FLINK_HOME/bin:$DATAX_HOME:$PATH
注: 这一步非常重要,例如 JAVA_HOME 和 PATH 是必须要配置的,没有用到的可以忽略或者注释掉;如果找不到dolphinscheduler_env.sh, 请运行 ls -a
-
/ usr / bin / java에 대한 소프트 링크 jdk (여전히 JAVA_HOME = / opt / soft / java를 예로 사용)
sudo ln -s /opt/soft/java/bin/java /usr/bin/java
-
원 클릭 배포 구성 파일
conf/config/install_config.conf
에서 매개 변수를 수정 하고 다음 매개 변수의 구성에 특히주의하십시오.# 这里填 mysql or postgresql dbtype="mysql" # 数据库连接地址 dbhost="localhost:3306" # 数据库名 dbname="dolphinscheduler" # 数据库用户名,此处需要修改为上面设置的{user}具体值 username="xxx" # 数据库密码, 如果有特殊字符,请使用\转义,需要修改为上面设置的{password}具体值 password="xxx" #Zookeeper地址,单机本机是localhost:2181,记得把2181端口带上 zkQuorum="localhost:2181" #将DS安装到哪个目录,如: /opt/soft/dolphinscheduler,不同于现在的目录 installPath="/opt/soft/dolphinscheduler" #使用哪个用户部署,使用第3节创建的用户 deployUser="dolphinscheduler" # 邮件配置,以qq邮箱为例 # 邮件协议 mailProtocol="SMTP" # 邮件服务地址 mailServerHost="smtp.qq.com" # 邮件服务端口 mailServerPort="25" # mailSender和mailUser配置成一样即可 # 发送者 mailSender="[email protected]" # 发送用户 mailUser="[email protected]" # 邮箱密码 mailPassword="xxx" # TLS协议的邮箱设置为true,否则设置为false starttlsEnable="true" # 开启SSL协议的邮箱配置为true,否则为false。注意: starttlsEnable和sslEnable不能同时为true sslEnable="false" # 邮件服务地址值,参考上面 mailServerHost sslTrust="smtp.qq.com" # 业务用到的比如sql等资源文件上传到哪里,可以设置:HDFS,S3,NONE,单机如果想使用本地文件系统,请配置为HDFS,因为HDFS支持本地文件系统;如果不需要资源上传功能请选择NONE。强调一点:使用本地文件系统不需要部署hadoop resourceStorageType="HDFS" # 这里以保存到本地文件系统为例 #注:但是如果你想上传到HDFS的话,NameNode启用了HA,则需要将hadoop的配置文件core-site.xml和hdfs-site.xml放到conf目录下,本例即是放到/opt/dolphinscheduler/conf下面,并配置namenode cluster名称;如果NameNode不是HA,则修改为具体的ip或者主机名即可 defaultFS="file:///data/dolphinscheduler" #hdfs://{具体的ip/主机名}:8020 # 如果没有使用到Yarn,保持以下默认值即可;如果ResourceManager是HA,则配置为ResourceManager节点的主备ip或者hostname,比如"192.168.xx.xx,192.168.xx.xx";如果是单ResourceManager请配置yarnHaIps=""即可 yarnHaIps="192.168.xx.xx,192.168.xx.xx" # 如果ResourceManager是HA或者没有使用到Yarn保持默认值即可;如果是单ResourceManager,请配置真实的ResourceManager主机名或者ip singleYarnIp="yarnIp1" # 资源上传根路径,支持HDFS和S3,由于hdfs支持本地文件系统,需要确保本地文件夹存在且有读写权限 resourceUploadPath="/data/dolphinscheduler" # 具备权限创建resourceUploadPath的用户 hdfsRootUser="hdfs" #在哪些机器上部署DS服务,本机选localhost ips="localhost" #ssh端口,默认22 sshPort="22" #master服务部署在哪台机器上 masters="localhost" #worker服务部署在哪台机器上,并指定此worker属于哪一个worker组,下面示例的default即为组名 workers="localhost:default" #报警服务部署在哪台机器上 alertServer="localhost" #后端api服务部署在在哪台机器上 apiServers="localhost"
참고 :이
资源中心
기능 을 사용 하려면 다음 명령을 실행하십시오.sudo mkdir /data/dolphinscheduler sudo chown -R dolphinscheduler:dolphinscheduler /data/dolphinscheduler
7. 원 클릭 배포
-
배포 사용자로 전환하고 원 클릭 배포 스크립트 실행
sh install.sh
注意: 第一次部署的话,在运行中第3步`3,stop server`出现5次以下信息,此信息可以忽略 sh: bin/dolphinscheduler-daemon.sh: No such file or directory
-
스크립트가 완료되면, 다음 (5 개) 서비스가 시작됩니다, 사용
jps
서비스가 시작되어 있는지 여부를 확인하는 명령을 (jps
그것은java JDK
함께 제공)
MasterServer ----- master服务
WorkerServer ----- worker服务
LoggerServer ----- logger服务
ApiApplicationServer ----- api服务
AlertServer ----- alert服务
위 서비스가 정상적으로 시작되면 자동 배포가 성공합니다.
배포가 성공하면 로그를 볼 수 있으며 로그는 logs 폴더에 저장됩니다.
logs/
├── dolphinscheduler-alert-server.log
├── dolphinscheduler-master-server.log
|—— dolphinscheduler-worker-server.log
|—— dolphinscheduler-api-server.log
|—— dolphinscheduler-logger-server.log
8. 시스템에 로그인
-
프론트 엔드 페이지 주소, 인터페이스 IP ( 직접 수정)를 방문 하십시오. http : //192.168.xx.xx : 12345 / dolphinscheduler
9. 시작-중지 서비스
-
한 번의 클릭으로 클러스터의 모든 서비스 중지
sh ./bin/stop-all.sh
-
한 번의 클릭으로 클러스터의 모든 서비스 열기
sh ./bin/start-all.sh
-
마스터 시작 및 중지
sh ./bin/dolphinscheduler-daemon.sh start master-server
sh ./bin/dolphinscheduler-daemon.sh stop master-server
- Worker 시작 및 중지
sh ./bin/dolphinscheduler-daemon.sh start worker-server
sh ./bin/dolphinscheduler-daemon.sh stop worker-server
- Api 시작 및 중지
sh ./bin/dolphinscheduler-daemon.sh start api-server
sh ./bin/dolphinscheduler-daemon.sh stop api-server
- Logger 시작 및 중지
sh ./bin/dolphinscheduler-daemon.sh start logger-server
sh ./bin/dolphinscheduler-daemon.sh stop logger-server
- 경고 시작 및 중지
sh ./bin/dolphinscheduler-daemon.sh start alert-server
sh ./bin/dolphinscheduler-daemon.sh stop alert-server
10. 만남 문제
- 기본 소프트웨어 설치 : datax가 필요합니다. 현재 공식 문서 버전 1.3.4에서는 메시지가 표시되지 않으며 나중에 datax를 사용하여 데이터를 동기화 할 때 오류가보고됩니다. 여기에 기본 환경 옵션이 포함되어 있으므로 유사한 문제에주의해야합니다.
- 세 번째 단계에서 비밀번호 추가 : echo "dolphinscheduler"| passwd --stdin dolphinscheduler, 다음으로 변경하는 것이 좋습니다. 보안과 안정성이 더 뛰어난 passwd dolphinscheduler
- 5 단계 : MySQL을 사용하고 사용자가 루트 인 경우 데이터베이스를 생성하기 위해 문을 실행하기 만하면되며 권한 부여 및 새로 고침 권한에 대한 문을 실행할 필요가 없습니다.
- MySQL에서 사용하는 버전은 8.0.22이며 rpm -ivh mysql-connector-java-8.0.22-1.el7.noarch.rpm을 다운로드 한 후 연결 드라이버가 / usr / share / java / 디렉토리에 있습니다. 복사하려면
- 7 단계 : 배포가 완료된 후 jps보기에서 api가 시작되지 않았 음을 발견하고 sh ./bin/dolphinscheduler-daemon.sh start api-server를 수동으로 실행하여 api 서비스를 시작합니다.