±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚCSDN£¬±¾ÎÄÖ÷Òª½éÉÜÁËAzkabanÔËÐÐģʽ£¬×é¼þ¹¹³ÉÒÔ¼°AzkabanµÄÅäÖõÈÏà¹ØÄÚÈÝ¡£ |
|
1. Azkaban¸ÅÊö
Azkaban¼¼Êõ²úÉúǰ¾°£º
ÔÚ´óÊý¾Ý·ÖÎö³¡¾°ÖУ¬ÒÔETL£¨ Extract³éÈ¡ -Transform½»»¥×ª»» -Load¼ÓÔØ
£©ÎªÀý £¬Êý¾ÝµÄ²Ù×÷°üº¬ÁËÈçÏÂÁ÷³Ì£ºRDBMS ==>Sqoop ==>Hadoop ==>Sqoop
==>RDBMS/NoSQL/...,ÕâÀïÉæ¼°ÁËÈý¸öÁ÷³Ì£ºÊý¾Ý³éÈ¡ ==> Êý¾ÝÇåÏ´ ==>
Êý¾ÝÈë¿â¡£
ÕâÈý¸ö²½Öè³öÏÖÁËÃ÷ÏÔµÄ˳ÐòÎÊÌâ¡£¼ÙÉèÊý¾Ý³éÈ¡ÐèÒª3h,Êý¾ÝÇåÏ´ÐèÒª2h,Êý¾ÝÈë¿âÐèÒª1h¡£ÎÒÃÇ¿ÉÒÔʹÓÃlinux
shellÌṩµÄcrontab À´ÊµÏÖ¡£ËûµÄÓŵãÊÇʹÓüòµ¥£¬È±µãÈ´Óкࣺܶ
1. Á÷³Ì²»±ãÓÚ¸ú×ÙºÍ¼à¿Ø£¨Á÷³Ìij¸ö»·¾³³ö´íû°ì·¨¼à¿Ø£©¡£
2. ÔÚÕâ¸öÁ÷³ÌÖÐÓÐЩģ¿éÖ´ÐеÄʱ¼ä¿ÉÄܳöÏÖÑÓ³Ù/Ìáǰ¡£±ÈÈçÊý¾ÝÇåÏ´Ô¤²âÐèÒª2h,½á¹ûÓÃÁË3h£¬´Ë¿ÌÊý¾ÝÈë¿âÔÚǰһ¸öÈÎÎñ»¹Ã»Ö´ÐÐÍê¾ÍÒѾ¿ªÊ¼Ö´ÐÐÁË£»±ÈÈçÇåÏ´Ô¤²âÐèÒª2h,½á¹ûÓÃÁË1h£¬µ¼ÖºóÃæµÄÁ÷³Ì³öÏÖÎÞЧµÈ´ýµÄ״̬¡£
Òò´Ë£¬ÏñAzkabanÕâÑùµÄµ÷¶È¿ò¼ÜÔÚÎÒÃÇÊý¾Ýƽ̨ÖоͰçÑÝןÜÖØÒªµÄ½ÇÉ«¡£
´óÊý¾ÝÖг£¼ûµÄµ÷¶È¿ò¼Ü
´óÊý¾ÝÖг£¼ûµÄµ÷¶È¿ò¼Ü£¬×î³£¼ûµÄ¾ÍÊÇcrontab¡£³ý´ËÖ®Í⻹Óкܶ༯³É¿ò¼Ü£º
Quartz£ºQuartzÊÇOpenSymphony[pn smfni] ¿ªÔ´×éÖ¯ÔÚJob
schedulingÁìÓòÓÖÒ»¸ö¿ªÔ´ÏîÄ¿£¬Ëü¿ÉÒÔÓëJ2EEÓëJ2SEÓ¦ÓóÌÐòÏà½áºÏÒ²¿ÉÒÔµ¥¶ÀʹÓá£
Azkaban£ºAzkabanÊÇÓÉLinkedin¹«Ë¾ÍƳöµÄÒ»¸öÅúÁ¿¹¤×÷Á÷ÈÎÎñµ÷¶ÈÆ÷£¬ ÆäʹÓÃjobÅäÖÃÎļþ½¨Á¢ÈÎÎñÖ®¼äµÄÒÀÀµ¹ØÏµ£¬²¢Ìṩһ¸öÒ×ÓÚʹÓõÄwebÓû§½çÃæÎ¬»¤ºÍ¸ú×ÙÄãµÄ¹¤×÷Á÷
¡£
Oozie£ºOozieÊÇÒ»¸ö¹¤×÷Á÷ÒýÇæ·þÎñÆ÷£¬ÓÃÓÚÔËÐÐhadoop map/reduceºÍhiveµÈÈÎÎñ¹¤×÷Á÷¡£Í¬Ê±Oozie»¹ÊÇÒ»¸öjava
web³ÌÐò£¬ÔËÐÐÔÚjava servletÈÝÆ÷ÖУ¬ÈçtomcatÖС£OozieÒÔactionΪ»ù±¾µ¥Î»£¬¿ÉÒÔ½«¶à¸öaction¹¹³ÉÒ»¸öDAGͼµÄģʽÔËÐС£Oozie¹¤×÷Á÷ͨ¹ýHPDL£¨Ò»ÖÖͨ¹ýXML×Ô¶¨Òå´¦ÀíµÄÓïÑÔ£©À´¹¹ÔìOozie¹¤×÷Á÷¡£
Zeus£ºÖæË¹Êǰ¢Àï°Í°Í¿ªÔ´µÄÒ»¿î·Ö²¼Ê½Hadoop×÷Òµµ÷¶Èƽ̨£¬ÊµÏÖÈÎÎñµÄ·Ö²¼Ê½µ÷¶È£¬Ö§³Ö¶à»úÆ÷µÄˮƽÀ©Õ¹¡£
Azkaban¸ÅÊö
AzkabanÊÇÒ»¸öÓÉLinkedIn ´´½¨µÄÓÃÀ´ÅÜHadoop ÈÎÎñµÄÅúÁ¿µÄ¹¤×÷Á÷Ö´ÐÐÆ÷£»Æä½â¾öÁËjobÒÀÀµË³ÐòµÄÎÊÌ⣬²¢ÌṩÁËÒ»¸ö¼òµ¥Ò×ÓõÄÓû§½çÃæ¼ì²âÎÒÃǵŤ×÷Á÷¡£
AzkabanÌØÐÔÈçÏ£º
¼æÈÝËùÓÐHadoop°æ±¾
¼òµ¥Ò×ÓõÄweb²Ù×÷½çÃæºÍweb¹¤×÷Á÷×ÊÔ´Ìá½»»úÖÆ
ÔÚAzkabanÖÐÿ¸öÏîÄ¿Ï໥¶ÀÁ¢»¥²»Ó°Ïì¡£
Á¼ºÃµÄ¹¤×÷Á÷Ö´Ðзâ×°£¨Ö´ÐÐÈÎÎñÁ÷ÎÞÐèÌ«¸´ÔӵIJÙ×÷ Ò»¸ö°´Å¥¸ã¶¨£©¡£
Ä£¿é»¯ºÍ²å¼þ»¯£ºÖ´ÐеľßÌåÈÎÎñ²»»áÓëAzkabanÏ໥ñîºÏ£¬´úÂëÇÖÈëÐԵ͡£
ÈÏÖ¤ÓëÊÚȨ£ºÁ¼ºÃµÄȨÏÞ¹ÜÀí»úÖÆ
¸ú×ÙÓû§µÄÐÐΪ£º·½±ã³öÏÖÎÊÌâºóÖªµÀÊÇÄĸöÓû§µÄ´íÎóµ¼Öµġ£
ÈÎÎñ³É¹¦/ʧ°ÜºóµÄ Óʼþ֪ͨ»úÖÆ
ÈÎÎñ´íÎóµÄÖØÊÔ»úÖÆ
Azkaban3.x ÒÔºó²»Ìṩֱ½ÓµÄ°²×°°üÏÂÔØ£¬Æä°²×°°üÐèͨ¹ýGradle½Å±¾À´±àÒ룬 ²¢ÇÒÒªÇó×îµÍµÄJava°æ±¾ÊÇ8.
ÈçÏÂÊÇAzkabanµÄÑ§Ï°ÍøÕ¾£º
AzkabanµÄ¹ÙÍø£ºhttps://azkaban.github.io
AzkabanµÄ¿ò¼ÜÔ´Â룺https://github.com/azkaban/azkaban
AzkabanÎĵµ£ºhttps://github.com/azkaban/azkaban.github.io
#2. Azkaban¼Ü¹¹¼òÎö
AzkabanÓÉÈý¸ö¹Ø¼ü×é¼þ¹¹³É£¨ÈçÏÂͼ£©£º
MySQL¹ØÏµÐÍÊý¾Ý¿â£ºAzkabanʹÓÃÊý¾Ý¿â´æ´¢´ó²¿·Ö״̬£¬AzkabanWebServerºÍAzkabanExecutorServer¶¼ÐèÒª·ÃÎÊÊý¾Ý¿â¡£
AzkabanWebServer£ºAzkabanWebServerÊÇÕû¸öAzkaban¹¤×÷Á÷ϵͳµÄÖ÷Òª¹ÜÀíÕߣ¬Ëü¸ºÔðproject¹ÜÀí¡¢Óû§µÇ¼ÈÏÖ¤¡¢¶¨Ê±Ö´Ðй¤×÷Á÷¡¢¸ú×Ù¹¤×÷Á÷Ö´Ðнø¶ÈµÈһϵÁÐÈÎÎñ¡£
AzkabanExecutorServer£ºÔçÆÚ°æ±¾µÄAzkabanÔÚµ¥¸ö·þÎñÖоßÓÐAzkabanWebServerºÍAzkabanExecutorServer¹¦ÄÜ£¬Ä¿Ç°AzkabanÒѽ«AzkabanExecutorServer·ÖÀë³É¶ÀÁ¢µÄ·þÎñÆ÷¡£ÆäºÃ´¦ÊÇij¸öÈÎÎñÁ÷ʧ°Üºó£¬¿ÉÒÔ¸ü·½±ãµÄ½«ÆäÖØÐÂÖ´ÐУ¬±ãÓÚAzkabanÉý¼¶¡£

