赞
踩
工作流调度器:一个分析工作需要用到多个任务,azkaban可以用将这些任务建立先后顺序和依赖执行;
2.1 gradle编译打包
目的是得到三个压缩包:
azkaban-db-0.1.0-SNAPSHOT.tar.gz
azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz
azkaban-web-server-0.1.0-SNAPSHOT.tar.gz
2.11 下载压缩包
azkaban-3.84.10.tar.gz
gradle-5.6.3-all.zip
2.12 解压后改名为gradle和azkaban
unzip gradle-5.6.3-all.zip
tar azkaban-3.84.10.tar.gz
2.13 yun安装git
yum install -y git
2.14 gradle编译打包(gradle可以编译程序和自动下载依赖)(-x test跳过test任务)
/opt/software/azkaban/gradlew build installDist -x test
2.15 打包后得到需要的三个压缩包
2.2 配置mysql
mysql版本时是5.6的话,略过;mysql版本要安装5.7的话,如下
2.3 安装mysql 5.7版本
安装wget
yum -y install wget
查看是否安装
rpm -qa|grep "wget"
下载mysql源安装包
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
安装mysql源
yum localinstall mysql57-community-release-el7-8.noarch.rpm
检测mysql源是否安装成功
yum repolist enabled | grep "mysql.*-community.*"
修改yum源(可跳过)
vim /etc/yum.repos.d/mysql-community.repo
改变默认安装的mysql版本。比如要安装5.6版本,将5.7源的enabled=1改成enabled=0。然后再将5.6源的enabled=0改成enabled=1即可。
备注:enabled=1表示即将要安装的mysql版本,这个文件也可以不修改,默认安装mysql最高版本
安装mysql(这一步才是真正安装mysql)
yum install mysql-community-server
启动MySQL服务并设置开机启动
systemctl start mysqld //启动mysql
systemctl enable mysqld //设置开机自启动
systemctl daemon-reload //重新加载该软件的配置文件
端口开放(如果防火墙没有关闭的话,需要设置)
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
修改root本地登录密码
查看mysql密码
grep 'temporary password' /var/log/mysqld.log
连接mysql
mysql -uroot -p
修改密码【注意:后面的分号一定要跟上】(必须先设置一下密码,才允许作操作)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
如果要设置密码为ok,则需要修改密码的安全属性:
mysql> show variables like '%valid%';
+--------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------+-------+
| query_cache_wlock_invalidate | OFF |
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 8 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | LOW |
| validate_password_special_char_count | 1 |
+--------------------------------------+-------+
8 rows in set (0.00 sec)
对上表的说明:
如果不需要密码策略,在my.cnf文件中添加如下配置禁用即可:
validate_password = off
修改完后记得需要重新启动MySQL服务
validate_password相关参数说明:
validate_password_dictionary_file:密码策略文件,策略为STRONG才需要
validate_password_length:密码最少长度
validate_password_mixed_case_count:大小写字符长度,至少1个
validate_password_number_count :数字至少1个
validate_password_special_char_count:特殊字符至少1个上述参数是默认策略MEDIUM的密码检查规则。
validate_password_policy:密码策略,默认为MEDIUM策略,共有如下三种密码策略:
策略 检查规则
0 or LOW Length
1 or MEDIUM Length; numeric, lowercase/uppercase, and special characters
2 or STRONG Length; numeric, lowercase/uppercase, and special characters; dictionary file
根据以上策略,如果密码打算设置为ok,需要如下操作:
set global validate_password_special_char_count=0; //不需要特殊字符
set global validate_password_number_count=0; //不需要数字
set global validate_password_length=2; //密码长度至少为2位;
set password for 'root'@'localhost'=password('ok');
给root用户赋权:
grant all privileges on *.* to 'root'@'%' identified by 'ok' with grant option;
重启msyql
systemctl restart mysqld
2.4 mysql中建立azkaban数据库和用户名
在mysql中创建数据库(类似mysql里的hive数据库)
create database azkaban;
创建用户(不创建就用root)
create user 'azkaban'@'%' identified by 'ok';
授权给azkaban用户
grant select,insert,update,delete on azkaban.*TO'azkaban'@'%'with grant option;
在数据库azkaban里粘贴数据:
解压azkaban-db-0.1.0-SNAPSHOT.tar.gz,打开create-all-sql-0.1.0-SNAPSHOT.sql全选后粘贴到mysql里;也可以在azkaban数据库下source+该文件的路径(是linux路径);
以上这一步如果在sqlyog里执行,不会报错;如果在小黑窗口里执行,则会报外键的错,不用理会;
修改my.cnf文件:
vi /usr/my.cnf 或者vi /etc/my.cnf
在最后一行添加
max_allowed_packet=1024M
重启mysql:
service mysql restart
可以查看修改结果:
mysql> show variables like 'max_allowed_packet';
+--------------------+------------+
| Variable_name | Value |
+--------------------+------------+
| max_allowed_packet | 1073741824 |
+--------------------+------------+
1 row in set (0.00 sec)
2.5 安装azkaban-exec和azkaban-web
将 以下两个压缩包放入azkaban文件夹下:解压后改名为azkaban-exec和azkaban-web
azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz
azkaban-web-server-0.1.0-SNAPSHOT.tar.gz
更改azkban-exec/conf/azkaban.properties文件:
第7行美国时间改成中国时间:Asia/Shanghai
第21行localhost改为azkaban-exec所在虚拟机的ip:192.168.236.8
第44行localhost改为mysql所在的虚拟机的ip:192.168.236.15
第47行上下的数据库,用户,密码都改成对应的:数据库azkabandb;用户名azkaban;密码ok
最后一行添加:executor.port=12333 随便给个不用的端口;
第一次启动时,更改文件:
/opt/software/azkaban-exec/plugins/jobtypes/commonprivate.properties
azkaban.native.lib=false
第一次启动后,注释掉这一行;
启动1:在azkaban-exec目录下,bin/start-exec.sh(关闭是shutdown.sh)
jps查看AzkabanExecutorServer线程启动
查看mysql的azkabandb数据库里的excutor文件,active的值为0;
linux里执行
curl -G "192.168.236.8:12333/executor?action=activate" && echo
结果是:
{“status”:“success”}
excutor文件的active值编程1,如下:
更改azkaban-web/conf/azkaban.properties文件:
第7行改为中国时间:Asia/Shanghai
第44行上下更改数据库,用户名,密码:azkabandb,azkaban,ok
第48行删除MininumFreeMemory,否则内存需要6G以上才能启动
更改azkaban-web/conf/azkaban-users.xml文件:这是配置web网页(端口8081)的登录时的用户名和密码:
第三行复制粘贴:快捷键yy p
password:改为ok
username:改为root
roles:改为admin
启动2:azkaban的目录下:/bin/start-web.sh
jps查看启动的线程:AzkabanWebServer
2.7 web端操作
在网页上输入192.168.236.8:8081出现如下:
输入root ok登录进去
点击create Project,输入name和description
项目建好后,点击upload上传文件
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。