Azkaban的安装步骤
安装分为两种,第一种使用源码安装,第二种使用已经编译好的安装包安装
第一种方式:下载源码,编译(git,node,maven等工具)
第二种:使用安装包安装
1、上传,解压
yum install unzip -d的意思是解压到别的目录 unzip azkaban-3.56.0.zip -d /opt/installs/ [root@bigdata01 modules]# mv azkaban-3.56.0 /opt/installs/ [root@bigdata01 modules]# cd /opt/installs/ [root@bigdata01 installs]# mv azkaban-3.56.0/ azkaban
2、生成mysql的元数据
在mysql中创建一个数据库,叫做azkaban
create database azkaban CHARACTER SET UTF8;
在mysql 中如何执行sql脚本: source /opt/modules/azkaban-db-0.1.0-SNAPSHOT/create-all-sql-0.1.0-SNAPSHOT.sql;
3、配置web-server
进入web-server文件夹:
cd /opt/installs/azkaban/web-server
在web-server文件夹下:
执行该命令为了生成keystore 文件
keytool -keystore keystore -alias jetty -genkey -keyalg RSA
密码默认都设置为:123456
请输入 Y ,否则再问一遍
修改web-server 下的conf 下的 azkaban.properties文件:
Jetty 是一个 web容器,用于运行web应用的,跟tomcat类似,只是比较小巧。
tomcat 开源免费 功能不算强大,不算一个正儿八经的web容器,只能算是servlet容器 Jetty web容器,比tomcat 还小,功能还少 WebLogic 是一个收费的,重量级的web容器。 --BEA web容器:把你的网站页面和代码都放在这个软件的里面,一运行就出现页面,并且代码也可以运行。
# Azkaban Personalization Settings azkaban.name=YanGe的迈巴赫 azkaban.label=9.9包邮 azkaban.color=#FF3601 azkaban.default.servlet.path=/index # 此处需要编写绝对路径,如果跟我的安装路径一样,不需要改 web.resource.dir=/opt/installs/azkaban/web-server/web # 时区默认是美国时区,修改为上海时区 default.timezone.id=Asia/Shanghai # Azkaban UserManager class user.manager.class=azkaban.user.XmlUserManager user.manager.xml.file=/opt/installs/azkaban/web-server/conf/azkaban-users.xml # Loader for projects executor.global.properties=/opt/installs/azkaban/web-server/conf/global.properties azkaban.project.dir=projects # 配置mysql数据库连接的 database.type=mysql mysql.port=3306 mysql.host=bigdata01 mysql.database=azkaban mysql.user=root mysql.password=123456 mysql.numconnections=100 # Velocity dev mode velocity.dev.mode=false # Azkaban Jetty server properties. jetty.use.ssl=false jetty.maxThreads=25 jetty.port=8081 # 此处是我们的生成的秘钥密码 jetty.keystore=keystore jetty.password=123456 jetty.keypassword=123456 jetty.truststore=keystore jetty.trustpassword=123456 # Azkaban Executor settings executor.maxThreads=50 executor.port=12321 executor.flow.threads=30 # mail settings #mail.sender=mx543042252@163.com #mail.host=smtp.163.com #mail.user=mx543042252@163.com #mail.password=KFJYOIGXRIVFFIKP # User facing web server configurations used to construct the user facing server URLs. They are useful when there is a reverse proxy between Azkaban web servers and users. # enduser -> myazkabanhost:443 -> proxy -> localhost:8081 # when this parameters set then these parameters are used to generate email links. # if these parameters are not set then jetty.hostname, and jetty.port(if ssl configured jetty.ssl.port) are used. # azkaban.webserver.external_hostname=myazkabanhost.com # azkaban.webserver.external_ssl_port=443 # azkaban.webserver.external_port=8081 job.failure.email= job.success.email= lockdown.create.projects=false cache.directory=cache # JMX stats jetty.connector.stats=true executor.connector.stats=true azkaban.native.lib=false # Azkaban plugin settings azkaban.jobtype.plugin.dir=plugins/jobtypes
web-server/conf 目录下 azkaban-users.xml
<user password="admin" roles="admin,metrics" username="admin" />
4、配置exec-server
修改exec-webserver 下 的conf 下的azkaban.properties
# Azkaban Personalization Settings azkaban.name=Azkaban azkaban.label=My Local Azkaban azkaban.color=#FF3601 azkaban.default.servlet.path=/index web.resource.dir=/opt/installs/azkaban/web-server/web/ default.timezone.id=Asia/Shanghai # Azkaban UserManager class user.manager.class=azkaban.user.XmlUserManager user.manager.xml.file=/opt/installs/azkaban/web-server/conf/azkaban-users.xml # Loader for projects executor.global.properties=/opt/installs/azkaban/exec-server/conf/global.properties azkaban.project.dir=projects/ azkaban.execution.dir=execution/ executor.flow.threads=30 flow.num.job.threads=10 job.log.chunk.size=100 job.log.backup.index=10 job.max.Xms=1 job.max.Xmx=2 azkaban.server.flow.max.running.minutes=-1 # Azkaban mysql settings by default. Users should configure their own username and password. database.type=mysql mysql.port=3306 mysql.host=bigdata01 mysql.database=azkaban mysql.user=root mysql.password=123456 mysql.numconnections=100 # Azkaban Executor settings executor.maxThreads=50 executor.flow.threads=30 # Azkaban Executor settings executor.maxThreads=50 executor.port=12321 executor.flow.threads=30 # JMX stats jetty.connector.stats=true executor.connector.stats=true azkaban.native.lib=lib/ #azkaban.jobtype.plugin.dir=plugins/jobtypes # uncomment to enable inmemory stats for azkaban #executor.metric.reports=true #executor.metric.milisecinterval.default=60000
修改exec-webserver 下插件下的一个配置文件:
plugins/jobtypes/commonprivate.properties
set execute-as-user execute.as.user=false memCheck.enabled=false
修改驱动包:
因为之前编译这个azkaban的时候使用的驱动包比较老,所以删除掉,换新的。
此处记得修改两个文件夹下的lib (web-server,exec-server)
cd /opt/installs/azkaban/exec-server/lib rm -rf mysql-connector-java-5.1.28.jar cp /opt/installs/sqoop/lib/mysql-connector-java-8.0.26.jar ./ cd /opt/installs/azkaban/web-server/lib rm -rf mysql-connector-java-5.1.28.jar cp /opt/installs/sqoop/lib/mysql-connector-java-8.0.26.jar ./
5、修改所有的.sh 的执行权限
需要将exec-server下以及 web-server 下所有的执行脚本都赋权限
修改web-server 下的执行权限:
cd /opt/installs/azkaban/web-server/bin chmod 777 start-web.sh shutdown-web.sh cd internal/ chmod 777 internal-start-web.sh util.sh
修改exec-server 下的执行权限:
cd /opt/installs/azkaban/exec-server/bin chmod 777 start-exec.sh shutdown-exec.sh cd internal/ chmod 777 internal-start-executor.sh util.sh
6、启动 web-server 以及 exec-server
cd /opt/installs/azkaban-3.56.0/web-server/bin ./start-web.sh
cd /opt/installs/azkaban-3.56.0/exec-server/bin ./start-exec.sh
启动无法访问,可以通过查看日志进行: