azkaban的原理与安装使用

azkaban:
crontab:计划任务 定时任务
crontab -e
* * * * * shell
m h d M w
工作流调度的:
crontab 只能执行 定时任务的
两个任务:
任务1
任务2 想在任务1执行完成之后开始执行
相互之间有依赖关系的任务 复杂的任务 crontab不能满足调度的

	oozie:
		特点:
			1)解决复杂的任务调度
			基于定时任务的   基于依赖  基于时间间隔 基于事件
			任务调度机制  比较完善
			2)支持高可用
		缺点:
			重   使用的时候配置的比较繁琐和复杂
	azkaban:
		特点:	
			1)轻便
			2)可以解决复杂的任务调度
				基于定时任务的
				基于时间间隔的
				基于依赖
		缺点:	
			3.0之前的版本  不支持高可用
			3.0之后的版本才支持高可用的
	共同优点:提供了完善的可视化操作界面
安装步骤:
	版本:2.5.0
	安装的节点:
		azkaban调度的任务类型:
			1)hadoop
			2)hive
			3)java
			4)spark
			5)shell
			。。。。。。
		hadoop02上
	步骤:
	1)上传安装包
	azkaban-executor-server-2.5.0.tar.gz   azkaban后台执行器的安装包
	azkaban-web-server-2.5.0.tar.gz    azkaban的web界面的安装
		登录界面
		用户名  密码  ---  存储在关系型数据库的
	azkaban-sql-script-2.5.0.tar.gz   azkaban的数据准备脚本
	2)解压  三个安装包都需要解压
	3)配置环境变量
	export AZKABAN_WEB=	/home/hadoop/apps/azkaban/azkaban-web-2.5.0
	export AZKABAN_EXECUTOR=/home/hadoop/apps/azkaban/azkaban-executor-2.5.0
	export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin:$HIVE_HOME/bin:$SQOOP_HOME/bin:$AZKABAN_WEB/bin:$AZKABAN_EXECUTOR/bin
	

	source /etc/profile	
	
	4)准备mysql数据
	只需要执行在mysql中执行刚才解压的脚本包就可以
	create database azkaban;
	use azkaban;
	source /home/hadoop/apps/azkaban/azkaban-2.5.0/create-all-sql-2.5.0.sql
	
	5)生成数字校验证书
		
		这个命令在哪一个目录下运行  数字证书就会生成在哪一个目录下
		运行命令之前先切换目录在  azkaban下
		cd /home/hadoop/apps/azkaban
		执行数字证书生成命令:
		keytool -keystore keystore -alias jetty -genkey -keyalg RSA
	6)将数字校验证书移动到web工程下
		mv keystore azkaban-web-2.5.0/
	7)时区文件
		/usr/share/zoneinfo/Asia
		cp Shanghai /etc/localtime   测试一下
	8)修改azkaban的配置文件
		1)azkaban-web-2.5.0
		/home/hadoop/apps/azkaban/azkaban-web-2.5.0/conf
			1)azkaban.properties
			参见文档
			2)azkaban-users.xml  azkaban的用户管理
			<user username="hadoop" password="123456" roles="admin,metrics"/>
		2)azkaban-executor-2.5.0
		/home/hadoop/apps/azkaban/azkaban-executor-2.5.0/conf
		azkaban.properties
	9)启动azkaban
		启动web
			 azkaban-web-start.sh
		
		启动executor:
			azkaban-executor-start.sh
		访问web:
			https://hadoop02:8443
			
	报错:
	1)derby的错误
	/home/hadoop/apps/jdk1.8.0_73/db/lib
	将这个目录下的derby.jar放在  
		 cp derby.jar /home/hadoop/apps/azkaban/azkaban-web-2.5.0/lib/
		cp derby.jar /home/hadoop/apps/azkaban/azkaban-executor-2.5.0/lib/
	重启web和executor
	
azkaban的使用
	.job文件
	
	#command.job    和文件名一样的
	type=command   运行的任务的类型
	command=echo 'hello azkaban' >> /home/hadoop/haha.txt

猜你喜欢

转载自blog.csdn.net/wjr_wl/article/details/83548028