azkaban3.0安装

一、基本环境
    1.安装gradle省略
    2.安装git省略
    3.安装ant省略
    4.安装jdk1.8省略
    5.安装mysql省略
   
二、创建mysql用户
    mysql -uroot -proot
    
    #创建数据库
    create database azkaban;
    
    #创建用户
    create user 'azkaban'@'%' identified by '123456';
    
    如果创建用户登录提示
    ERROR 1045 (28000): Access denied for user 'azkaban'@'localhost' (using password: YES)
    执行grant all on azkaban.* to azkaban@'localhost' identified by '123456';
    
    #授权
    grant all on azkaban.* to 'azkaban'@'%' with grant option;


三、初始化azkaban


    1.创建目录 /home/hadoop/apps/azkaban
      在目录下下载
      git clone https://github.com/azkaban/azkaban.git
      git clone https://github.com/azkaban/azkaban-plugins.git


    2.编译
      cd azkaban
      ./gradlew distTar
    3.f复制编译后的文件
      mkdir /home/hadoop/apps/azkaban.3.39
      cd /home/hadoop/apps/azkaban.3.39
      cp /home/hadoop/apps/azkaban/azkaban-exec-server/build/distributions/azkaban-exec-server-3.39.0-17-g7b7833a.tar.gz ./
      cp /home/hadoop/apps/azkaban/azkaban-web-server/build/distributions/azkaban-web-server-3.39.0-17-g7b7833a.tar.gz ./
      cp /home/hadoop/apps/azkaban/azkaban-db/build/distributions/azkaban-db-3.39.0-17-g7b7833a.tar.gz
      
      tar -zxvf azkaban-exec-server-3.39.0-17-g7b7833a.tar.gz
      tar -zxvf azkaban-web-server-3.39.0-17-g7b7833a.tar.gz
      tar -zxvf azkaban-db-3.39.0-17-g7b7833a.tar.gz
      
    4.创建azkaban的初始化表
      mysql -uazkaban -pazkaban ;
      use azkaban;
      source /home/hadoop/apps/azkaban3.39/azkaban-db-3.39.0-17-g7b7833a/create-all-sql-3.39.0-17-g7b7833a.sql
    
    
四、创建SSL配置
     参考地址: http://docs.codehaus.org/display/JETTY/How+to+configure+SSL
     命令: keytool -keystore keystore -alias jetty -genkey -keyalg RSA
     运行此命令后,会提示输入当前生成 keystor的密码及相应信息,输入的密码请劳记,信息如下:
      
     输入keystore密码:  本次安装输入的密码为123456
     再次输入新密码:
     您的名字与姓氏是什么?
       [Unknown]: 
     您的组织单位名称是什么?
       [Unknown]: 
     您的组织名称是什么?
       [Unknown]: 
     您所在的城市或区域名称是什么?
       [Unknown]: 
     您所在的州或省份名称是什么?
       [Unknown]: 
     该单位的两字母国家代码是什么
       [Unknown]:  CN
     CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=CN 正确吗?
       [否]:  y
      
     输入<jetty>的主密码
             (如果和 keystore 密码相同,按回车): 
     再次输入新密码:
     完成上述工作后,将在当前目录生成 keystore 证书文件,将keystore 考贝到 azkaban web服务器根目录中.如:cp keystore azkaban-web-server-3.39.0-17-g7b7833a
五、安装azkaban-web端
    1、复制web端
    cd azkaban-web-server-3.39.0-17-g7b7833a
    
    mkdir ./conf
    mkdir ./plugins
    mkdir ./extlib
    cp /home/hadoop/apps/azkaban/azkaban-solo-server/build/resources/main/log4j.properties ./conf
    
    cd conf
    touch azkaban.properties
    touch global.properties
    touch azkaban-users.xml
    2、修改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                                                      #数据库连接IP
    mysql.database=azkaban                                                       #数据库实例名
    mysql.user= azkaban                                                                 #数据库用户名
    mysql.password= azkaban                                                        #数据库密码
    mysql.numconnections=100                                                  #最大连接数
     
    # Velocity dev mode
    velocity.dev.mode=false
    # Jetty服务器属性.
    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文件密码
     
    # 执行服务器属性
    executor.port=12321                                                               #执行服务器端口
     
    # 邮件设置
    mail.sender=                                                    #发送邮箱
    mail.host=                                                                 #发送邮箱smtp地址
    mail.user=                                                #发送邮件时显示的名称
    mail.password=                                                          #邮箱密码
    job.failure.email=                                               #任务失败时发送邮件的地址
    job.success.email=                                             #任务成功时发送邮件的地址
    lockdown.create.projects=false                                           #
    cache.directory=cache                                                            #缓存目录
    3.用户配置
    <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>
六、安装azkaban-executor端
    1.在目录下创建 conf extlib plugins projects temp 文件夹 
    2.cd conf 常见 azkaban.properties
    vi azkaban.properties
    default.timezone.id=Asia/Shanghai
    # 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
    mysql.user=azkaban
    mysql.password=azkaban
    mysql.numconnections=100
    
    # Configuring AzabanWebServer and AzkabanExecutorServer clients
    # Azkaban Executor settings
    executor.maxThreads=10
    executor.host=shizhan
    executor.port=12321
    executor.flow.threads=180
    execution.logs.retention.ms=1209600000
    # Multiple Executor Mode
    azkaban.use.multiple.executors=true
    azkaban.executorselector.filters=StaticRemainingFlowSize,MinimumFreeMemory,CpuStatus
    azkaban.executorselector.comparator.NumberOfAssignedFlowComparator=1
    azkaban.executorselector.comparator.Memory=1
    azkaban.executorselector.comparator.LastDispatched=1
    azkaban.executorselector.comparator.CpuUsage=1
    3.预防异常
     在plugins 下创建jobtypes文件夹
      cd plugins 
      mkdir jobtypes
      vi commonprivate.properties
      # 默认是true,表示特定用户执行任务
      execute.as.user=false
      #说明 azkaban3默认3g内存,用memCheck.enabled关闭
      memCheck.enabled=false
七、复制mysql.jar
    分别往web的extlib 和 executor的extlib文件夹上传mysql-connector-java-5.1.28.jar


八、启动
       nohup  bin/azkaban-executor-start.sh  1>azstd.out  2>azerr.out &
      nohup  bin/azkaban-web-start.sh  1>azstd.out  2>azerr.out &

猜你喜欢

转载自blog.csdn.net/oracle8090/article/details/78923582