uso azkaban de cenas complexas e alguns poços encontrados ao usar!

prefácio

tutorial

Az construir um

Azkaban completar um caso de utilização complexa, como a estrutura da FIG.

Aqui Insert Picture Descrição

tarefa Descrição

  • job1: quadro az usando a participação em massa, o trabalho de impressão está pronto para começar!
  • job2: dependente job1, criar um nome do diretório é inputwc localmente!
  • job3: dependente job2, use os resultados da consulta colmeia e saída para o arquivo especificado no diretório especificado
  • job4: dependente job2, programa java costume chamada gera um nome de arquivo e conteúdo profissional é separado por abas!
  • job5: dependente job3, job4, os resultados de saída do programa java é anexado ao ramo no resultado da consulta!
  • job6: dependente job5, gerado inputwc enviados para os hdfs diretório!
  • job7: chamada wordcount para contar o número de profissionais aparecer!

resultados esperados

Aqui Insert Picture Descrição

código de exibição

código java

package com.zhengkw.azkaban;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;

/**
 * @ClassName:AzkabanTest
 * @author: zhengkw
 * @description: 输出用制表符隔开的字符串
 * @date: 20/03/19下午 3:45
 * @version:1.0
 * @since: jdk 1.8
 */
public class AzkabanTest {
    public static void main(String[] args) {
        FileOutputStream fos = null;
        try {
            fos = new FileOutputStream("/home/zhengkw/inputwc/hi.txt");
            String words = "teachter" + "\t" + "doctor" + "\t" + "driver"
                    + "\t" + "doctor" + "\t" + "driver" + "\t" + "doctor" + "\t" + "driver";
            fos.write(words.getBytes());

        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (fos != null) {
                    fos.close();
                }

            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

códigos de trabalho

Jobl

#first.job
type=command
command=echo ${param}

job2

type=command
dependencies=job1
command= mkdir -p /home/zhengkw/inputwc

job3

type=command
dependencies=job1,job2
command=bash -c "hive -e 'select job from zhengkw.emp' > /home/zhengkw/inputwc/emp.txt"

Job4

type=javaprocess
denpendencies=job2
java.class=com.zhengkw.azkaban.AzkabanTest
classpath=/home/zhengkw/jar/*

java.class Para usar o nome completo da classe! ! !

job5

type=command
dependencies=job4,job3
command= bash -c 'cat /home/zhengkw/inputwc/hi.txt >> /home/zhengkw/inputwc/emp.txt' 

job6

type=command
dependencies=job5
command= bash -c 'hadoop fs -put /home/zhengkw/inputwc /'

job7

type=command
dependencies=job6
command= bash -c 'hadoop jar /opt/module/hadoop-2.7.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /inputwc /azout' 

precauções

  • Depois java programa empacotado para o local especificado, trabalho que deve ser especificado! parâmetro classpath é o caminho atrás do frasco! ! parâmetro java.class deve ser o nome completo da classe! ! !
  • Tipo de arquivo de trabalho é *. *! E no final deve ser .job !!!
  • Selecione o formato do pacote zip, outros formatos não são suportados! Mas o formato rar sufixo ainda não é reconhecido como um zip!
    Aqui Insert Picture Descrição

Outras características de exibição

tarefas regulares

Aqui Insert Picture Descrição

  • Selecione o Eastern District 8

  • Primeiro, selecione a data e hora!

  • Representante requerem verificação regular a caixa de seleção realizado, selectList escolher quais as unidades, a caixa de entrada dentro da entrada digital!

  • O ponto chave! ! ! Se você executar tarefas regulares precisa passar parâmetros, por favor, re-introduzir as opções de programação regulares após parâmetros de entrada, opções, cronograma, no canto inferior direito!
    Aqui Insert Picture DescriçãoVocê deve primeiro entrar parâmetros! ! ! Você deve primeiro entrar parâmetros! ! ! Você deve primeiro entrar parâmetros! ! !

alarme e-mail!

BATIDA!

Aqui Insert Picture Descrição

Aqui Insert Picture Descrição

Aqui Insert Picture Descrição

Existem essas opções no momento de tarefas onde você pode definir um trabalho para ser bem sucedido ou completou mais de HH: MM este limiar, foram mortos no trabalho ou enviar um alerta de e-mail!

alarme agenda e-mail normal

Aqui Insert Picture Descrição

lista de empregos

Aqui Insert Picture DescriçãoVocê pode consultar cada desempenho no trabalho!
Escolha da história para o fluxo de trabalho dentro!

resumo

  • Nota citações aninhadas quando usando bash -c! aspas simples apenas a camada exterior entre aspas caso contrário ele iria resolver o problema!
  • Quando o upload falhou! Há definitivamente código de trabalho é bug!

pit deu um passo!

Embora seja ZZ, mas ainda há a necessidade postou, afinal ele está olhando por um longo tempo apenas para encontrar o errado!

  • estouro de pilha!

Aqui Insert Picture Descrição

Se você carregar um estouro de pilha ocorre quando, em geral, apenas uma possibilidade, é o surgimento de chamadas recursivas, chamada recursiva ocorre ao analisar único possível, e que é uma dependência! Quando eu escrevo job5 aparecem job5 confiar job5! Verifique se há um longo tempo apenas para descobrir! !

  • trabalho deve ser baseada em .job final de arquivo. Digite *. * !!!
  • trabalho devem ser embalados em formato zip!
  • java tipo personalizado deve ser javaprocess , java.class deve ser o nome completo da classe , classpath deve ser um caminho absoluto!
  • máquinas de Azkaban sendo executados em cima de onde o serviço deve ser configurado ambiente HADOOP_HOME ambiente HIVE, a fim de usar uma forma abreviada de chamar o autor, você pode usar o nome completo da classe para fazer a chamada! ! ! !
  • O script deve ser executado no mesmo nível conf executor diretório ou web-servidor, caso contrário não iria encontrar os arquivos de configuração global de erro no azkaban arranque! !
  • As aspas simples não podem ser aninhados, a camada externa deve ser alterado para '' aspas duplas para ser causado!
Publicado 37 artigos originais · ganhou elogios 17 · vista 1816

Acho que você gosta

Origin blog.csdn.net/qq_37714755/article/details/104977442
Recomendado
Clasificación