azkaban的安装部署及运行时出现的问题

azkaban介绍
为什么需要工作流调度系统
一个完整的数据分析系统通常都是由大量任务单元组成:
shell脚本程序,java程序,mapreduce程序、hive脚本等
各任务单元之间存在时间先后及前后依赖关系
为了很好地组织起这样的复杂执行计划,需要一个工作流调度系统来调度执行;

例如,我们可能有这样一个需求,某个业务系统每天产生20G原始数据,我们每天都要对其进行处理,处理步骤如下所示:
1、通过Hadoop先将原始数据同步到HDFS上;
2、借助MapReduce计算框架对原始数据进行转换,生成的数据以分区表的形式存储到多张Hive表中;
3、需要对Hive中多个表的数据进行JOIN处理,得到一个明细数据Hive大表;
4、将明细数据进行复杂的统计分析,得到结果报表信息;
5、需要将统计分析得到的结果数据同步到业务系统中,供业务调用使用。
Azkaban是由Linkedin开源的一个批量工作流任务调度器。用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。

mysql> create database azkaban;
Query OK, 1 row affected (0.01 sec)

mysql> use azkaban;
Database changed
mysql> source /root/azkaban/azkaban-2.5.0/create-all-sql-2.5.0.sql
mysql> show tables;
+------------------------+
| Tables_in_azkaban      |
+------------------------+
| active_executing_flows |
| active_sla             |
| execution_flows        |
| execution_jobs         |
| execution_logs         |
| project_events         |
| project_files          |
| project_flows          |
| project_permissions    |
| project_properties     |
| project_versions       |
| projects               |
| properties             |
| schedules              |
| triggers               |
+------------------------+

创建SSL配置

[root@mini1 server]# keytool -keystore keystore -alias jetty -genkey -keyalg RSA
输入密钥库口令:  //123456
再次输入新口令: //123456
您的名字与姓氏是什么?//可以不输入直接回车
  [Unknown]:  
您的组织单位名称是什么?//可以不输入直接回车
  [Unknown]:  
您的组织名称是什么?//可以不输入直接回车
  [Unknown]:  
您所在的城市或区域名称是什么?//可以不输入直接回车
  [Unknown]:  
您所在的省/市/自治区名称是什么?//可以不输入直接回车
  [Unknown]:  CN
该单位的双字母国家/地区代码是什么?//可以不输入直接回车
  [Unknown]:  CN
CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=CN, C=CN是否正确?
 [否]:  y

输入 <jetty> 的密钥口令
        (如果和密钥库口令相同, 按回车):  //直接回车
[root@mini1 server]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 
cp:是否覆盖"/etc/localtime"? y
[root@mini1 server]# date
2017年 10月 19日 星期四 16:47:57 CST
//需要让每台机器时间一致

完成上述工作后,将在当前目录生成 keystore 证书文件,将keystore 拷贝到 azkaban web服务器(server)根目录中。

[hadoop@admin1 bin]$ ./azkaban-web-start.sh 
Using Hadoop from /home/hadoop/apps/hadoop-2.6.4
Using Hive from 
./..
:./../lib/azkaban-2.5.0.jar:./../lib/commons-collections-3.2.1.jar:./../lib/commons-configuration-1.8.jar:./../lib/commons-dbcp-1.4.jar:./../lib/commons-dbutils-1.5.jar:./../lib/commons-email-1.2.jar:./../lib/commons-fileupload-1.2.1.jar:./../lib/commons-io-2.4.jar:./../lib/commons-jexl-2.1.1.jar:./../lib/commons-lang-2.6.jar:./../lib/commons-logging-1.1.1.jar:./../lib/commons-pool-1.6.jar:./../lib/guava-13.0.1.jar:./../lib/h2-1.3.170.jar:./../lib/httpclient-4.2.1.jar:./../lib/httpcore-4.2.1.jar:./../lib/jackson-core-asl-1.9.5.jar:./../lib/jackson-mapper-asl-1.9.5.jar:./../lib/jetty-6.1.26.jar:./../lib/jetty-util-6.1.26.jar:./../lib/joda-time-2.0.jar:./../lib/jopt-simple-4.3.jar:./../lib/junit-4.8.jar:./../lib/log4j-1.2.16.jar:./../lib/mail-1.4.5.jar:./../lib/mysql-connector-java-5.1.28.jar:./../lib/servlet-api-2.5.jar:./../lib/slf4j-api-1.6.1.jar:./../lib/slf4j-log4j12-1.6.4.jar:./../lib/velocity-1.7.jar:./../lib/velocity-tools-2.0.jar:./../extlib/*.jar:./../plugins/*/*.jar:/home/hadoop/apps/hadoop-2.6.4/conf:/home/hadoop/apps/hadoop-2.6.4/*:/conf:/lib/*
[hadoop@admin1 bin]$ Invalid maximum heap size: -Xmx4G
The specified size exceeds the maximum representable size.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit

解决方法:
请修改文件azkaban\azkaban-web-2.5.0\bin\azkaban-web-start.sh
将文件中的 AZKABAN_OPTS="-Xmx4G" 修改为 AZKABAN_OPTS="-Xmx512M"
设置的大小按照机器的存储而定,如果设置太大可能无法启动,设置太小会内存溢出,否则启动报错。

执行该命令bin/azkaban-web-start.sh后,运行显示:

2018/08/20 14:26:11.673 +0800 INFO [JdbcTriggerLoader] [Azkaban] Loading all triggers from db.
2018/08/20 14:26:11.738 +0800 INFO [JdbcTriggerLoader] [Azkaban] Loaded 0 triggers.
2018/08/20 14:26:11.739 +0800 INFO [log] [Azkaban] jetty-6.1.26
2018/08/20 14:26:12.277 +0800 INFO [log] [Azkaban] Started SslSocketConnector@0.0.0.0:8443
2018/08/20 14:26:12.278 +0800 INFO [AzkabanWebServer] [Azkaban] Server running on ssl port 8443.

此时显示服务端口已经打开成功。

2018/08/20 14:48:06.347 +0800 WARN [log] [Azkaban] EXCEPTION 
javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
	at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:946)
	at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1323)
	at org.mortbay.jetty.security.SslSocketConnector$SslConnection.run(SslSocketConnector.java:708)
	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Caused by: java.io.EOFException: SSL peer shut down incorrectly
	at sun.security.ssl.InputRecord.read(InputRecord.java:482)
	at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:927)
	... 5 more
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值