azikaban getting start

azikaban提供两种安装模式:单服务模式,和分布式多executor模式
单服务器模式,数据库为嵌入式h2(内置数据库),web服务和executor服务运行在同一进程上。
多executor模式,数据库基于mysql,并且以master-slave方式安装mysql实例;web服务和executor服务器运行在不同的主机上,升级和维护对用户不影响。

整体步骤如下:

  • 安装数据
  • 配置数据库使用多executor模式
  • Download and install the Executor Server for each executor configured in database,对每个配置在数据库中的executor,下载并安装executor
  • Install Azkaban Plugins
  • Install the Web Server

1. Getting started with the Solo Server
单节点模式有如下便利:

  • Easy to install - No MySQL instance is needed. It packages H2 as its main persistence storage.
  • Easy to start up - Both web server and executor server run in the same process.
  • Full featured - It packages all Azkaban features. You can use it in normal ways and install plugins for it.

1.1 Installing the Solo Server

  1. Clone the repo:克隆源码
    git clone https://github.com/azkaban/azkaban.git
  2. Build Azkaban and create an installation package: 编译源码
    cd azkaban; ./gradlew build installDist
  3. Start the solo server:启动
    cd azkaban-solo-server/build/install/azkaban-solo-server; bin/start-solo.sh
    打开 http://localhost:8081/ ;用户名密码: azkaban/azkaban 即可访问
    用户名密码配置在conf/azkaban-users.xml
  4. Stop server:
    bin/shutdown-solo.sh

Folder Description
bin The scripts to start/stop Azkaban solo server
conf The configuration files for Azkaban solo server
lib The jar dependencies for Azkaban
extlib Additional jars that are added to extlib will be added to Azkaban’s classpath
plugins the directory where plugins can be installed
web The web (css, javascript, image) files for Azkaban web server

FolderDescription
bin启动停止solo server模式的azikaban
conf配置文件目录
libazkaban的依赖jar
extlib额外的jar报,会被添加到azkaban的classpath驱动目录
webweb文件(css,js,image)等

conf目录包含以下文件:

  • azkaban.private.properties 一些机密属性,如mysql密码
  • azkaban.properties: azikaban运行时参数
  • global.properties:全局静态属性,作为共享变量传递给每个工作流和作业
  • azkaban-user.xml:用户权限角色配置

2. Getting started with the Multi Executor Server
2.1 数据库安装
官方建议使用mysql数据库

# Example database creation command, although the db name doesn't need to be 'azkaban'
mysql> CREATE DATABASE azkaban;
# Example database creation command. The user name doesn't need to be 'azkaban'
mysql> CREATE USER 'username'@'%' IDENTIFIED BY 'password';
# give the user INSERT, SELECT, UPDATE, DELETE permission on all tables in the Azkaban db.
mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON azkaban.* to '<username>'@'%' WITH GRANT OPTION;

提高mysql包尺寸大小,默认大小太小,在linux下打开/etc/my.cnf,添加

[mysqld]
...
max_allowed_packet=1024M

重启mysql:$ sudo /sbin/service mysqld restart

  • Create the Azkaban Tables
    运行 create-all-sql-.sql
    在build azkaban源码后,sql文件存放在/Users/latang/LNKDRepos/azkaban/azkaban-db/build/distributions/azkaban-db

2.2 安装executor server
executor server处理workflow和job的实际执行。

  1. 修改azkaban.properties内mysql用户名密码
# Mysql Configs
mysql.user=<username>
mysql.password=<password>

命令的目录根据构建源码后,可能有所不同。

cd azkaban-exec-server/build/install/azkaban-exec-server
./bin/start-exec.sh
cd azkaban-exec-server/build/install/azkaban-exec-server
./bin/start-exec.sh
#激活执行程序
cd azkaban-exec-server/build/install/azkaban-exec-server
curl -G "localhost:$(<./executor.port)/executor?action=activate" && echo

这样一个executor就启动了。
用户可以通过分发和部署多个执行程序包来设置多个执行程序

3. Installing Azkaban Web Server
web服务处理项目管理,权限验证,执行的调度和触发。
azkaban/azkaban-web-server/build/install/azkaban-web-server 下修改 azkaban.properties

