Azkaban环境搭建与常见问题解决
Azkaban环境搭建与常见问题解决
1.环境说明
本次安装在centos7上,已存在的环境包括jdk,Hadoop,hive,sqoop。在此基础上安装azkaban,如果只是简单的安装与实例运行,不涉及Hadoop或hive相关的内容可以直接安装,并不影响使用。JDK与MySQL需要提前安装
2.安装包下载解压
azkaban-web-server-2.5.0.tar.gz
azkaban-executor-server-2.5.0.tar.gz
azkaban-sql-script-2.5.0.tar.gz
以上三个压缩包分别为服务器、执行服务器、sql脚本。上传至虚拟机中解压。如:tar zxvf azkaban-web-server-2.5.0.tar.gz -C /root,“-C”是指将文件解压到指定目录
3.mysql脚本导入
安装步骤可参考https://blog.csdn.net/weixin_43993673/article/details/100163001
https://blog.csdn.net/weixin_43993673/article/details/100511728
登录MySQL后创建azkaban数据库,执行azkaban-sql-script-2.5.0下的create-all-sql-2.5.0.sql脚本
mysql -u root -p create database azkaban; use azkaban; source azkaban-sql-script/ create-all-sql-2.5.0.sql
azkaban-sql-script解压出来的文件名为azkaban-2.5.0,实际目录根据自己的来
4.关闭防火墙
firewall操作:
#service firewalld status; #查看防火墙状态
(disabled 表明 已经禁止开启启动 enable 表示开机自启,inactive 表示防火墙关闭状态 activated(running)表示为开启状态)
#service firewalld start; 或者 #systemctl start firewalld.service;#开启防火墙
#service firewalld stop; 或者 #systemctl stop firewalld.service;#关闭防火墙
#service firewalld restart; 或者 #systemctl restart firewalld.service; #重启防火墙
#systemctl disable firewalld.service#禁止防火墙开启自启
#systemctl enable firewalld#设置防火墙开机启动
#yum remove firewalld#卸载firewall
这里需要关闭防火墙并禁止开机自启
5.JDK安装
这里安装jdk8,对应的安装包可以去官网下载(linux版本)
解压安装包
tar zxvf jdk-8u65-linux-x64.tar.gz
配置环境变量,编辑/etc/profile
vi /etc/profile
在文件最下方添加下面配置
export JAVA_HOME=/root/apps/jdk1.8.0_65 export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
使配置生效
source /etc/profile
可使用jps或java -version验证
6.ssl配置
keytool -keystore keystore -alias jetty -genkey -keyalg RSA
完成后会在当前目录生成keystore证书文件,将文件拷贝到azkaban web服务器根目录的bin目录下。例如:cp keystore /root/azkaban-web-2.5.0
7.时区修改
将服务器时区修改为上海,使用tzselect 命令。
tzselect
分别输入5、9、1、1
拷贝时区文件
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
如当前时区为shanghai则出现如图所示信息
8.修改azkaban-web-server
cd /root/azkaban-web-2.5.0/conf/
修改azkaban.properties文件
vi azkaban.properties
#Azkaban Personalization Settings azkaban.name=Test #服务器UI名称,用于服务器上方显示的名字 azkaban.label=My Local Azkaban #描述 azkaban.color=#FF3601 #UI颜色 azkaban.default.servlet.path=/index web.resource.dir=web/ #默认根web目录 default.timezone.id=Asia/Shanghai #默认时区,已改为亚洲/上海 默认为美国 #Azkaban UserManager class user.manager.class=azkaban.user.XmlUserManager #用户权限管理默认类 user.manager.xml.file=conf/azkaban-users.xml #用户配置,具体配置参加下文 #Loader for projects executor.global.properties=conf/global.properties # global配置文件所在位置 azkaban.project.dir=projects database.type=mysql #数据库类型 mysql.port=3306 #端口号 mysql.host=localhost mysql.database=azkaban #数据库实例名 mysql.user=root #数据库用户名 mysql.password=123456 #数据库密码 mysql.numconnections=100 #最大连接数 # Velocity dev mode velocity.dev.mode=false # Azkaban Jetty server properties. jetty.maxThreads=25 #最大线程数 jetty.ssl.port=8443 #Jetty SSL端口 jetty.port=8081 #Jetty端口 jetty.keystore=keystore #SSL文件名 jetty.password=123456 #SSL文件密码 jetty.keypassword=123456 #Jetty主密码 与 keystore文件相同 jetty.truststore=keystore #SSL文件名 jetty.trustpassword=123456 # SSL文件密码 # Azkaban Executor settings executor.port=12321 #执行服务器端口 # mail settings mail.sender= #发送邮箱 mail.host= #发送邮箱smtp地址 job.failure.email= #任务失败时发送邮件的地址 job.success.email= #任务成功时发送邮件的地址 lockdown.create.projects=false cache.directory=cache #缓存目录
9.修改azkaban-executor-server
cd /root/azkaban-executor-2.5.0/conf/ vi azkaban.properties
#Azkaban default.timezone.id=Asia/Shanghai #时区 # Azkaban JobTypes Plugins 插件配置 azkaban.jobtype.plugin.dir=plugins/jobtypes #jobtype 插件所在位置 #Loader for projects executor.global.properties=conf/global.properties azkaban.project.dir=projects #数据库设置 database.type=mysql #数据库类型(目前只支持mysql) mysql.port=3306 #数据库端口号 mysql.host=192.168.8.129 #数据库IP地址 mysql.database=azkaban #数据库实例名 mysql.user=root #数据库用户名 mysql.password=123456 #数据库密码 mysql.numconnections=100 #最大连接数 # Azkaban Executor settings 执行服务器配置 executor.maxThreads=50 #最大线程数 executor.port=12321 #端口号(如修改,请与web服务中一致) executor.flow.threads=30 #线程数
10.azkaban-web-server
cd /root/azkaban-web-2.5.0/conf/vi azkaban-users.xml
增加管理员用户
<azkaban-users> <user username="azkaban" password="azkaban" roles="admin" groups="azkaban" /> <user username="metrics" password="metrics" roles="metrics"/> <user username="admin" password="admin" roles="admin,metrics" /> <role name="admin" permissions="ADMIN" /> <role name="metrics" permissions="METRICS"/> </azkaban-users>
11.启动
Web服务器
在azkaban web服务器目录下执行启动命令
bin/azkaban-web-start.sh
注:在web服务器根目录运行
或者启动到后台
nohup bin/azkaban-web-start.sh 1>/tmp/azstd.out 2>/tmp/azerr.out &
执行服务器
在执行服务器目录下执行启动命令
bin/azkaban-executor-start.sh
注:只能在执行服务器根目录运行
12.错误
① 启动web服务时出现如下错误
2019/10/11 15:04:41.904 +0800 INFO [AzkabanWebServer] [Azkaban] Loading trigger based scheduler 2019/10/11 15:04:41.921 +0800 INFO [AzkabanWebServer] [Azkaban] Loading plug-in checker and action types 2019/10/11 15:04:41.921 +0800 ERROR [AzkabanWebServer] [Azkaban] plugin path plugins/triggers doesn't exist! 2019/10/11 15:04:41.921 +0800 INFO [AzkabanWebServer] [Azkaban] Setting timezone to Asia/Shanghai
可能是配置文件中时区配置出错,检查配置文件中配置参数前后是否有空格(这里实际在使用时暂时没有影响),可以在web服务器plugins目录下手动创建triggers目录
在浏览器访问时后台出现如下错误
javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection? at sun.security.ssl.InputRecord.handleUnknownRecord(InputRecord.java:710) at sun.security.ssl.InputRecord.read(InputRecord.java:527) at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973) at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387) at org.mortbay.jetty.security.SslSocketConnector$SslConnection.run(SslSocketConnector.java:708) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) 2019/10/11 15:05:02.564 +0800 WARN [log] [Azkaban] EXCEPTION javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection? at sun.security.ssl.InputRecord.handleUnknownRecord(InputRecord.java:710) at sun.security.ssl.InputRecord.read(InputRecord.java:527) at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973) at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387) at org.mortbay.jetty.security.SslSocketConnector$SslConnection.run(SslSocketConnector.java:708) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) 2019/10/11 15:05:07.584 +0800 WARN [log] [Azkaban] EXCEPTION
SSL权限认证的错误,在访问时使用https://ip:8443。同理,如果使用https报错,那么改为http,用户名:admin,密码:admin
- 点赞
- 收藏
- 分享
- 文章举报
- jenkins-master-slave分布式搭建、使用和集群测试环境原理、部署及常见问题解决
- Python常见问题解决办法之:环境搭建
- Windows下PCI9054驱动程序开发环境搭建及常见问题解决
- Windows下PCI9054驱动程序开发环境搭建及常见问题解决
- DotProject环境搭建及常见问题解决
- Android开发环境搭建及常见问题解决方法
- Android 搭建开发环境 常见问题与解决方法
- android studio 开发环境搭建及常见问题解决方法
- Android开发环境搭建和常见问题的解决方法
- Android 开发环境搭建及常见问题解决
- (整合)安卓开发环境搭建+常见问题解决
- 搭建Flutter环境常见问题及解决方法
- Android开发环境搭建及常见问题解决方法
- springmvc环境搭建以及常见问题解决
- Hadoop及Spark 单机及分布式集群环境搭建常见问题及解决方法(续)
- Android开发环境搭建及常见问题解决方法
- Wamp环境搭建常见错误问题解决
- 【Hibernate框架开发之一】搭建Hibernate环境并解决3个常现问题
- Linux|UNIX下LAMP环境的搭建及常见问题[连载7]
- [Android环境搭建错误解决三]Android4.0.4源码编译常见错误及解决方法