AzkabanµÄÁ½ÖÖÔËÐÐģʽ
ÔÚ°æ±¾3.0ÖУ¬AzkabanÌṩÁËÒÔÏÂÁ½ÖÖģʽ£º
solo server mode£º×î¼òµ¥µÄģʽ£¬Êý¾Ý¿âÄÚÖõÄH2Êý¾Ý¿â£¬AzkabanWebServerºÍAzkabanExecutorServer¶¼ÔÚÒ»¸ö½ø³ÌÖÐÔËÐУ¬ÈÎÎñÁ¿²»´óÏîÄ¿¿ÉÒÔ²ÉÓôËģʽ£¨ÌرðÊʺϳõѧÕßѧϰʹÓ㬹¦ÄÜÆëÈ«£©¡£
multiple executor mode£º ÊÊÓÃÓÚ¸ü¶àµÄÉú²ú»·¾³£¬ÆäʹÓÃMySQL À´½øÐÐÔªÊý¾Ý¹ÜÀí²¢ÇÒÖ§³ÖÖ÷´Ó½á¹¹¡£ÔÚÕâÖÖģʽÏÂweb
serverºÍexecutor server ¶ÀÁ¢ÔËÐÐÔÚ²»Í¬µÄÖ÷»úÖС£ÕâÖÖģʽ´øÀ´µÄºÃ´¦ÊÇ¿ÉÒÔÈÃAzkaban¸ü¼Ó½¡×³ºÍ¿ÉÀ©Õ¹¡£
ÔÚѧϰµÄ¹ý³ÌÖУ¬ÎÒÃÇ¿ÉÒÔʹÓÃÀ´solo server ÕâÖÖģʽÀ´ÔËÐÐAzkabanʵÀý¡£
3. AzkabanµÄÏÂÔØºÍ±àÒë
ÏÂÔØÖ®Ç° ÇëÈ·±£±¾»úµÄ Java °æ±¾Îª 1.8 ¡£
ÏÂÔØAzkabanÔ´Â룺

