开发者学堂课程【Azkaban 大数据调度系统课程精讲:Azkaban--安装部署--two server 模式安装--服务器配置上 】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/721/detail/12876
Azkaban--安装部署--two server 模式安装--服务器配置上
内容介绍:
一、节点规划
二、mysql 配置初始化
三、web-server 服务器配置
一、节点规划
HOST |
角色 |
node-1 |
MySQL |
Node-2 |
web-server和exec-server 不同进程 |
需要两台服务器,在 node-1上安装 MySQL 数据库,在 two server 模式下使用 MySQL 存储数据。
二、mysql 配置初始化
当 Azkaban 使用第三方数据库保存数据时它需要相关的库和相关的表,需要进行创建,根据它提供脚本执行。
在编译好的文件中可以看到
azkaban-db-0.1.0-SNAPSHOT.tar.gz,初始化相关的脚本。
上传服务器,根据规划 node-1,export/servers 路径下进行上传,选择 db 包,针对它做解压操作,tar zxvf azkaban-db-0.1. 0-SNAPSHOT.tar .gz,发现显示的信息都是.sql 脚本,官方帮助执行 create-all-sql-0.1.0-SNAPSHOT.sql 一个脚本即可完成所有的工作。
node-1:
mkdir /export/servers/ azkaban
tar-zxvf azkaban-db-0.1.0-SNAPSHOT.tar.gz-C /export/servers/azkaban/
//登陆
[r
oot@node-1 azkaban db-0.1.0-SNAPSHOT]# mysql -u root -p
Mysql 上创建对应的库、增加权限、创建表
mysql> CREATE DATABASE azkaban_ two_server;
#创建数据库
mysq|> use azkaban_ two_ server;
切换到数据库
使用 source 命令清除脚本的路径
mysq|>source/export/servers/azkaban/
azkaban-db-0.1.0-SNAPSHOT/create-all-sql-0.1.0-SNAPSHOT.sql;
#加载初始化 sql 创建表
复制做相应的替换,完成初始化工作。
export/servers/azkaban/azkaban-db-0.1.0-SNAPSHOT/create-all-sql-0.1.0-SNAPSHOT.sql
可以发现里面执行了很多的 source。
通过工具打开数据库 Navicat,点击 node-1,刷新 web-server,可以发现创建好多个表,都是按照内部约束相关的关系,工程的名字,工程的文件,工程的权限,执行服务器,需要初始化的信息。
三、web-server 服务器配置
1、在服务器上需要部署两个进程,一个 web server,一个 exec server,为了方便,统一创建一个文件夹,mkdir azkaban,cd azkaban 文件夹中,打开参考资料,选择 web server 和 exec server 上传。
2、针对这两个包进行解压,解压到当前目录下,解压完成后把安装包删除,#rm -rf azkaban-* . gz,分别配置服务器。
node-2:
mkdir /export/servers/azkaban
tar -zxvf azkaban-web-server-0.1.0-SNAPSHOT.tar.gz -C /export/servers/azkaban/
tar -zxvf azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz -C /export/servers/azkaban/
3、web 服务器可以开启 ssl 证书,访问公司网站,有的公司是 http,有的是 https,所谓的 https 就是对参数协议做加密认证,加密就叫 ssl 认证,azkaban 内置有 jetty 服务器,开启服务器的 ssl 认证,使访问的时候更加的安全。
生成 ssl 证书:
keytool -keystore keystore -alias jetty -genkey -keyalg RSA
运行此命令后,会提示输入当前生成 keystore 的密码及相应信息,输入的密码请记住(所有密码统一以123456输入)。
Enter keystore password 输入证书的密码
Enter key password for <jetty>
(RETURN if same as keystore password):
输入密码对 jetty 服务器,最好和证书密码保持一致。输入123456回车。
4、完成上述工作后,将在当前目录生成 keystore 证书文件,将 keystore 拷贝到 azkaban web 服务器根目录中。
移动 mv keystore azkaban-web - server-0.1. 0-SNAPSHOT/
如: cp keystore azkaban-web- server -0.1. 0- SNAPSHOT/
如果采用 vim 编译器感觉不好配置,还可以使用 notepad++,远程的 ntp 服务器进行连接,打开 notepad++,插件选择 nppftp 服务器远程编辑,重新连接,配置在右键选择 Profile settings,Adding profile,机器叫做 node-2。
主机名叫 node-2,22端口,用户名是 root,密码是服务器密码,timeout30。
如果没有连接上,要确保选项是否正确,Connection type 选择 SFTP,保存。再点击 node-2,是否保存证书,点击是。
通过 notepad++远程编辑,避免相关出错,找到配置文件,在 export 路径下 servers,web 服务器,conf 路径下,打开 azkaban.properties。
一定要确定文件在远程机器上。
配置 conf/azkaban.properties:
# 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=conf/azkaban-users.xml
# Azkaban Jetty server properties.开启使用 ssl 并且知道端口 jetty.use.ssl=true
jetty.ssl.port=8443
jetty.maxThreads=25
# Azkaban Executor settings
制定本机 Executor 的运行端口
executor.host=localhost
executor.port=12321
#KeyStore for SSL ssl
相关配置注意密码和证书路径
jetty.keystore= keystore
名字
jetty.password=123456
jetty.keypassword=123456
jetty.truststore=keystore
jetty.trustpassword=123456
# Azkaban mysql settings by default. Users should configure their ownusernameandpassword.
database.type=mysql
mysql.port=3306
mysql.host=node-1
数据库修改
mysql.database=azkaban_ two_ server
mysql.user=root
mysql.password=hadoop
进行内存检测,如果没有开启内存就屏蔽,检测当前机器是否满足内存,不满足会报错
mysql.numconnections=100
#Multiple Executor
设置为 false
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
添加 azkaban.native.lib=false 和 execute.as.user=false 属性:
mkdir -p plugins/jobtypes
vim commonprivate.properties
azkaban. native. lib=false
execute. as.user=false
memCheck .enabled=false