# Mysql Configs
mysql.user=<username>
mysql.password=<password>
cd azkaban-web-server/build/install/azkaban-web-server
./bin/start-web.sh

登录:http://localhost:8081/

3. 配置插件
azkaban设计为基于插件的非核心功能架构,即:
在不改变azikaban核心的情况下升级安装插件,易于扩展。插件包括:
web端插件:
1)视图插件:给网页添加一些特征,如hdfs文件系统查看器
2)触发器插件:用于触发方法,作业
3)用户管理插件:用户验证方法等
4)告警插件:不同的告警方法
executor端插件:
可插拔的作业类型执行器,例如hadoop生态圈的作业类型。
3.1 用户管理驱动
azikaban默认带有XMLUserManager类,通过xml文件管理用户权限;但这并不能保证足够的安全和扩展性;conf/azkaban-users.xml

要安装自己的用管理类,需要在conf/azkaban.properties内指定

user.manager.class=MyUserManagerClass

并将jar包添加进plugin/内
3.2 视图驱动
3.2.1hdfs视图

viewer.plugins=hdfs

将jar添加到Azkaban-web-server-install-dir/plugins/viewer/hdfs
重启webserver
3.3 作业类型驱动
azkabna本身带有有限的作业类型驱动运行shell 和java项目。对于其他作业类型如hadoopJava, Pig, Hive, VoldemortBuildAndPush, etc;需要另行安装。在
Azkaban-exec-server-install-dir/conf/azkaban.properties:

#告诉作业类型驱动目录在:Azkaban-exec-server-install-dir/plugins/jobtypes下
azkaban.jobtype.plugin.dir=plugins/jobtypes

配置hadoop信息(涉及到hadoop安全验证问题需要额外配置,请查看官网):

ParameterDescription
hadoop.homeYour $HADOOP_HOME setting.
jobtype.global.classpathThe cluster specific hadoop resources, such as hadoop-core jar, and hadoop conf (e.g. h a d o o p . h o m e / h a d o o p − c o r e − 1.0.4. j a r , {hadoop.home}/hadoop-core-1.0. 4.jar, hadoop.home/hadoopcore1.0.4.jar,{hadoop.home}/conf)

4. 属性参数
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
引用中提到了开机报错的信息,"ERROR getting authority:Error initializing authority:Could not connect"。这个错误可能是由于系统无法正确连接到权限管理机制导致的。为了解决这个问题,我们可以按照以下步骤进行操作: 1. 首先,我们可以使用命令"journalctl -xb | grep mount"来查找哪个磁盘挂载出错。 2. 找到出错的磁盘后,我们可以使用命令"vi /etc/fstab"来编辑fstab文件,并将对应磁盘的那一行注释掉。然后使用"wq"命令保存并退出。这样可以防止系统在启动时尝试挂载出错的磁盘。 3. 接下来,我们可以重启服务器,使用命令"reboot"。在重启后,系统将不再尝试挂载出错的磁盘。 4. 如果重启后仍然无法正常进入系统,可能是因为自动挂载某个分区时出现了问题。这时我们可以输入root密码进入shell,并使用"journalctl"命令查看系统日志。我们需要找到挂载失败的分区,比如"/dev/sdb1"。然后可以使用"mount"命令查看分区挂载情况,并记录下"/dev/sdb1"的信息。 5. 接下来,我们可以使用"vim /etc/fstab"命令来查看fstab文件,检查其中是否包含"/dev/sdb1"的信息。如果有,需要与当前的分区信息进行核对,特别是文件系统类型。以当前的分区信息为准,手动修改fstab文件以保持同步。如果没有"/dev/sdb1"的信息,可以手动添加当前分区的挂载信息,并使用":wq"命令保存并退出。例如,"/dev/sdb1 /data ext4 defaults 0 0"。 6. 最后,我们可以使用"reboot"命令重启服务器,验证系统是否恢复正常。 通过以上步骤,我们可以解决"ERROR getting authority:Error initializing authority:Could not connect"的问题,并恢复系统的正常运行。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [开机报错:ERROR getting authority:Error initializing authority:Could not connect](https://blog.csdn.net/BABAJack/article/details/127633187)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [【linux系统故障】- Error getting authority: Error initializing authority: Could not connect: No such...](https://blog.csdn.net/Dick633/article/details/107117065)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值