½âѹazkabanѹËõ°ü²¢½øÈë¸ÃĿ¼£º

azkaban-common: »ù±¾µÄÒÀÀµ°ü
azkaban-db: ¿ò¼ÜºËÐÄ×é¼þ-Êý¾Ý¿â¹¤¾ß
azkaban-exec-server & azkaban-web-server : ¿ò¼ÜºËÐÄ×é¼þ
azkaban-solo-server: ¼¯³ÉÔËÐÐģʽ¹¤¾ß°ü
azkaban-spi : azkaban´æ´¢½Ó¿ÚÒÔ¼°exceptionÀà
azkaban-hadoop-security-plugin: hadoop ÓйØkerberos²å¼þ
ÔÚ±àÒëÔ´Âë֮ǰ£¬ÏÈÒªÏÂÔØgradleµÄÒÀÀµ°ü£¬ÖÁÓÚҪʲô°æ±¾£¬²é¿´ÈçÏ£º

ÈçϵØÖ·ÊÇGradleµÄ¹Ù·½ÏÂÔØµØÖ·£ºhttps://services.gradle.org/distributions
ÏÂÔØºÃ¶ÔÓ¦µÄ°æ±¾ºó£¬½«Ñ¹Ëõ°ü´æ·Åµ½ÈçÏÂλÖãº

