资讯专栏INFORMATION COLUMN

azkaban 安装

luqiuwen / 515人阅读

摘要:否则没有配置环境会报错。重新编译打包就可以

azkaban

azkaban 是一个用Java开发的开源调度工具workflow,同类型的工具有用Python开发的 airflow 和 luigi.

build

在我的windows上无法build成功,我在CentOS上build成功了

git clone https://github.com/azkaban/azkaban.git
cd azkaban
./gradlew build installDist
run

我的需求比较简单 solo server 就可以满足要求

cd azkaban-solo-server/build/install/azkaban-solo-server
bin/azkaban-solo-start.sh
bin/azkaban-solo-shutdown.sh
config

使用MySQL数据库,MySQL新建用户

CREATE DATABASE azkaban;
CREATE USER "azkaban"@"%" IDENTIFIED BY "azkaban";
GRANT ALL PRIVILEGES ON azkaban.* to "azkaban"@"%";

修改配置文件

#设置为上海时间(东八区),否则会按美国时间执行
default.timezone.id=Asia/Shanghai

#注释掉默认的H2数据库配置后,配置MySQL数据库
database.type=mysql
mysql.port=3306
mysql.host=192.168.0.1
mysql.database=azkaban
mysql.user=username
mysql.password=password
mysql.numconnections=10


#配置告警邮件
mail.sender=xxx@163.com
mail.host=smtp.163.com
mail.user=mailUsername
mail.password=mailPassword

启动的时候会自动创建数据库

plugin

https://github.com/azkaban/az...

使用ant编译,需要安装ant

sudo yum install ant
sudo yum install ant-junit

sudo apt-get install ant
sudo apt-get install ant-optional
git clone https://github.com/azkaban/azkaban-plugins.git

# step 1
cd azkaban-plugins
cd plugins
cd hadoopsecuritymanager
ant package

# step 2
cd ..
cd crypto
ant package


# step 3
cd ..
cd jobtype
ant package

azkaban-plugins/dist/jobtype/packages/azkaban-jobtype-3.0.0.tar.gz
解压到
azkaban/azkaban-solo-server/build/install/azkaban-solo-server/plugins/jobtypes

commonprivate.properties
common.properties

execute.as.user 设置为false,否者会报错

# configs for jobtype security settings
execute.as.user=false
azkaban.native.lib=

我目前只想运行java job,不想使用hadoop,修改源代码,可以不使用hadoop。否则没有配置hadoop 环境会报错。

--- a/plugins/jobtype/src/azkaban/jobtype/JavaJob.java
+++ b/plugins/jobtype/src/azkaban/jobtype/JavaJob.java
@@ -75,8 +75,8 @@ public class JavaJob extends JavaProcessJob {
     classPath.add(getSourcePathFromClass(JavaProcessJob.class));
     classPath.add(getSourcePathFromClass(SecurityUtils.class));
 
-    classPath.add(HadoopConfigurationInjector.getPath(getJobProps(),
-        getWorkingDirectory()));
+    //classPath.add(HadoopConfigurationInjector.getPath(getJobProps(),
+    //    getWorkingDirectory()));
 
     String loggerPath = getSourcePathFromClass(org.apache.log4j.Logger.class);
     if (!classPath.contains(loggerPath)) {
@@ -157,8 +157,8 @@ public class JavaJob extends JavaProcessJob {
 
   @Override
   public void run() throws Exception {
-    HadoopConfigurationInjector.prepareResourcesToInject(getJobProps(),
-        getWorkingDirectory());
+    //HadoopConfigurationInjector.prepareResourcesToInject(getJobProps(),
+    //    getWorkingDirectory());
     super.run();
   }
 }

--- a/plugins/jobtype/src/azkaban/jobtype/JavaJobRunnerMain.java
+++ b/plugins/jobtype/src/azkaban/jobtype/JavaJobRunnerMain.java
@@ -104,7 +104,7 @@ public class JavaJobRunnerMain {
       }
       _logger.info("Class name " + className);
 
-      HadoopConfigurationInjector.injectResources(new Props(null, props));
+      //HadoopConfigurationInjector.injectResources(new Props(null, props));
 
       // Create the object using proxy
       if (SecurityUtils.shouldProxy(props)) {

重新编译打包就可以

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/67891.html

相关文章

  • 使用azkaban 建立一个简单的任务调度系统

    摘要:使用建立一个简单的任务调度系统可以作为任务的调度工具,也可以作为任务和任务的调度工具。更加方便,只要在中增加一个方法,返回对象,然后任务可以直接在初始化的中读取到这个参数。 使用azkaban 建立一个简单的任务调度系统 azkaban 可以作为hadoop 任务的调度工具,也可以作为shell任务和java任务的调度工具。安装过程有点繁琐,见安装文档。 Job Type 见链接 ht...

    Bmob 评论0 收藏0
  • azkaban 部署-azkaban 的部署和应用

    第一步:包准备 首先我们先将Azkaban Web服务器、Azkaban执行服务器和MySQL统一拷贝到虚拟机/usr/local/src/azkaban目录下,具体的命令如下:[root@masterzkaban]#ll|awk'{print$NF}' 98600 azkaban-executor-server-2.5.0.tar.gz azkaban-sql-script...

    白马啸西风 评论0 收藏0
  • cdhazkaban-cdhazkaban介绍、安装和使用

    工作流调度系统一个完整的数据分析系统大都是由海量的任务单元组成shell脚本程序,java,mapreduce程序、hive脚本等等组成,非常复杂,各任务单元之间存在时间先后及前后依赖关系。为了很好地组织起这样的复杂系统,能够按照计划执行,就必须要一个工作流调度系统来调度执行。例如,某个业务系统可能每天产生20G原始数据,我们每天都要对其进行处理。具体处理步骤如下所示:1. 通过Hadoop先将原...

    白马啸西风 评论0 收藏0
  • azkaban集群模式安装与execute-as-user配置

    因为Segmentfault的文章发布审核对格式要求太严格了,我去简书了 地址在这里https://www.jianshu.com/p/bff11c87565b

    Tonny 评论0 收藏0
  • 大数据入门指南(GitHub开源项目)

    摘要:项目地址前言大数据技术栈思维导图大数据常用软件安装指南一分布式文件存储系统分布式计算框架集群资源管理器单机伪集群环境搭建集群环境搭建常用命令的使用基于搭建高可用集群二简介及核心概念环境下的安装部署和命令行的基本使用常用操作分区表和分桶表视图 项目GitHub地址:https://github.com/heibaiying... 前 言 大数据技术栈思维导图 大数据常用软件安装指...

    guyan0319 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<