Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
»ùÓÚAzkabanµÄÈÎÎñ¶¨Ê±µ÷¶Èʵ¼ù
 
  1370  次浏览      27
 2019-6-5 
 
±à¼­ÍƼö:
À´Ô´×÷Õßmaxluo£¬Ö÷Òª½²½âÁËÔõô²¿Êð»·¾³£¬ÈçºÎ»ùÓÚAzkabanµÄ¹¤×÷Á÷£¬¶¨Ê±µ÷¶ÈÈÎÎñ£¬×îºó×ܽᾭÑ飬¸ü¶àÄÚÈÝÇë¿´ÏÂÎÄ¡£

Ò»¡¢Azkaban½éÉÜ

AzkabanÊÇLinkedIn¿ªÔ´µÄÈÎÎñµ÷¶È¿ò¼Ü£¬ÀàËÆÓÚJavaEEÖеÄJBPMºÍActiviti¹¤×÷Á÷¿ò¼Ü¡£

Azkaban¹¦ÄܺÍÌØµã£º

1£¬ÈÎÎñµÄÒÀÀµ´¦Àí¡£

2£¬ÈÎÎñ¼à¿Ø£¬Ê§°Ü¸æ¾¯¡£

3£¬ÈÎÎñÁ÷µÄ¿ÉÊÓ»¯¡£

4£¬ÈÎÎñȨÏÞ¹ÜÀí¡£

³£¼ûµÄÈÎÎñµ÷¶È¿ò¼ÜÓÐApache Oozie¡¢LinkedIn Azkaban¡¢Apache Airflow¡¢Alibaba Zeus,ÓÉÓÚAzkaban¾ßÓÐÇáÁ¿¿É²å°Î¡¢ÓѺõÄWebUI¡¢SLA¸æ¾¯¡¢ÍêÉÆµÄȨÏÞ¿ØÖÆ¡¢Ò×ÓÚ¶þ´Î¿ª·¢µÈÓŵ㣬ҲµÃµ½Á˹㷺ӦÓá£ÏÂͼΪAzkabanµÄ¼Ü¹¹Í¼£¬Ö÷ÒªÓÐÈý²¿·Ö×é³É£ºAzkaban Webserver¡¢Azkaban Executor¡¢ DB¡£

WebserverÖ÷Òª¸ºÔðȨÏÞÑéÖ¤¡¢ÏîÄ¿¹ÜÀí¡¢×÷ÒµÁ÷Ï·¢µÈ¹¤×÷£»

ExecutorÖ÷Òª¸ºÔð×÷ÒµÁ÷/×÷ÒµµÄ¾ßÌåÖ´ÐÐÒÔ¼°ËѼ¯Ö´ÐÐÈÕÖ¾µÈ¹¤×÷£»

MySQLÓÃÓÚ´æ´¢×÷Òµ/×÷ÒµÁ÷µÄÖ´ÐÐ״̬ÐÅÏ¢¡£Í¼ÖÐËùʾµÄÊǵ¥executor³¡¾°£¬µ«ÊÇʵ¼ÊÓ¦ÓÃÖд󲿷ֵÄÏîĿʹÓõͼÊǶàexecutor³¡¾°¡£

1.1 ×÷ÒµÁ÷Ö´Ðйý³Ì

Azkaban webserver»á¸ù¾ÝËѼ¯ÆðÀ´µÄExecutorµÄ״̬ѡÔñÒ»¸öºÏÊʵÄÈÎÎñÔËÐнڵ㣬²¢½«ÈÎÎñÍÆË͸ø¸Ã½Úµã£¬¹ÜÀí²¢ÔËÐиù¤×÷Á÷µÄËùÓÐjob¡£

1.2 ²¿Êðģʽ

AzkabanÖ§³ÖÈýÖÖ²¿Êðģʽ£¬·Ö±ðÓÃÓÚѧϰºÍ²âÊÔ£¬¸ß¿ÉÓò¿Êð·½Ê½¡£

solo-serverģʽ

DBʹÓõÄÊÇÒ»¸öÄÚǶµÄH2£¬Web ServerºÍExecutor ServerÔËÐÐÔÚͬһ¸ö½ø³ÌÀï¡£ÕâÖÖģʽ°üº¬AzkabanµÄËùÓÐÌØÐÔ£¬µ«Ò»°ãÓÃÀ´Ñ§Ï°ºÍ²âÊÔ¡£

