Big Whale 작업 스케줄링 시스템은 Meiyou Big Data가 개발한 분산 컴퓨팅 작업 스케줄링 시스템으로, Spark 및 Flink와 같은 일괄 처리 작업에 대한 DAG 실행 스케줄링과 스트림 처리 작업에 대한 상태 모니터링 및 스케줄링 기능을 제공합니다. 대용량 메모리 애플리케이션 감지 및 기타 기능. 해당 서비스는 Spring Boot 2.0을 기반으로 개발되었으며, 패키징되어 실행 가능하다.
환경 준비
자바 1.8+
MySQL 5.1.0+
설치하다
1. 데이터베이스 생성: big-whale
2. 데이터베이스 스크립트 실행: big-whale.sql
3. Spring Boot 환경에 맞게 해당 데이터베이스 계정 비밀번호와 SMTP 정보를 구성합니다.
4. 구성: big-whale.properties
구성 항목 설명
ssh.user: 스크립트 실행 권한이 있는 SSH 원격 로그인 사용자 이름(플랫폼은 이 사용자를 통합 스크립트 실행 사용자로 사용합니다)
ssh.password: SSH 원격 로그인 사용자 비밀번호
dingding.enabled: DingTalk 알림 활성화 여부
dingding.watcher-token: Dingding 공개 그룹 로봇 토큰
Yarn.app-memory-threshold: Yarn 애플리케이션 메모리 제한(단위: MB), -1은 감지를 비활성화합니다.
Yarn.app-white-list: Yarn 애플리케이션 화이트리스트 목록(목록에 있는 애플리케이션이 요청한 메모리가 상한을 초과하므로 알람이 발생하지 않습니다)
5. 수정: $FLINK_HOME/bin/flink, 참조: flink(flink는 작업을 제출할 때 로컬 jar 패키지만 읽을 수 있기 때문에 hdfs에서 jar 패키지를 다운로드하고 다음과 같은 경우 스크립트에서 jar 패키지 경로 매개 변수를 교체해야 합니다. 제출 명령을 실행합니다.)
6. 포장: mvn 클린 패키지
시작하다
1. 포트 17070이 사용 중인지 확인하세요. 그렇다면 사용 중인 프로세스를 닫거나 프로젝트 포트 번호 구성을 수정하고 다시 패키지하세요.
2. 대상 디렉터리에 big-whale.jar을 복사하고 java -jar big-whale.jar 명령을 실행합니다.
초기 구성
1. 열기: http://localhost:17070
2. 계정 admin과 비밀번호 admin을 입력하세요.
3. 권한 관리->사용자 관리를 클릭하고 현재 계정의 이메일 주소를 합법적인 기존 이메일 주소로 수정하세요. 그렇지 않으면 이메일이 전송되지 않습니다.
4. 클러스터 추가
클러스터 관리->클러스터 관리->새로 만들기
"원사 관리 주소"는 Yarn ResourceManager의 WEB UI 주소입니다.
"패키지 저장소 디렉터리"는 패키지가 HDFS 클러스터에 업로드될 때의 저장소 경로입니다(예: /data/big-whale/storage).
"Flink 작업 프록시 사용자 지원", "스트림 처리 작업 블랙리스트" 및 "일괄 처리 작업 블랙리스트"는 내부적으로 사용자 정의된 작업 할당 규칙입니다.
5. 상담원 추가
클러스터 관리->에이전트 관리->새로 만들기
여러 개의 인스턴스를 추가할 수 있습니다. (IP 주소만 지원되며, 포트 번호는 지정할 수 있으며, 기본값은 22입니다.) 스크립트 실행 시 해당 인스턴스에 연결할 수 없는 경우 다음 인스턴스가 실행됩니다. 무작위로 선택됩니다. 둘 다 연결할 수 없으면 실행이 실패합니다.
클러스터를 선택하면 클러스터 아래에 Spark 또는 Flink 작업을 제출하는 에이전트 중 하나가 됩니다.
6. 클러스터 사용자 추가
클러스터 관리->클러스터 사용자->추가
이 구성의 의미는 플랫폼 사용자가 선택한 클러스터에서 사용할 수 있는 Yarn 리소스 큐(--queue) 및 프록시 사용자(--proxy-user)입니다.
7. 계산 프레임워크 추가
클러스터 관리->관리->추가
동일한 클러스터에 있는 서로 다른 Spark 또는 Flink 작업의 제출 명령은 다를 수 있습니다. 예를 들어 Spark 1.6.0의 제출 명령은 Spark-submit이고 Spark 2.1.0의 제출 명령은 Spark2-submit입니다.