Linux-centos는 빅 데이터 워크 플로우 작업 스케줄링 시스템을 배포합니다 : apache-dolphinscheduler-1.3.4

목차

독립형 배포

1. 기본 소프트웨어 설치 (반드시 설치 항목은 직접 설치)

2. 바이너리 tar.gz 패키지 다운로드

3. 배포 사용자를 만들고 디렉터리 작업 권한을 할당합니다.

4. SSH 비밀없는 구성

5. 데이터베이스 초기화

6. 작동 매개 변수 수정

7. 원 클릭 배포

8. 시스템에 로그인

9. 시작-중지 서비스

10. 만남 문제


독립형 배포

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. 시스템에 로그인

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 서비스를 시작합니다.

추천

출처blog.csdn.net/ct_666/article/details/113114907