two-serverģʽ

DBʹÓõÄÊÇMySQL£¬MySQLÖ§³Ömaster-slave¼Ü¹¹£¬Web ServerºÍExecutor ServerÔËÐÐÔÚ²»Í¬µÄ½ø³ÌÖС£

·Ö²¼Ê½multiple-executorģʽ

DBʹÓõÄÊÇMySQL£¬MySQLÖ§³Ömaster-slave¼Ü¹¹£¬Web ServerºÍExecutor ServerÔËÐÐÔÚ²»Í¬»úÆ÷ÉÏ£¬ÇÒÓжà¸öExecutor Server¡£

1.3 ±àÒ벿Êð

±àÒë»·¾³

yum install git
yum install gcc-c++
yum install java-1.8.0-openjdk-devel

 

ÏÂÔØÔ´Âë&½âѹ

mkdir ¨Cp /data/azkaban/install
cd /data/azkaban
wget https://github.com/azkaban/azkaban/archive/3.42.0.tar.gz
mv 3.42.0.tar.gz azkaban-3.42.0.tar.gz
tar -zxvf azkaban-3.42.0.tar.gz

 

 

±àÒë

cd azkaban-3.42.0
./gradlew build installDist -x test

 

 

solo-serverģʽ²¿Êð

ÏÂÃæÎªÁ˲¿Êð²âÊÔ¼òµ¥£¬²ÉÓÃsolo-serverģʽ½øÐв¿Êð¡£

cd /data/azkaban/install tar -zxvf ../azkaban-3.42.0/azkaban-solo-server/build/distributions/azkaban-solo-server-0.1.0-SNAPSHOT.tar.gz -C .

ÐÞ¸ÄÊ±Çø

cd /data/azkaban/install/azkaban-solo-server-0.1.0-SNAPSHOT
tzselect #Ñ¡ÔñAsia/Shanghai
vim ./conf/azkaban.properties
default.timezone.id=Asia/Shanghai #ÐÞ¸ÄÊ±Çø

 

 

Æô¶¯

./bin/azkaban-solo-start.sh

 

×¢:Æô¶¯/¹Ø±Õ±ØÐë½øµ½/data/azkaban/install/azkaban-solo-server-0.1.0-SNAPSHOT/Ŀ¼¡£

怬

http://ip:port/

¼àÌý¶Ë¿Ú¾ßÌå¼ûÅäÖÃ./conf/azkaban.properties£ºjetty.port=8081

IPΪ·þÎñÆ÷µØÖ·¡£

Óû§Ãû¼ûÅäÖÃ./conf/azkaban-users.xml£¬ ¾ßÓÐadmin½ÇÉ«µÄÓû§ÃûÊÇazkaban£¬ÃÜÂëÊÇazkaban£º

ÏêϸÅäÖ÷½·¨ÄÚÈݼû£ºhttps://azkaban.github.io/azkaban/docs/latest/ #azkaban-plugin-configuration

¶þ¡¢AzkabanÓëÊý²Ö¼¯ÈºµÄÍøÂ绥ͨ

ĿǰAzkabanÓëÔÆ²úÆ·SnovaÍøÂ绥ͨ»ùÓÚÁ½¸öÊÂʵ£º1£¬Azkaban ExecutorµÄ·þÎñÆ÷Äܹ»·ÃÎÊÍâÍø»òÕßÄܹ»·ÃÎÊSnovaµÄ·þÎñ¶ËIP¡£2£¬SnovaÌṩÍâÍøIP·ÃÎʵÄÄÜÁ¦¡£ÏÂÍ¼ÎªÍøÂçÁ¬Í¨Ê¾Òâͼ£º

Azkaban ExecutorÔÚÖ´ÐÐÔËÐÐjobʱ£¬Æä½Å±¾»òÕßÃüÁîͨ¹ý¹«ÍøIP·ÃÎÊSnova¡£

½ÓÏÂÀ´·Ö²½Öè½²½âÈçºÎ»ùÓÚAzkabanµÄ¹¤×÷Á÷¡£

