1 COPY https://pan.baidu.com/s/1z7EKGungaCiQGg9kHubmYQ
1 COPY git clone https://github.com/azkaban/azkaban.git
编译azkaban
1 2 COPY cd azkaban ./gradlew build
1.解压安装包,并将所有文件放入/root/azkaban下 1 2 3 COPY tar -zxvf azkaban-web-server-3.43.0.tar.gz tar -zxvf azkaban-db-3.43.0.tar.gz tar -zxvf azkaban-executor-server-3.43.0.tar.gz
2.将表结构导入到mysql数据库中执行SQL文件(azkaban3.43_all.sql) 1 2 COPY 执行sql文件到数据库: azkaban3.43_all.sql
3.生成keystore文件 1 COPY cd /root/azkaban/azkaban-web-server-3.43.0
在/root/azkaban/azkaban-web-server-3.43.0 路径下输入如下命令(生成SSL秘钥)
1 COPY keytool -keystore keystore -alias jetty -genkey -keyalg RSA
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 COPY 输入密钥库口令:(输入keystore) 再次输入新口令: (输入keystore) 您的名字与姓氏是什么? [Unknown]: 您的组织单位名称是什么? [Unknown]: 您的组织名称是什么? [Unknown]: 您所在的城市或区域名称是什么? [Unknown]: 您所在的省/市/自治区名称是什么? [Unknown]: 该单位的双字母国家/地区代码是什么? [Unknown]: CN CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=CN是否正确? [否]: y 输入 <jetty> 的密钥口令 (如果和密钥库口令相同, 按回车): (回车)
会生成一个 keystore 文件,然后执行如下命令移动到bin目录下 mv ./keystore ./web/
4.修改azkabanazkaban-web-server-3.43.0文件 (1)复制conf目录到/root/azkabanazkaban-web-server-3.43.0/目录下 1 COPY cp conf /root/azkabanazkaban-web-server-3.43.0/
(2)配置azkaban.properties文件(cd /root/azkabanazkaban-web-server-3.43.0/conf) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 COPY # Azkaban Personalization Settings azkaban.name=Test azkaban.label=My Local Azkaban azkaban.color=#FF3601 azkaban.default.servlet.path=/index web.resource.dir=web/ default.timezone.id=Asia/Shanghai # Azkaban UserManager class user.manager.class=azkaban.user.XmlUserManager user.manager.xml.file=/root/azkaban/azkaban-web-server-3.43.0/conf/azkaban-users.xml # Loader for projects executor.global.properties=/root/azkaban/azkaban-web-server-3.43.0/conf/global.properties azkaban.project.dir=projects project.temp.dir=temp trigger.plugin.dir=/root/azkaban/azkaban-web-server-3.43.0/plugins/triggers #database.type=h2 #h2.path=./h2 #h2.create.tables=true database.type=mysql mysql.port=3306 mysql.host=192.168.66.170 mysql.database=azkaban mysql.user=root mysql.password=sql_9879 mysql.numconnections=100 # Velocity dev mode velocity.dev.mode=false # Azkaban Jetty server properties. jetty.maxThreads=25 jetty.ssl.port=8666 jetty.port=8081 jetty.keystore=web/keystore jetty.password=123456 jetty.keypassword=123456 jetty.truststore=web/keystore jetty.trustpassword=123456 jetty.excludeCipherSuites=SSL_RSA_WITH_DES_CBC_SHA,SSL_DHE_RSA_WITH_DES_CBC_SHA,SSL_DHE_DSS_WITH_DES_CBC_SHA,SSL_RSA_EXPORT_WITH_RC4_40_MD5,SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA,SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,TLS_DHE_DSS_WITH_AES_256_CBC_SHA256,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_DSS_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,TLS_DHE_DSS_WITH_AES_128_CBC_SHA256,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_DSS_WITH_AES_128_CBC_SHA #jetty.use.ssl=false #jetty.maxThreads=25 #jetty.port=8081 # Azkaban Executor settings executor.port=12321 # mail settings mail.sender=dzy780104547@163.com mail.host=smtp.163.com job.failure.email=dzy780104547@163.com job.success.email=dzy780104547@163.com # 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 lockdown.create.projects=false cache.directory=cache # JMX stats jetty.connector.stats=true executor.connector.stats=true # Azkaban plugin settings #azkaban.jobtype.plugin.dir=plugins/jobtypes
5.修改azkabanazkaban-web-server-3.43.0文件 (1)复制conf目录到/root/azkaban/azkaban-exec-server-3.43.0/目录下 1 2 COPY cd /root/azkaban cp conf /root/azkabanazkaban-web-server-3.43.0/
(2)配置azkaban.properties文件 1 COPY cd /root/azkaban/azkaban-exec-server-3.43.0/conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 COPY #Azkaban default.timezone.id=Asia/Shanghai # Azkaban JobTypes Plugins azkaban.jobtype.plugin.dir=/root/azkaban/azkaban-exec-server-3.43.0/plugins/azkaban-jobtype-2.5.0 #Loader for projects executor.global.properties=/root/azkaban/azkaban-exec-server-3.43.0/conf/global.properties azkaban.project.dir=projects azkaban.execution.dir=executions project.temp.dir=temp database.type=mysql mysql.port=3306 mysql.host=192.168.66.170 mysql.database=azkaban mysql.user=root mysql.password=sql_9879 mysql.numconnections=100 # Azkaban Executor settings executor.maxThreads=50 executor.port=12321 executor.flow.threads=30
6.启动 Web Server和 Executor Server 1 2 3 COPY sh /root/azkabanazkabanazkaban-web-server-3.43.0/bin/azkaban-web-start.sh sh /root/azkaban/azkaban-exec-server-3.43.0/bin/azkaban-executor-start.sh
7.8443端口访问并输入azkaban/azkaban 1 COPY https://192.168.66.194:8666
(账号密码设置修改在 /root/azkaban/azkaban-web-server-3.43.0/conf/azkaban-users.xml中配置)
1 2 3 4 5 6 7 COPY <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>
出现以下页面部署成功:
打赏