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,实际目录根据自己的来
Azkaban环境搭建与常见问题解决_第1张图片
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

Azkaban环境搭建与常见问题解决_第2张图片
使配置生效

source /etc/profile

在这里插入图片描述
可使用jps或java -version验证
Azkaban环境搭建与常见问题解决_第3张图片
6.ssl配置

keytool -keystore keystore -alias jetty -genkey -keyalg RSA

Azkaban环境搭建与常见问题解决_第4张图片
完成后会在当前目录生成keystore证书文件,将文件拷贝到azkaban web服务器根目录的bin目录下。例如:cp keystore /root/azkaban-web-2.5.0
在这里插入图片描述
7.时区修改
将服务器时区修改为上海,使用tzselect 命令。
tzselect
分别输入5、9、1、1
Azkaban环境搭建与常见问题解决_第5张图片
Azkaban环境搭建与常见问题解决_第6张图片
拷贝时区文件

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

增加管理员用户

-users>

        "azkaban" password="azkaban" roles="admin" groups="azkaban" />

        "metrics" password="metrics" roles="metrics"/>

        "admin" password="admin" roles="admin,metrics" />

        "admin" permissions="ADMIN" />

        "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
Azkaban环境搭建与常见问题解决_第7张图片
Azkaban环境搭建与常见问题解决_第8张图片

你可能感兴趣的:(大数据)