O sistema de agendamento de tarefas Big Whale é um sistema de agendamento de tarefas de computação distribuída desenvolvido pela Meiyou Big Data. Ele fornece agendamento de execução DAG para tarefas de processamento em lote, como Spark e Flink, e monitoramento de status e agendamento para tarefas de processamento de fluxo. Detecção de aplicativos de grande memória e outras funções. O serviço é desenvolvido com base no Spring Boot 2.0 e pode ser executado após ser empacotado.
Preparação ambiental
Java 1.8+
MySQL 5.1.0+
Instalar
1. Crie banco de dados: baleia grande
2. Execute o script do banco de dados: big-whale.sql
3. Configure a senha da conta do banco de dados relevante e as informações SMTP de acordo com o ambiente Spring Boot.
4. Configuração: big-whale.properties
Descrição do item de configuração
ssh.user: nome de usuário de login remoto SSH com permissões de execução de script (a plataforma usará este usuário como um usuário unificado de execução de script)
ssh.password: senha do usuário de login remoto ssh
dingding.enabled: se deseja ativar alertas DingTalk
dingding.watcher-token: Token de robô de grupo público Dingding
yarn.app-memory-threshold: Limite de memória do aplicativo Yarn (unidade: MB), -1 desativa a detecção
yarn.app-white-list: lista de permissões de aplicativos Yarn (a memória solicitada pelos aplicativos na lista excede o limite superior e nenhum alarme será emitido)
5. Modifique: $FLINK_HOME/bin/flink, referência: flink (como flink só pode ler o pacote jar local ao enviar uma tarefa, é necessário baixar o pacote jar do hdfs e substituir o parâmetro do caminho do pacote jar no script quando executando o comando de envio).
6. Embalagem: pacote limpo mvn
comece
1. Verifique se a porta 17070 está ocupada. Em caso afirmativo, feche o processo ocupado ou modifique a configuração do número da porta do projeto e empacote-o novamente.
2. Copie big-whale.jar no diretório de destino e execute o comando: java -jar big-whale.jar
Configuração inicial
1. Abra: http://localhost:17070
2. Digite a conta admin e a senha admin
3. Clique em: Gerenciamento de permissões->Gerenciamento de usuários, modifique o endereço de e-mail da conta atual para um endereço de e-mail legal e existente, caso contrário, o e-mail não será enviado.
4. Adicionar cluster
Gerenciamento de Cluster->Gerenciamento de Cluster->Novo
"endereço de gerenciamento de fios" é o endereço da UI da WEB do Yarn ResourceManager
"Diretório de armazenamento do pacote" é o caminho de armazenamento quando o pacote é carregado no cluster HDFS, como: /data/big-whale/storage
"Suporte a usuários de proxy de tarefa Flink", "Lista negra de tarefas de processamento de fluxo" e "Lista negra de tarefas de processamento em lote" são regras de alocação de tarefas personalizadas internamente.
5. Adicionar agente
Gerenciamento de cluster->Gerenciamento de agente->Novo
Várias instâncias podem ser adicionadas (somente endereços IP são suportados, números de porta podem ser especificados e o padrão é 22). Ao executar o script, uma instância será selecionada aleatoriamente para execução. selecionados aleatoriamente. A execução falha quando ambos estão inacessíveis.
Depois de selecionar um cluster, será um dos agentes que enviará tarefas Spark ou Flink no cluster.
6. Adicione usuários do cluster
Gerenciamento de Cluster->Usuário do Cluster->Adicionar
A semântica desta configuração é: Fila de recursos Yarn (--queue) e usuário proxy (--proxy-user) que os usuários da plataforma podem usar no cluster selecionado.
7. Adicione estrutura de cálculo
Gerenciamento de Cluster->Gerenciamento->Adicionar
Os comandos de envio de diferentes tarefas do Spark ou Flink no mesmo cluster podem ser diferentes. Por exemplo, o comando de envio do Spark 1.6.0 é spark-submit e o comando de envio do Spark 2.1.0 é spark2-submit.