Èý¡¢Ç°ÆÚ×¼±¸¹¤×÷

3.1 Snova¼¯Èº´´½¨ÍâÍøIP

ÔÚSnova¼¯Èº¿ØÖÆÌ¨£¬»ù´¡ÅäÖÃÒ³Ãæ£¬µã»÷¡°ÉêÇëÍâÍøµØÖ·¡±£¬µÈ´ýÔËÐгɹ¦ºó£¬»á¿´µ½·ÃÎʸü¯ÈºµÄÍâÍøIPµØÖ·¡£

3.2 Ìí¼ÓSnova·ÃÎʵØÖ·°×Ãûµ¥

ÔÚSnova¿ØÖÆÌ¨£¬¼¯ÈºÏêÇéÒ³£¬ÅäÖÃÒ³£¬Ð½¨°×Ãûµ¥ÈçÏÂËùʾ¡£

ΪʲôҪ½¨Õâ¸ö·ÃÎʰ×Ãûµ¥£¿

ΪÁËϵͳ°²È«£¬SnovaĬÈÏÇé¿öÊǾܾø²»ÔÚ°×Ãûµ¥µÄµØÖ·»òÕßÓû§·ÃÎÊÊý¾Ý¿â¡£

¼´ÅäÖÃIP°×Ãûµ¥CIDRµØÖ·Îªxx.xx.xx.xx/xx,°üÀ¨ËùÓÐAzkaban ExecutorµÄËùÓÐIP»òÕßÍø¶Î¡£

3.3 Óû§ÊÚȨ

ÔÚ3.2Õ½ÚÖУ¬½¨Òéµ¥¶À´´½¨Ò»¸öÓû§ÓÃÓÚSCFµÄÈÎÎñµ÷¶ÈºÍ¼ÆËã¡£Òò´ËÐèÒªÊÚȨ¸ÃÓû§·ÃÎʶÔÓ¦Êý¾Ý¿âºÍ±íµÄȨÏÞ¡£

´´½¨Óû§

CREATE USER scf_visit WITH LOGIN PASSWORD 'scf_passwd';

²¢ÉèÖÃÓû§·ÃÎÊÃÜÂë¡£

Êý¾Ý¿â±íÊÚȨ

GRANT ALL on t1 to scf_visit;

ËÄ¡¢¶¨Ê±µ÷¶ÈÈÎÎñ

http://node1:8081/index

µÇ¼Azkaban£¬Create Project=>Upload ÉÏÒ»²½Éú³ÉµÄzip°ü =>execute flowÖ´ÐÐÒ»²½²½²Ù×÷¼´¿É¡£

4.1 ´´½¨¹¤³Ì

4.2 ´´½¨job

job1

ÎļþÃû:job.job£¬±ØÐëÒÔ.job½áβ¡£ÄÚÈÝÈçÏ£º

type=command
command=echo "job1"
retries=5

×¢£ºtypeÀàÐͼ°Ê¹Ó÷½Ê½¼ûhttps://azkaban.github.io/azkaban/docs/latest/#job-types

job2

type=command
dependencies=job1
retries=5
command=echo "job2 xx"
command.1=ls ¨Cal

 

 

×¢£ºdependenciesΪ¸ÃjobÒÀÀµµÄÈÎÎñÎļþÃû£¨²»°üÀ¨.jobºó׺£©¡£Èç¹ûÒÀÀµ¶à¸ö£¬ÔòÒÔ¶ººÅ·Ö¸ô£¬Èçjob2,job5¡£

job3

type=command
dependencies=job2,job5
command=sleep 60

job5

type=command
dependencies=job2,job5
command=sleep 60

 

job6

type=command
dependencies=job3
command=sh /data/shell/admin.sh psqlx

 

ÆäÖÐ/data/shell/admin.sh £¬×¢Òâ×÷ÓÿÉÒÔ·â×°Óû§¹¦ÄÜ´úÂ룬½Å±¾ÄÚÈÝÈçÏ£¬ÊµÏÖ¶ÁÈ¡±íÖеÄÊý¾Ý£¬²¢½øÐдòÓ¡£º

