Linux下Azkaban安装
说明:
CentOS 7
JDK 1.8
Azkaban版本:3.59.0
官方文档:
https://azkaban.readthedocs.io/en/latest/getStarted.html#building-from-source
安装步骤
Clone the repo:
git clone https://github.com/azkaban/azkaban.git
Build Azkaban and create an installation package:
cd azkaban; ./gradlew build installDist
这个编译项目需要一定的时间,可能出现的问题如下:
1:连接maven超时,则需要检查超时的网址和端口是否正常
2:JCE报错
testV1_1 FAILED java.lang.RuntimeException: java.lang.RuntimeException: org.jasypt.exceptions.EncryptionOperationNotPossibleException: Encryption raised an exception. A possible cause is you are using strong encryption algorithms and you have not installed the Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files in this Java Virtual Machine at azkaban.crypto.Crypto.decrypt(Crypto.java:76) at azkaban.crypto.DecryptionTest.testV1_1(DecryptionTest.java:35) Caused by: java.lang.RuntimeException: org.jasypt.exceptions.EncryptionOperationNotPossibleException: Encryption raised an exception. A possible cause is you are using strong encryption algorithms and you have not installed the Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files in this Java Virtual Machine at azkaban.crypto.CryptoV1_1.decrypt(CryptoV1_1.java:57) at azkaban.crypto.Crypto.decrypt(Crypto.java:74) ... 1 more Caused by: org.jasypt.exceptions.EncryptionOperationNotPossibleException: Encryption raised an exception. A possible cause is you are using strong encryption algorithms and you have not installed the Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files in this Java Virtual Machine at org.jasypt.encryption.pbe.StandardPBEByteEncryptor.handleInvalidKeyException(StandardPBEByteEncryptor.java:1073) at org.jasypt.encryption.pbe.StandardPBEByteEncryptor.decrypt(StandardPBEByteEncryptor.java:1050) at org.jasypt.encryption.pbe.StandardPBEStringEncryptor.decrypt(StandardPBEStringEncryptor.java:725) at azkaban.crypto.CryptoV1_1.decrypt(CryptoV1_1.java:55) ... 2 more azkaban.crypto.EncryptionTest > testEncryption FAILED org.jasypt.exceptions.EncryptionOperationNotPossibleException: Encryption raised an exception. A possible cause is you are using strong encryption algorithms and you have not installed the Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files in this Java Virtual Machine at org.jasypt.encryption.pbe.StandardPBEByteEncryptor.handleInvalidKeyException(StandardPBEByteEncryptor.java:1073) at org.jasypt.encryption.pbe.StandardPBEByteEncryptor.encrypt(StandardPBEByteEncryptor.java:924) at org.jasypt.encryption.pbe.StandardPBEStringEncryptor.encrypt(StandardPBEStringEncryptor.java:642) at azkaban.crypto.CryptoV1_1.encrypt(CryptoV1_1.java:42) at azkaban.crypto.Crypto.encrypt(Crypto.java:58) at azkaban.crypto.EncryptionTest.testEncryption(EncryptionTest.java:28) 5 tests completed, 2 failed > Task :azkaban-common:compileJava 注: 某些输入文件使用或覆盖了已过时的 API。 注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。 注: 某些输入文件使用了未经检查或不安全的操作。 注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。 FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':az-crypto:test'. > There were failing tests. See the report at: file:///opt/azkaban/az-crypto/build/reports/tests/test/index.html * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org
解决方法:
下载JCE
https://www.oracle.com/technetwork/cn/java/javase/downloads/jce8-download-2133166-zhs.html
我这边使用的JDK8,包含了JCE所需要的jre8
解压搜下载好的文件,放置到以下目录:
放置到jdk所在目录下的:
cp UnlimitedJCEPolicyJDK8/* /usr/local/jdk1.8.0_74/jre/lib/security
对原有的文件进行覆盖
然后在进行重新编译
Start the solo server:
启动单机版的服务
cd azkaban-solo-server/build/install/azkaban-solo-server; bin/start-solo.sh
Azkaban solo server should be all set, by listening to 8081 port at default to accept incoming network request. So, open a web browser and check out http://localhost:8081/
打开页面
Stop server:
bin/shutdown-solo.sh
azkaban-solo-server 目录说明
目录名称 | 描述 |
------- | ------- |
bin | 用于启动/停止Azkaban solo服务器的脚本
conf | Azkaban solo服务器的配置文件
lib | Azkaban的jar依赖项
extlib | 添加到extlib的其他jar将添加到Azkaban的类路径中
plugins | 可以安装插件的目录
web | Azkaban Web服务器的Web(css,javascript,image)文件
数据库设置
为Azkaban创建数据库:
#示例数据库创建命令,尽管db名称不需要是'azkaban' mysql> CREATE DATABASE azkaban; Query OK, 1 row affected (0.00 sec)
为Azkaban创建一个mysql用户。 例如,:
# Example database creation command. The user name doesn't need to be 'azkaban' mysql> CREATE USER 'azka'@'%' IDENTIFIED BY '111111'; # give the user INSERT, SELECT, UPDATE, DELETE permission on all tables in the Azkaban db. mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON azkaban.* to 'azka'@'%' WITH GRANT OPTION;
在/etc/my.cnf中配置Mysql Packet Size的大小
[mysqld] ... max_allowed_packet=1024M
重启mysql
/sbin/service mysqld restart
创建Azkaban表
Installing Azkaban Executor Server
使用Gradle命令指令对源码进行编译
注意:如果之前在安装solo模式的时候已经编译完成,则不需再进行编译
# Build Azkaban ./gradlew build # Clean the build ./gradlew clean # Build and install distributions ./gradlew installDist # Run tests ./gradlew test # Build without running tests ./gradlew build -x test
修改azkaban.properties中的mysql用户和密码,同时配置发送邮箱的配置信息
then run
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
激活成功
然后,一个执行器就可以使用了。用户可以通过分发和部署多个执行程序安装分发来设置多个执行程序。
安装Azkaban Web服务器
Azkaban Web Server处理项目管理,身份验证,调度和执行触发器。您可以从主分支构建最新版本
为了快速入门,我们可以直接使用gradle生成的安装目录
azkaban / azkaban-web-server / build / install / azkaban-web-server。
更改账户名和密码
我们只需要在里面更改mysql用户名和密码azkaban.properties:
Then run
cd azkaban-web-server/build/install/azkaban-web-server ./bin/start-web.sh
默认的账户名和密码:
azkaban
azkaban
注意
如果修改azkaban.properties的配置信息,则需要重启进程才能生效
配置的文件都是修改install下的azkaban.properties文件
Could not find Linker 'g++' in system path
解决方法:
sudo yum install g++ sudo yum install -y gcc-c++*
启动脚本是只能在bin目录外面提
solo是单机版使用的进程
web和exec是和mql配置使用,分布式的服务模式
添加和修改配置的时候,修改的是如下位置的配置文件:
/opt/azkaban/azkaban-web-server/build/install/azkaban-web-server/conf
然后重启web服务,配置生效
部署阿里云注意事项:
因为阿里云不能使用默认的25端口,所以需要事情ssl的465端口,但是3.59.0的版本是不支持ssl的,所以需要添加如下代码
import java.security.Security; final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory"; props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY); props.setProperty("mail.smtp.socketFactory.fallback", "false"); props.setProperty("mail.smtp.socketFactory.port", "465");
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
安装 Python 软件包遇错误,怎么办?
本文通过一个命令行转换 pdf 为词云的例子,给你讲讲 Python 软件包安装遇挫折时,怎么处理才更高效? 遭遇 前两天,有位读者留言求助。 起因是他读我的《如何用Python做词云?》一文。按照样例成功做出词云后,觉得很兴奋。不过,他不满足于照猫画虎做出结果,找到了 wordcloud 的 github 页面,查看附加功能。 对这一点,我是非常赞赏的。因为这种按图索骥,很多时候,都能有意外收获和惊喜。 例如你偶然读到一篇好文章,于是找到该作者的专栏或者公众号,很大概率就可以读到更多高品质的文章。当年我就是用这种方法,读到阳志平先生和万维钢先生的系列文章,收获颇丰。 同样,一个软件提供了一项你喜欢的功能,你找到它的网站,可能会找到其他感兴趣的功能。甚至有时候,还能发现同一作者的更多优秀工具。 果不其然,这位读者,就找到了一个令自己很兴奋的功能。下图中,我用红线给你标出了这个功能。 对,wordcloud 不仅可以在 Python 代码中作为模块引入,帮你分析文本,绘制词云;它还可以在命令行方式下,从 pdf 里面直接提取词云出来。 就像这个样子: 我估计,他喜欢这个功能,或许是因为最...
- 下一篇
理解 JavaScript 的 async/await
随着 Node 7 的发布,越来越多的人开始研究据说是异步编程终级解决方案的 async/await。我第一次看到这组关键字并不是在 JavaScript 语言里,而是在 c# 5.0 的语法中。C# 的 async/await 需要在 .NET Framework 4.5 以上的版本中使用,因此我还很悲伤了一阵——为了要兼容 XP 系统,我们开发的软件不能使用高于 4.0 版本的 .NET Framework。 我之前在《闲谈异步调用“扁平”化》 中就谈到了这个问题。无论是在 C# 还是 JavaScript 中,async/await 都是非常棒的特性,它们也都是非常甜的语法糖。C# 的 async/await 实现离不开 Task 或 Task<Result> 类,而 JavaScript 的 async/await 实现,也离不开 Promise。 现在抛开 C# 和 .NET Framework,专心研究下 JavaScript 的 async/await。 async 和 await 在干什么 任意一个名称都是有意义的,先从字面意思来理解。async 是“异步”...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS8编译安装MySQL8.0.19
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题