您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > azkaban技术分享手册
简介azkaban是LinkedIn开发的一个批处理工作流作业调度器,用于允许处理hadoop任务等;azkaban通过依赖关系解决了多个job的顺序,并提供了一个易于使用的web用户界面维护和跟踪你的工作流。其特性如下:兼容hadoop的任何版本简易的web界面管理支持作业web上传及Ajax上传支持任务定时执行系统模块化和可插拔的插件机制支持用户认证及权限验证、及自定义权限管理功能可跟踪并记录用户操作支持邮件提示按照SLA执行报警和杀作业支持job失败重试,并能够杀死并重启job支持工作流和任务的日志记录和审计核心组件及模式Azkaban有三个核心组件:RelationalDatabase(MySQL)(soloservermode模式是基于H2)AzkabanWebServerAzkabanExecutorServerAzkaban3.0中三种模式:Solo-server模式DB是嵌入的H2数据库,适用于执行简单的小规模的job用例Twoserver模式:该模式适用生产环境使用,其与主从数据库支持MySQL实例设置。web服务器和执行人服务器运行在不同的进程中,升级和维护不影响用户。Multi-server模式:该模式适用接近生产环境使用,其与主从数据库支持MySQL实例设置。web服务器和执行人服务器运行在不同的机器上,升级和维护不影响用户。多个机器组成的分布式集群,可以保证系统的健壮性和伸缩性系统时区配置1.查看时区[xxx@singleazkaban-web-2.5.0]$more/etc/sysconfig/clockZONE=Asia/ShanghaiUTC=trueARC=false2.修改时区时区文件都在/usr/share/zoneinfo,复制相应时区覆盖/etc/localtime即可[lijia@singleazkaban-web-2.5.0]$ll/usr/share/zoneinfocp/usr/share/zoneinfo/Asia/Shanghai/etc/localtime*修改webserver和excutorserver都需要配置时区,必须和系统时区一致default.timezone.id=Asia/Shanghai安装安装mysql暂略,具体请参考CDH5.4.7离线安装手册.doc中mysql安装模块配置mysql下载mysql数据脚本、wget–C~/azkaban/创建用户、分配权限并执行脚本mysql–uroot–pxxxx创建数据库:CREATEDATABASEazkaban;创建用户名:CREATEUSER'azkaban'@'%'IDENTIFIEDBY'azkaban'分配权限:GRANTSELECT,INSERT,UPDATE,DELETE,CREATE,INDEXON`azkaban`.*TO'azkaban'@'%'WITHGRANTOPTION;flushprivileges;quit;通过azkaban账号登录mysql:mysql–uazkaban–pazkabanUseazkaban;source~/azkaban/azkaban-2.5.0/create-all-sql-2.5.0.sqlAzkabanWebServer安装1.下载安装包wget–zxvfazkaban-web-server-2.5.0.tar.gz–C~/azkaban/2.上传依赖包上传mysql驱动包至~/azkaban/azkaban-web-2.5.0/extlib/3.生成jettyssl所需密钥文件keytool-keystorekeystore-aliasjetty-genkey-keyalgRSAEnterkeystorepassword:mysteelWhatisyourfirstandlastname?[Unknown]:mysteelWhatisthenameofyourorganizationalunit?[Unknown]:mysteelWhatisthenameofyourorganization?[Unknown]:mysteelWhatisthenameofyourCityorLocality?[Unknown]:SHWhatisthenameofyourStateorProvince?[Unknown]:SHWhatisthetwo-lettercountrycodeforthisunit?[Unknown]:CNIsCN=mysteel,OU=mysteel,O=mysteel,L=SH,ST=SH,C=CNcorrect?[no]:yesEnterkeypasswordformysteel(RETURNifsameaskeystorepassword):mysteel注意:这里keystore的密码为mysteel,key的密码为mysteel可自行修改最后将生成的keystore文件放到Azkaban安装目录中~/azkaban/azkaban-web-2.5.0/(也可通过修改配置文件改变其默认存放地址)4.修改配置文件(conf/azkaban.propreties)修改首页样式及时区信息azkaban.name=JobTasksazkaban.label=mysteelworkflowazkaban.color=#FF3601azkaban.default.servlet.path=/indexweb.resource.dir=web/default.timezone.id=Asia/Shanghai修改mysql连接,可自行修改database.type=mysqlmysql.port=3306mysql.host=192.168.200.184mysql.database=azkabanmysql.user=azkabanmysql.password=azkabanmysql.numconnections=100修改Jetty服务器属性,包括keystore的相关配置jetty.maxThreads=25jetty.ssl.port=8443jetty.port=8081jetty.keystore=keystorejetty.password=mysteeljetty.keypassword=mysteeljetty.truststore=keystorejetty.trustpassword=mysteel修改邮件设置(可选)mail.sender=xxxxxxx@mysteel.commail.host=smtp.126.commail.user=xxxxxxx@mysteel.commail.password=xxx(注:发送邮箱的密码)5.用户及权限配置进入azkabanweb服务器conf目录,修改azkaban-users.xml,增加管理员用户:azkaban-usersuserusername=azkabanpassword=azkabanroles=admingroups=azkaban/userusername=metricspassword=metricsroles=metrics/userusername=adminpassword=adminroles=admin,metrics/rolename=adminpermissions=ADMIN/rolename=metricspermissions=METRICS//azkaban-usersAzkabanExecutorServer安装1.下载安装包wget–zxvfazkaban-executor-server-2.5.0.tar.gz–C~/azkaban/2.修改配置文件(conf/azkaban.propreties)修改时区信息default.timezone.id=Asia/Shanghai修改mysql连接,可自行修改database.type=mysqlmysql.port=3306mysql.host=192.168.200.184mysql.database=azkabanmysql.user=azkabanmysql.password=azkabanmysql.numconnections=100配置端口,默认就好executor.maxThreads=50executor.port=12321executor.flow.threads=30在webserver的azkaban.properties配置executor的连接,特别注意,如果两个server不是在一台主机上,webserver需要配置executor.host#AzkabanExecutorsettingsexecutor.port=12321executor.host=ip/hostname启动验证启动webserver~/azkaban/azkaban-web-2.5.0/bin/azkaban-web-start.sh(azkaban-web-shutdown.sh停止)访问出现界面安装成功启动executorserver~/azkaban/azkaban-executor-2.5.0/bin/azkaban-exec-start.sh(azkaban-executor-shutdown.sh停止)Azkabanwebserver插件安装为了后边插件的安装,需要在${AZKABAN_WEB_SERVER}/plugins/目录下创建viewer目录,用来安装各种viewer插件。当安装好一个插件后需要重启服务,让插件生效。安装HDFSViewer插件1.解压插件在viewer目录中解压azkaban-hdfs-viewer-2.5.0.tar.gz,得到azkaban-hdfs-viewer-2.5.0目录,将其更名为hdfs。最终,这个插件的目录路径是:${AZKABAN_WEB_SERVER}/plugins/viewer/hdfs。2.配置HDFSViewer修改${AZKABAN_WEB_SERVER}/plugins/viewer/hdfs/conf/plugin.properties。根据应用场景修改proxy.user。需要注意的是配置viewer.external.classpaths并没有任何效果,不知是bug还是我用错了,以至于需要使用下面的步骤来配置3.增加依赖jar包这个版本的Azkaban无法找到Hadoop2中的相关依赖jar,而HDFSViewer需要以下依赖:commons-cli-1.2.jar,hadoop-auth-2.5.1.jar,hadoop-common-2.5.1.jarhadoop-hdfs-2.5.1.jar,protobuf-java-2.5.0.jar注:这么做的缺点是以后hadoop如果升级,要将这些jar更新4.查看效果注意:如果hadoop集群已经有了用户及权限验证,需要配置代理用户等信息,具体请参考官方文档(
本文标题:azkaban技术分享手册
链接地址:https://www.777doc.com/doc-5184211 .html