美文网首页程序员
AZKABAN (一)安装

AZKABAN (一)安装

作者: 进击的码奴 | 来源:发表于2018-07-22 15:38 被阅读0次

安装

Azkaban的部署方式有三种:

    solo server mode:即独立部署模块,数据库被嵌入H2,web服务器和执行服务器运行在同一个进程中,适用于小规模用例。

    two server mode:即两个服务器模式,数据库由主从设置的MySQL实例提供支持,Web服务器和执行服务器运行在不同的进程中,以便升级和维护不影响用户,适用于生成环境。

    multiple executor mode: 即多个执行器模式,Web服务器和执行器理想情况下运行在不同的主机上,这种多主机设置为Azkaban带来了强大且可扩展性。

1.1安装依赖

    我们选择第二种安装模式,因此需要依赖Mysql,java。

1.2安装java

    下载jdk-8u171-linux-x64.tar.gz包,解压到linux or centos安装目录。本文解压到 /opt/java。

     修改/etc/profile,添加如下内容:

      #javapath

     exportJAVA_HOME=/opt/java

      exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

     exportPATH=$PATH:$JAVA_HOME/bin

     执行source /etc/profile.

1.3 安装mysql(该方法centos上安装)

     rpm-qa | grep mysql

    #查看该操作系统上是否已经安装了 mysql 数据库,有的话,可以通过 rpm -e 命令或者 rpm -e --nodeps 命令来卸载掉

    yum install mysql-server mysql mysql-devel # 安装

    service mysqld start #启动

    chkconfig --list | grep mysqld #查看是否开机启动

    mysqld 0:off 1:off 2:off 3:off 4:off 5:off 6:off

    chkconfigmysqld on #设置开机启动

     mysqladmin-u root password 'root'  #设置 root 登录密码

     登录mysql 执行:

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITHGRANT OPTION;

FLUSH PRIVILEGES;

     授权远程登录对远程开放 3306端口(建议直接把防火墙关了)

      vi/etc/sysconfig/iptables

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

    重启防火墙,使端口配置生效

     service iptables restart

1.4 安装azkaban

    安装方式可以选择源码编译安装,也可以使用现成安装包。

    源码在azkaban.github.com上自己拉相应版本到本地。编译参考:https://cloud.tencent.com/developer/article/1079131(这个编译没问题安装有问题)

    这里介绍第二种:需要三个安装包:    

安装包

    将三个文件解压到安装路径:/opt/Azkaban/。重命名为sql,web,executer。

    executor目录:

executor目录

    web目录

web目录

    sql目录

sql目录

          在原生编译包中executor和web没有conf,plugins等文件夹。可以手动创建。conf配置文件可以从solo中拷贝。

    首先配置executor/conf/ azkaban.properties.如下:

    #Azkaban 时区 这里我没有修改 最好修改一下改成本地时区

    default.timezone.id=America/Los_Angeles

    # Azkaban JobTypes

    Plugins 插件位置

    azkaban.jobtype.plugin.dir=plugins/jobtypes

    #Loader for projects

    executor.global.properties=conf/global.properties

    azkaban.project.dir=projects

    database.type=mysql

    mysql.port=3306

    mysql.host=localhost #数据库地址

    mysql.database=azkaban

    #azkaban使用的数据库名称

    mysql.user=root #登录用户名

    mysql.password=root

    mysql.numconnections=100

    # Azkaban Executorsettings

    executor.maxThreads=50

    executor.port=12321

    executor.flow.threads=30

配置web/conf/

    azkaban.properties.如下:

    #AzkabanPersonalization Settings

    azkaban.name=Test

    azkaban.label=MyLocal Azkaban

    azkaban.color=#FF3601

    azkaban.default.servlet.path=/index

    web.resource.dir=web/

    default.timezone.id=America/Los_Angeles#时区 这里没改最好修改

    #Azkaban UserManagerclass

    user.manager.class=azkaban.user.XmlUserManager

    user.manager.xml.file=conf/azkaban-users.xml

    #azkaban web登录用户

    #Loader for projects

    executor.global.properties=conf/global.properties

    azkaban.project.dir=projects

    database.type=mysql

    mysql.port=3306

    mysql.host=localhost

    mysql.database=azkaban

    mysql.user=root

    mysql.password=root

    mysql.numconnections=100 #Velocity dev mode

    velocity.dev.mode=false

    # Azkaban Jettyserver properties.

    # 如果这里设置false 下面将不用 jetty 密码等 选择 不用配置

    #只需 配置 maxThreads 与 port (web 请求端口)

    #   jetty.use.ssl=false

    jetty.maxThreads=25

    jetty.ssl.port=8443

    jetty.port=8081

    jetty.keystore=keystore

    jetty.password=123456

    # 这个密码是SSL设置的密码

    jetty.keypassword=123456

    jetty.truststore=keystore

    jetty.trustpassword=123456

    # Azkaban Executorsettings

    executor.port=12321

    # mail settings

    azkaban发送邮件配置    

    mail.sender=xxxx@163.com

    mail.host=smtp.163.com

    mail.user=xxxx@163.com

    mail.password=xxxx

    job.failure.email=xxxx@163.com

    job.success.email=xxx@163.com

    lockdown.create.projects=false

    配置web/conf/azkaban-users.xml.(可选择配置):   

    至此azkaban的配置结束    

其他工作     azkaban依赖mysql. 因此导入sql的表。Mysql中建立azkaban数据库。

    create database azkaban;

    source create-all-sql-2.5.0.sql;

    上面如果选择了 SSL验证那么需要在web目录下执行:

    keytool -keystore keystore -aliasjetty -genkey -keyalg RSA

    运行此命令后,会提示输入当前生成keystor的密码及相应信息,输入的密码请劳记,信息如下:

    输入keystore密码:#注意和上面配置的密码一致

    再次输入新密码:

    您的名字与姓氏是什么?#对于unknown可以 一路回车不写

    [Unknown]:

    您的组织单位名称是什么?

    [Unknown]:

    您的组织名称是什么?

    [Unknown]:

    您所在的城市或区域名称是什么?

    [Unknown]:

    您所在的州或省份名称是什么?

    [Unknown]:

    该单位的两字母国家代码是什么

    [Unknown]: CN

    CN=Unknown, OU=Unknown,

    O=Unknown,L=Unknown, ST=Unknown, C=CN 正确吗?

    [否]: y

    输入的主密码  #也需要和上面配置一致 建立 上面两个密码设置一样

    如果和keystore 密码相同,按回车):

    再次输入新密码:

    完成上述工作后,将在当前目录生成keystore 证书文件,将keystore 考贝到 azkaban web服务器根    目录中.如:cpkeystore azkaban/server

    这样后会在web下生产一个keystore文件。当然也可以在别的目录执行该命令。然后把这个    keystore拷贝到web目录下。

    centos修改时区,时区的信息存在/usr/share/zoneinfo/下面,本机的时区信息存在/etc/localtime。    例如修改成亚洲的上海。

    cp/usr/share/zoneinfo/Asia/Shanghai /etc/localtime

   至此所有的配置和相关配置结束。

相关文章

网友评论

    本文标题:AZKABAN (一)安装

    本文链接:https://www.haomeiwen.com/subject/fjglmftx.html