ÐÞ¸ÄÅäÖÃÎļþ£º

·µ»Ø°²×°°üÖ÷Ŀ¼ִÐбàÒë³ÌÐò£¨×¢Òâ¹Ù·½¸ø³öµÄ±àÒë°æ±¾²»´ø²âÊÔÃüÁî-x test,ʾÀýÈçÏ£©
# Build without
running tests
>$ ./gradlew build installDist -x test |
Ö´ÐÐÉÏÃæµÄÃüÁ³öÏÖÁËgitÓйصÄÒì³££¬ÕâÀïÖ÷ÒªÊÇϵͳûÓа²×°gitÃüÁʹÓÃyum install
-y git,ºóÖØÐÂÖ´Ðв½Öè4£¬½ÓÏÂÀ´µÈ´ýÂþ³¤µÄÏÂÔØ£¨ÒòΪĬÈÏʹÓõÄÊǹúÍâµÄgradle¾µÏñ½øÐÐ×ÊÔ´ÏÂÔØ£©¡£
ΪÁ˼õÉÙ±àÒëʱÏÂÔØÕ¼ÓÃʱ¼ä£¬Ò»°ã»áΪgradleÔ¶³Ì×ÊÔ´Ìṩ¾µÏñµØÖ··½±ãÏÂÔØ
#ÔÚ ${AZKABAN_HOME}/build.gradleÎļþÖÐÅäÖÃ,È»ºóÖØÐÂÖ´Ðв½Öè4£º
mavenLocal()
maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
maven{ url 'http://maven.oschina.net/content/groups/public/'} |