function psqlx() { result=PGPASSWORD=scf_passwd psql -h xx.xx.xx.xx -p xx -U scf_visit -d postgres <<EOF select * from t1; EOF echo $result }

4.3ÉÏ´«jobѹËõ°ü

ѹËõËùÓÐjobÎļþµ½Ò»¸özip°üÖС£×¢Ò⣺ËùÓÐÎļþ±ØÐëÔÚѹËõ°üµÄ¸ùĿ¼ÖУ¬Ã»ÓÐ×ÓĿ¼£¬ÈçÏ£º

4.4ÔËÐÐ

²éѯִÐйý³ÌºÍ½á¹û¡£

4.5ÉèÖÃÖÜÆÚµ÷¶È

ÔÚµ÷ÊԳɹ¦Íê³Éºó£¬¿ÉÒÔÉèÖÃÖÜÆÚµ÷¶È¼Æ»®£¬±ÈÈçÿÌ춨ʱ½øÐй¤×÷Á÷µÄµ÷¶È£¬Íê³ÉÔËÐмƻ®¡£

Î塢ʵ¼ù×ܽá

¶ÔÊÐÃæÉÏ×îÁ÷ÐеÄÁ½ÖÖµ÷¶ÈÆ÷£¬¸ø³öÒÔÏÂÏêϸ¶Ô±È¡£ÖªÃû¶È±È½Ï¸ßµÄÓ¦¸ÃÊÇApache Oozie¡£

5.1 ¶Ô±È

´Ó¹¦ÄÜÉÏÀ´¶Ô±È

Á½Õß¾ù¿ÉÒÔµ÷¶ÈlinuxÃüÁî¡¢mapreduce¡¢spark¡¢pig¡¢java¡¢hive¡¢java³ÌÐò¡¢½Å±¾¹¤×÷Á÷ÈÎÎñ

Á½Õß¾ù¿ÉÒÔ¶¨Ê±Ö´Ðй¤×÷Á÷ÈÎÎñ

´Ó¹¤×÷Á÷¶¨ÒåÉÏÀ´¶Ô±È

1¡¢AzkabanʹÓÃPropertiesÎļþ¶¨Ò幤×÷Á÷

2¡¢OozieʹÓÃXMLÎļþ¶¨Ò幤×÷Á÷

´Ó¹¤×÷Á÷´«²ÎÉÏÀ´¶Ô±È

1¡¢AzkabanÖ§³ÖÖ±½Ó´«²Î£¬ÀýÈç${input}

2¡¢OozieÖ§³Ö²ÎÊýºÍEL±í´ïʽ£¬ÀýÈç${fs:dirSize(myInputDir)}

´Ó¶¨Ê±Ö´ÐÐÉÏÀ´¶Ô±È

1¡¢AzkabanµÄ¶¨Ê±Ö´ÐÐÈÎÎñÊÇ»ùÓÚʱ¼äµÄ

2¡¢OozieµÄ¶¨Ê±Ö´ÐÐÈÎÎñ»ùÓÚʱ¼äºÍÊäÈëÊý¾Ý

´Ó×ÊÔ´¹ÜÀíÉÏÀ´¶Ô±È

1¡¢AzkabanÓнÏÑϸñµÄȨÏÞ¿ØÖÆ£¬ÈçÓû§¶Ô¹¤×÷Á÷½øÐжÁ/д/Ö´ÐеȲÙ×÷

2¡¢OozieÔÝÎÞÑϸñµÄȨÏÞ¿ØÖÆ

5.2 Ó¦Óó¡¾°

¶ÔÓÚÊý¾Ý·ÖÎö»ù±¾ÉÏ¿ÉÒÔ¸ÅÀ¨ÎªÈý¸ö²½Ö裺 Ò»¡¢Êý¾Ýµ¼Èë¡£¶þ¡¢Êý¾Ý¼ÆËã¡£Èý¡¢Êý¾Ýµ¼³ö¡£

Èý¸öÀàÐ͵ÄÈÎÎñ¿ÉÄÜÊǶà¸ö²¢·¢ÔËÐУ¬ÇÒÈÎÎñÒÀÀµ¡£Òò´ËAzkaban»ù±¾ÉÏÄÜÂú×ãÒÔÉϵÄÈÎÎñµ÷¶È¹ÜÀíºÍÔËÐг¡¾°ÐèÇó¡£

Ê×ÏÈ´´½¨Ò»¸öjob1£¬ÓÃÓÚÓû§Êý¾Ýµ¼È룬±ÈÈç´Ócosµ¼Èë,ÈÎÎñÄÚÈÝÖ´ÐÐÒÔÏÂSQLÃüÁî¡£

insert into gp_table select * from cos_table;

Êý¾ÝµÄµ¼ÈëÒ²¿ÉÒÔͨ¹ýÆäËûµ¼È빤¾ß£¬ÈçDataX½«ÆäËûÊý¾Ý¿âµÄÊý¾ÝÖÜÆÚÐԵĵ¼ÈëSnovaÊý¾Ý²Ö¿âÖС£Òò´ËÖ»Ðè°ÑDataX²¿Êðµ½Azkaban Executor»úÆ÷¶ÔӦĿ¼£¬²¢½øÐе÷Óü´¿É

Æä´Î£¬´´½¨job2,Óû§Êý¾Ý¼ÆËã·ÖÎö¡£¸Ã²½Öè¿ÉÒÔÊǶà¸öjob¶à´ÎÔËÐеĽá¹û£¬Ò²¿ÉÒÔÊDz¢·¢ÔËÐС£

×îºó£¬¿ÉÒ԰ѼÆËã½á¹û³ö¿âµ½Ó¦ÓÃÊý¾Ý¿â¡£

insert into cos_table select * from gp_table;

5.2 ²»×ã

1£¬AzkabanĿǰJobÁ£¶ÈµÄʧ°ÜÖØÊÔÀí½âÏà¶Ô¸´ÔÓ£¬ÔÚProjects->ExecutionsÕÒµ½¶ÔÓ¦µÄÖ´ÐÐʧ°ÜµÄId£¬Ñ¡Ôñ¸ÃÖ´ÐÐʵÀýID£¬½øÈëÏêÇ飬µã»÷ÖØÐÂÔËÐУ¬Ôò»áÉú³ÉÒ»¸öÈ«ÐµĹ¤×÷Á÷ʵÀýID£¬¶ø²»ÊÇÖØÐÂÔËÐÐÔ­À´Ê§°ÜµÄʵÀýID£¬ÐµÄʵÀýID´Óʧ°ÜµÄjob¿ªÊ¼ÔËÐУ¬ÒѾ­³É¹¦ÔËÐеÄÖ±½ÓÌø¹ý£¬²»ÔÙÔËÐС£

2£¬jobͨ¹ýshellÃüÁîÆô¶¯¸´ÔӵijÌÐò£¬shell·µ»Ø³É¹¦£¬²¢²»´ú±í³ÌÐòÔËÐгɹ¦¡£

3£¬jobÔËÐйÜÀíÈÝ´íÐÔ²»×㣬µ±Ò»¸öjobÌá½»Ò»¸öÔËÐÐÈÎÎñºó£¬´ËÊ±ÖØÆô»òÕßexecutor½ø³Ì¹Òµô£¬¸ÃÈÎÎñ½«³öÏÖ״̬ʧ°ÜµÄÇé¿ö£¬Êµ¼Ê¿ÉÄÜÈÎÎñÒѾ­ÔËÐгɹ¦¡£

   
1370 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

»ùÓÚEAµÄÊý¾Ý¿â½¨Ä£
Êý¾ÝÁ÷½¨Ä££¨EAÖ¸ÄÏ£©
¡°Êý¾Ýºþ¡±£º¸ÅÄî¡¢ÌØÕ÷¡¢¼Ü¹¹Óë°¸Àý
ÔÚÏßÉ̳ÇÊý¾Ý¿âϵͳÉè¼Æ ˼·+Ч¹û
 
Ïà¹ØÎĵµ

GreenplumÊý¾Ý¿â»ù´¡Åàѵ
MySQL5.1ÐÔÄÜÓÅ»¯·½°¸
ijµçÉÌÊý¾ÝÖÐ̨¼Ü¹¹Êµ¼ù
MySQL¸ßÀ©Õ¹¼Ü¹¹Éè¼Æ
Ïà¹Ø¿Î³Ì

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