4±àÒë³É¹¦ºó£¬¿ÉÒÔÕÒµ½Õû¸ö¼Ü¹¹µÄÿ¸ö²¿·Ö¶¼»á¶à³öÒ»¸öbuildÎļþ¼Ð£¬Õâ²ÅÊÇÎÒÃÇÒª°²×°µÄÎļþ£º
[root@azkabanvm
azkaban]# ls azkaban-solo-server/build
classes distributions install libs resources tmp
[root@azkabanvm azkaban]# ls azkaban-exec-server/build
classes distributions install libs resources tmp
[root@azkabanvm azkaban]# ls azkaban-web-server/build
classes distributions dust install jsToPackage
less libs nodejs resources tmp
[root@azkabanvm azkaban]# ls azkaban-db/build
classes distributions install libs sql tmp |
4. Azkaban-solo-server°²×°
ÔÚÉÏÒ»½ÚµÄ½²½âÖУ¬ÎÒÃÇÒѾÍê³ÉAzkaban¸÷¸öÄ£¿éµÄ±àÒë¡£ÈçÏ£º
$AZKABAN_SOURCE_HOME/azkaban-solo-server/build/distributions/*.tar.gz(zip)
$AZKABAN_SOURCE_HOME/azkaban-web-server/build/distributions/*.tar.gz(zip)
$AZKABAN_SOURCE_HOME/azkaban-executor-server/build/distributions/*.tar.gz(zip) |
½«Æä¶ÔÓ¦°üϵÄ.tar.gzÎļþ¿½±´µ½¶ÀÁ¢µÄÎļþ¼ÐÏ£¨¸ÃÎļþ¼ÐÓÃÀ´°²×°
Azkaban£©²¢½âѹ£¬²¢ÇÒ²»ÒªÍü¼Ç¿½±´azkaban-db/build/distributions/xxx.sqlÎļþ£¨ÕâÊÇÒ»¸öÊý¾Ý¿â³õʼ»¯µÄ½Å±¾Îļþ£©
:
[root@azkabanvm
packages]# ll
total 58276
drwxr-xr-x. 6 root root 4096 Sep 29 01:24 azkaban-exec-server-0.1.0-SNAPSHOT
-rw-r--r--. 1 root root 15767192 Sep 29 01:24
azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz
drwxr-xr-x. 8 root root 4096 Sep 29 01:25 azkaban-solo-server-0.1.0-SNAPSHOT
-rw-r--r--. 1 root root 23876418 Sep 29 01:25
azkaban-solo-server-0.1.0-SNAPSHOT.tar.gz
drwxr-xr-x. 6 root root 4096 Sep 29 01:25 azkaban-web-server-0.1.0-SNAPSHOT
-rw-r--r--. 1 root root 20009922 Sep 29 01:25
azkaban-web-server-0.1.0-SNAPSHOT.tar.gz |
³õʼ»¯MySQL,ÕâÀïÖ±½ÓÌù³ö×î¼òµ¥µÄ°²×°·½Ê½£º
yum install -y
mysql-server
yum install -y mysql
service mysqld start
mysql> mysql -u root -p
mysql> ##µÚÒ»´Î°²×°Ã»ÓÐÃÜÂë Ö±½Ó°´Enter¼ü È»ºóÐ޸ĵ±Ç°ÃÜÂë
mysql> set password for 'root'@'localhost'
= password('root') ;
mysql> grant all privileges on *.* to root@192.168.60.13
identified by 'root';
mysql> FLUSH PRIVILEGES;
mysql> create database azkaban; |
½«sqlÎļþµ¼Èëµ½azkabanÊý¾Ý¿âÖÐ
mysql> use
azkaban;
mysql> source /usr/local/azkaban/packages/create-all-sql-0.1.0-SNAPSHOT.sql;
mysql> show tables; |
Éú³ÉÃØÔ¿Îļþ£º

´ò¿ªazkaban-solo-server-0.1.0-SNAPSHOT/conf/azkaban.propertiesÎļþ£¨ÕâÀïÖ÷ÒªÅäÖõÄÊÇÊý¾Ý¿âÇý¶¯ºÍÖ¤ÊéÈÏÖ¤£©£º
default.timezone.id=Asia/Shanghai
database.type=mysql
mysql.port=3306
## ÕâÀï×îºÃÅäÖÃIPµØÖ·
mysql.host=192.168.66.170
mysql.database=azkaban
mysql.user=root
mysql.password=sql_9879
mysql.numconnections=100
jetty.use.ssl=true
jetty.maxThreads=25
jetty.ssl.port=8666
jetty.port=8081
#×¢ÒâÕâÀïҪͳһÅäÖúÃkeystoreÎļþ´æ´¢µÄ·¾¶
jetty.keystore=.../keystore
jetty.password=000000
jetty.keypassword=000000
#×¢ÒâÕâÀïҪͳһÅäÖúÃkeystoreÎļþ´æ´¢µÄ·¾¶
jetty.truststore=.../keystore
jetty.trustpassword=000000 |
´Óazkaban.propertiesÎļþÄÚÈÝ¿ÉÒÔ¿´³ö»¹ÓÐÒ»¸öÎļþÊÇÓÃÀ´¹ÜÀíµÇ¼µÄÓû§µÄ£¬ÄǾÍÊÇazkaban-users.xml£¬ÎÒÃÇ¿ÉÒÔÔÚÕâ¸öÎļþÖÐÅäÖÃÃÜÂ룺

ÔÚ±¾»úµÄ /etc/hosts ÎļþÖÐÌí¼Ó±¾»úIPµØÖ·µÄÓ³É䣺
·µ»Øazkaban-solo-server-0.1.0-SNAPSHOTĿ¼£¬ÔÚÕâ¸öĿ¼ÏÂÆô¶¯solo£º
[root@azkabanvm
azkaban-solo-server-0.1.0-SNAPSHOT]# bin/start-solo.sh
[root@azkabanvm azkaban-solo-server-0.1.0-SNAPSHOT]#
jps
3252 Jps
3227 AzkabanSingleServer
#Èç¹û½ø³ÌûÓÐÆô¶¯ ¿ÉÒÔÔÚµ±Ç°Ä¿Â¼Ï»á×Ô¶¯´´½¨Æô¶¯½Å±¾µÄÈÕÖ¾£º
[root@azkabanvm azkaban-solo-server-0.1.0-SNAPSHOT]#
cat soloServerLog__2018-09-29+18\:30\:29.out |
×¢Ò⣺ÉÏÃæµÄsolo-server»á´´½¨Ò»¸ö½ÐAzkabanSingleServerµÄ½ø³Ì£¬²¢ÔÚÆô¶¯Ò»»áÖ®ºóÖ÷¶¯Í˳ö£¬Õâ¸ö²Ù×÷¿ÉÒÔÓÃÀ´¼ì²éÎÒÃǵÄÅäÖÃÎļþÊÇ·ñÕýÈ·¡£¶øÎÒÃÇÕæÕýÒªÆô¶¯µÄÊÇÒ»¸öExecutor
½ø³ÌºÍ Web½ø³Ì¡£
5. web/executor-server °²×°
½«solo-serverϵÄazkaban.propertiesÎļþºÍazkaban-users.xmlÎļþ¿½±´µ½web/conf
Îļþ¼ÐÏ¡£
Æô¶¯web·þÎñ£º
[root@azkabanvm
azkaban-web-server-0.1.0-SNAPSHOT]# bin/start-web.sh
[root@azkabanvm azkaban-web-server-0.1.0-SNAPSHOT]#
jps
3744 Jps
3336 AzkabanWebServer
|
´ÓÆô¶¯µÄÈÕÖ¾ÎļþÖÐÎÒÃÇÒ²¿ÉÒÔ¿´µ½Æô¶¯µÄ¶Ë¿Ú£¬×¢ÒâÕâÀïÒ»¶¨Òª±£Ö¤·À»ðǽÊǹرյģº
[root@azkabanvm
azkaban-web-server-0.1.0-SNAPSHOT]# service iptables
stop |
ÔÚÍøÒ³¶Ë·ÃÎÊsslÒ³Ãæ£º

½«solo-serverϵÄazkaban.propertiesÎļþºÍazkaban-users.xmlÎļþ¿½±´µ½executor/conf
Îļþ¼ÐÏ¡£
½øÈëexecutorÎļþ¼Ð£¬Æô¶¯executor½ø³Ì£º
[root@azkabanvm
azkaban-exec-server-0.1.0-SNAPSHOT]# bin/start-exec.sh
[root@azkabanvm azkaban-exec-server-0.1.0-SNAPSHOT]#
jps
3634 Jps
3607 AzkabanExecutorServer
3336 AzkabanWebServer |
6. ÆÕͨshellÃüÁîJob
µÇÂ¼Ò³Ãæºó£¬´´½¨Ò»¸öJobÏîÄ¿¡£

´´½¨command.jobÎļþ£¬ÄÚÈÝÈçÏ£¬¿½±´Íê³Éºó½«Æä´ò°ü³ÉzipÎļþ
ÉÏ´«JobÏîÄ¿ÖУº
#command.job
type=command
command=echo 'hello' |
µÚÒ»´ÎÖ´ÐÐÏîĿʱ³öÏÖ¿¨×¡µÄÏÖÏó£¬Ö÷ÒªÊÇazkabanÒªÇóÖ´ÐÐJob±ØÐëÔËÐÐÔÚ×îµÍÓÐ3GµÄÄÚ´æ¿Õ¼äÀÈç¹ûÄã²»ÐèÒªÕâÑùµÄÏÞÖÆ¿ÉÒÔÐÞ¸Äexecutor/plugins/jobtypes/commonprivate.propertiesÎļþ£¬½«memCheck.enabled=false¡£È»ºóÖØÆôÕû¸ö·þÎñ£¨°üÀ¨webºÍexecutor£©¡£ÖØÐÂÖ´ÐÐÈÎÎñ²Å»á³É¹¦¡£
7. HDFS²Ù×÷µÄJob
³ýÁË¿ÉÒÔÔÚAzkabanÉÏÖ´ÐÐÆÕͨµÄshellÃüÁ»¹¿ÉÒÔÖ´ÐÐHDFSµÄÃüÁ½ÓÏÂÀ´ÓÃÒ»¸öС°¸ÀýÀ´ÊµÏÖ£º

Ê×ÏÈҪȷ±£ÃüÁîûÓÐ´í£¬½ÓÏÂÀ´×Ô¼ºÐ´Ò»¸öjob£¬ÄÚÈÝÈçÏ£º
#hdfs.job
type=command
command=/root/apps/hadoop/bin/hdfs dfs -ls / |
ÔÚ¿ØÖÆÌ¨²é¿´½á¹ûÈçÏ£º

8. MapReduce²Ù×÷µÄJob
¼ÈÈ»¿ÉÒÔ²Ù×÷HDFS£¬ÄÇôÊÇ·ñ¿ÉÒÔÖ´ÐÐMapReduce , ΪÁËÑéÖ¤Õâ¸ö½á¹û£¬Ê×ÏÈÒªÓиöMapReduce³ÌÐò£¬ÈçÏ£º

¶ÔÓÚÖ´ÐÐMapReduce£¬²Ù×÷ʱºò¿ÉÒÔ½«jar°üºÍjobÎļþÒ»Æð´ò°ü£¬Ò²¿ÉÒÔÔÚjobÄÚ²¿Ö¸¶¨jar°üµÄ·¾¶£º
#mapreduce.job
type=command
command=/root/apps/hadoop/bin/hadoop jar /root/apps/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.5.jar
pi 5 5 |
Ö´Ðнá¹ûÈçÏ£º

9. Hive²Ù×÷µÄJob
Ê×ÏÈ Òª±£Ö¤»·¾³ÖÐÓÐhive¹¤¾ß¿ÉÒÔʹÓ㬲¢ÓжÔÓ¦µÄÊý¾Ý¿â¿ÉÒÔ²Ù×÷£¬hive.jobÄÚÈÝÈçÏ£º
##hive.job
type=command
command=/root/apps/hive/bin/hive -f curd.sql |
curd.sql ÄÚÈÝÈçÏ£º
½«ÕâÁ½²¿·ÖÄÚÈÝ´ò°üµ½azkabanƽ̨£¬Ö´ÐÐÈçÏ£º

10. ÈÎÎñµÄÒÀÀµ¹ØÏµ
ÔÚAzkabanÖÐʵ¼ÊÉú²úÖУ¬¸ü¶àʹÓõÄÊǶà¸ö²»Í¬ÈÎÎñµÄJobÐγÉеĵÄJob£¬ÆäÄÚ²¿µÄÿ¸öjob¶¼ÐèÒª¶¨ÒåºÃÖ´ÐеÄ˳Ðò£¬ÕâÀï¿ÉÒÔʹÓÃdependenciesÊôÐÔÀ´ÅäÖá£
##foo.job
type=command
command=echo "foo"
##bar.job
type=command
dependencies=foo
command=echo "bar" |
11. Azkaban֪ʶµã²¹³ä
AzkabanÖ§³ÖµÄÖ¸ÁîÀàÐÍÓкܶàÖÖ£¬±ÈÈçshellÖ¸Áhadoop shellÖ¸ÁJava´úÂ룬hadoop
java´úÂ룬Pig Ö¸ÁHiveÖ¸ÁîµÈµÈ£¬µ«ÊÇ×î³£¼ûµÄ»¹ÊÇshell µÄcommandÖ¸Á¹Ù·½Â·¾¶ÊÇ£º
https://azkaban.readthedocs.io/en/latest/jobTypes.html
¡£
ÔÚÒ»¸öjobÖпÉÒÔÒ»´ÎÐÔÖ´Ðжà¸ö²»Í¬µÄcommandÖ¸ÁÏñ command.1
, command.2 µÈµÈ¡
##multiple commands
job
type=command
command.1=ls /root
command.2=mkdir /root/wolfcode
command.3=... |
µ±Ç°ÎÒÃÇ×î³£ÓõÄÊÇ·½Ê½ÊÇͨ¹ýAzkaban ÌṩµÄÍøÒ³¶ËÀ´²Ù×÷ÈÎÎñÁ÷£¬Í¬Ê±Azkaban
Ò²ÌṩÁËajax apiµÄ·½Ê½À´²Ù×÷ÈÎÎñÁ÷£¬ÏêÇé¿ÉÒԲ鿴¹Ù·½Îĵµ£º https://azkaban.readthedocs.io/en/latest /ajaxApi.htmlhighlight=ajax¡£
1.Ö´Ðй¤×÷Á÷½çÃæ£ºFrom the Flow View panel, you can right
click on the graph and disable or enable jobs. Disabled
jobs will be skipped during execution as if their
dependencies have been met. Disabled jobs will appear
translucent.
2.ÔÚ¹¤×÷Á÷µÄ×ó±ß»¹ÓÐÒ»¸öÍ¨ÖªÃæ°å£¬ÔÚµ±Ö´ÐÐÍê³É/³É¹¦/ʧ°ÜµÄʱºò£¬¿ÉÒÔͨ¹ýÅäÖÃemailÀ´½øÐÐÏà¹ØÔðÈÎÈ˵Ä֪ͨ£¨Õâ¸öÄ£¿éÒòΪ¼°Ê±ÐԱȽϵÍ
Ò»°ãÓò»µ½£©
3.ÔÚ¹¤×÷Á÷×óϽǻ¹ÓÐÒ»¸ö¶¨Ê±Æ÷µÄ°´Å¥£¬Æäʱ¼äµÄ¹æ·¶Óëcrontab µÄʱ¼ä¹æ·¶Ò»Ö£¬ÆäÓÃÀ´Ö¸¶¨ÈÎÎñ×ö¶¨Ê±Ö´ÐС£

|