您当前的位置:钢材 > 型钢 > 市场分析

azkaban调度python,azkaban调度spark

来源:头条 作者: chanong
分享到
关注德勤钢铁网在线:
  • 扫描二维码

    关注√

    德勤钢铁网微信

在线咨询:
  • 扫描或点击关注德勤钢铁网在线客服

阿兹卡班

工作流程调度系统

由多个任务单元组成

Shell脚本程序、Java程序、mapreduce程序、hive脚本等。

每个任务单元之间存在时间序列和依赖性。

· 为了正确组织如此复杂的执行计划,需要工作流调度系统来调度执行。

- 某业务系统每天产生20G的原始数据,每天需要处理,处理流程如下。

· 1)首先将原始数据通过Hadoop上传到HDFS(HDFS操作)。

· 2)使用MapReduce清理原始数据(MapReduce操作)。

· 3)将清洗后的数据导入到hive表中(hive导入操作)。

· 4)对Hive中多个表的数据进行JOIN操作,得到Hive中的明细表(创建中间表)。

· 5)通过详细的表统计和分析,获取结果报告信息(Hive查询操作)。

·

·

适用场景

(2) 任务取决于(1) 任务的结果,(3) 任务取决于(2) 任务的结果,(4) 任务取决于(3) 任务的结果,( 5)任务(3)取决于任务的结果。 (4)任务结果。常见的方法是首先执行(1),然后执行(2),然后再次执行(3) (4) (5)。

什么是阿兹卡班

· Azkaban是Linkedin推出的批量工作流任务调度器。它主要用于在工作流程中按特定顺序运行一组作业和流程。它的配置是通过简单的key: 值对来设置依赖关系来完成的。

· Azkaban 使用作业配置文件来建立任务之间的依赖关系,并提供易于使用的Web 用户界面来维护和跟踪工作流程。

特征

1)兼容任何版本的Hadoop

2) 易于使用的网络用户界面

3) 轻松上传工作流程

4)方便设置任务之间的关系

5) 安排工作流程

6)模块化、可插拔的插件机制

7)认证/授权(授权工作)

8) 能够终止和重新启动工作流程

9)发送有关失败和成功的电子邮件提醒

通用工作流程调度系统

1)简单的任务调度:直接使用crontab实现。

2)复杂任务的调度:开发调度平台或者使用现成的开源调度系统,如ooize、azkaban等。

建筑学

· AzkabanWebServer:AzkabanWebServer是整个Azkaban工作流系统的主要管理器,对用户进行登录认证,负责项目管理,定期运行工作流,跟踪工作流执行的任务进度和顺序。

· AzkabanExecutorServer:负责提交并执行具体的工作流程,通过mysql数据库协调任务的执行。

· 关系数据库(MySQL):存储大部分执行流程状态。 AzkabanWebServer 和AzkabanExecutorServer 都需要访问数据库。

安装

下载地址:链接:https://pan.baidu.com/s/1QvDgNc4SP5TTX2SAvodhcg 提取码:ntfh 复制此内容后,打开百度网盘手机应用程序,让您的操作更加方便。

安装Azkaban · 在/opt/module/目录下创建azkaban目录

· [atguigu@hadoop102 模块]$ mkdir azkaban

· azkaban-web-server-2.5.0.tar.gz、azkaban-executor-server-2.5.0.tar.gz、azkaban-sql-script-2.5.0.tar.gz 解压到/opt/module/azkaban 。以下内容

· [atguigu@hadoop102 软件]$ tar -zxvf azkaban-web-server-2.5.0.tar.gz -C /opt/module/azkaban/[atguigu@hadoop102 软件]$ tar -zxvf azkaban-executor-server-2.5 .0.tar.gz -C /opt/module/azkaban/[atguigu@hadoop102 软件]$ tar -zxvf azkaban-sql-script-2.5.0.tar.gz -C /opt/module/azkaban/

· 重命名提取的文件

· [atguigu@hadoop102 azkaban]$ mv azkaban-web-2.5.0/服务器[atguigu@hadoop102 azkaban]$ mv azkaban-executor-2.5.0/执行器

· 导入Azkaban脚本

· 进入mysql,创建azkaban数据库,将解压后的脚本导入azkaban数据库。

· [atguigu@hadoop102 azkaban]$ mysql -uroot -p000000mysql 创建数据库azkaban; 使用mysql azkaban; mysql 源/opt/module/azkaban/azkaban-2.5.0/create-all-sql-2.5.0.sqla

· 源代码后跟一个.sql 文件,用于对.sql 文件中的SQL 语句进行批处理。

· 生成密钥对和证书· Keytool 是一个Java 数据证书管理工具,允许用户管理自己的公钥/私钥对和关联证书。

· -keystore 指定密钥库的名称和位置(生成的各种信息保存在.keystore 文件中)。

· -genkey(或-genkeypair)生成密钥对

· -alias 指定生成的密钥对的别名。否则,默认值为mykey。

· -keyalg 指定密钥算法RSA/DSA。默认为DSA。

· 生成keystore密码以及keystore对应的信息

· [atguigu@hadoop102 azkaban]$ keytool -keystore keystore -alias jetty -genkey -keyalg 请输入您的RSA 密钥库密码: 请再次输入您的新密码: 您的名字和姓氏是什么[未知] : 您的名字是什么组织单位?[未知]: 您的组织的名称是什么?[未知]: 您所在的城市或地区的名称是什么?[未知]: 您所在的州/城市/地区的名称是什么?[未知]是什么: 该组织的两个字母国家/地区代码[未知] : CN=未知、OU=未知、O=未知、L=未知、ST=未知、C=未知这是否正确?[否] : y 输入的密钥密码(如果相同)输入密钥库密码并按Enter): 再次输入新密码:

·注意:

· 密钥库密码长度必须至少为6 个字符,可以是纯数字、字母或数字和字母的组合。

· 密钥库密码必须与密钥相同,以便于记忆。

· 2) 将密钥库复制到azkaban Web 服务器的根目录。

· [atguigu@hadoop102 azkaban]$ mv keystore /opt/module/azkaban/server/

· 配置时间同步· 首先在服务器节点上配置时区

· 如果/usr/share/zoneinfo/目录下不存在时区配置文件Asia/Shanghai,则必须使用tzselect生成。

· [atguigu@hadoop102 azkaban]$ 请标识位置,以便我们正确设置tzselect 时区规则。选择大陆或海洋。 1) 非洲2) 美洲3) 南极洲4) 北冰洋5) 亚洲6) 大西洋7) 澳大利亚8) 欧洲9) 印度洋10) 太平洋11) 无- 我想使用Posix TZ 格式指定时区。 # 请选择5 个国家。 1) 阿富汗18) 以色列35) 巴勒斯坦2) 亚美尼亚19) 日本36 ) 菲律宾3) 阿塞拜疆20) 约旦37) 卡塔尔4) 巴林21) 哈萨克斯坦38) 俄罗斯5) 孟加拉国22) 韩国(北部) 39) 沙特阿拉伯6)不丹23)韩国(南部)40)新加坡7)文莱24)科威特41)斯里兰卡8)柬埔寨25)吉尔吉斯斯坦42)叙利亚9)中国26)老挝43)台湾10)塞浦路斯27)黎巴嫩44)塔吉克斯坦11) 东帝汶28) 澳门45) 泰国12) 格鲁吉亚29) 马来西亚46) 土库曼斯坦13) 香港30) 蒙古47) 阿拉伯联合酋长国14) 印度31) 缅甸48) 乌兹别克斯坦15) 印度尼西亚32) 尼泊尔49 ) 越南16) 伊朗33) 阿曼50) 也门17) 伊拉克34) 巴基斯坦# 9 选择以下时区之一1) 北京时间2) 新疆时间# 1 以下信息为2018 年。以上信息1) 是2)否# 1要使此更改永久生效,请使用TZ='Asia/Shanghai' 行;将TZ 导出到主目录中的文件“.profile”;然后注销并再次登录。 TZ 值将再次显示。这次/usr/bin/tzselect 命令将显示在标准输出上,以便您可以在shell 脚本中使用该命令:Asia/Shanghai

· 复制时区文件以覆盖系统的本地时区设置。

· atguigu@hadoop102 azkaban]$ cp /usr/share/zoneinfo/Asia/上海/etc/localtime

· 集群时间同步(同时发送到三个窗口)

· [atguigu@hadoop102 azkaban]$ sudo date -s '2018-10-18 16:39:30'

·设定文件

2.5.1 Web服务器设置

· 1)进入azkaban Web服务器安装目录的conf目录,打开azkaban.properties文件。

· [atguigu@hadoop102 conf]$ pwd/opt/module/azkaban/server/conf[atguigu@hadoop102 conf]$ vim azkaban.properties

· 按照以下配置修改azkaban.properties文件。

· #Azkaban 个性化# 服务器UI 名称。用于服务器上方显示的名称。 azkaban.name=Test# 描述azkaban.label=我的本地azkaban#UI 颜色azkaban.color=#FF3601azkaban.default.servlet.path=/index # 默认Web服务器存放Web文件的目录web.resource.dir=/opt /module/azkaban/server/web/#默认时区改为Asia/Shanghai,默认为USAdefault.timezone .id=Asia/Shanghai#Azkaban UserManager classuser.manager.class=azkaban.user. XmlUserManager#用户权限管理的默认类(绝对路径) user.manager.xml.file=/opt/module/azkaban/server/conf/azkaban -users.xml#项目加载器#全局配置文件位置(绝对路径) executor.global.properties=/opt/module/azkaban/executor/conf/global.propertiesazkaban.project.dir=projects#数据库类型database.type=mysql#端口号mysql.port=3306#数据库连接IPmysql.host=hadoop102#数据库实例名称mysql.database=azkaban #数据库用户名mysql.user=root#数据库密码mysql.password=000000#最大连接数mysql.numconnections=100#Velocity dev modevelocity.dev .mode=false#Azkaban Jetty 服务器属性.# Jetty 服务器属性.#最大连接数线程数jetty.maxThreads=25#Jetty SSL 端口jetty.ssl.port=8443#Jetty 端口jetty.port=8081#SSL 文件名(绝对路径)jetty.keystore=/opt/module /azkaban/server/keystore# SSL文件密码jetty.password=000000#Jetty主密码与keystore文件jetty相同。 keypassword=000000#SSL 文件名(绝对路径) jetty.truststore=/opt/module/azkaban/server/keystore#SSL 文件密码jetty.trustpassword=000000#Azkaban Executor settingsexecutor.port=12321#mail settingsmail.sender=mail 。主机=job.failure.email=job.success.email=lockdown.create.projects=falsecache.directory=缓存

Web服务器用户设置

· 在azkaban Web服务器安装目录的conf目录下,按照如下配置修改azkaban-users.xml文件,添加管理员用户。

· atguigu@hadoop102 conf]$ vim azkaban-users.xml

· 执行服务器配置

· 进入执行服务器安装目录conf,打开azkaban.properties。

· [atguigu@hadoop102 conf]$ pwd/opt/module/azkaban/executor/conf[atguigu@hadoop102 conf]$ vim azkaban.properties

· 按照以下配置修改azkaban.properties文件。

· #Azkaban#Timezonedefault.timezone.id=Asia/Shanghai#Azkaban JobTypes Plugins#jobtype 插件位置azkaban.jobtype.plugin.dir=plugins/jobtypes#项目加载器executor.global.properties=/opt/module/azkaban/executor/conf/global.propertiesazkaban.project.dir=projectsdatabase.type=mysqlmysql.port=3306mysql.host=hadoop102mysql.database=azkabanmysql.user=rootmysql.password=000000mysql.numconnections=100#Azkaban执行器设置#执行器最大线程数。 maxThreads=50#端口号(如果更改,请匹配您的Web服务) executor.port=12321#线程数executor.flow.threads=30

· 启动执行器服务器

- 在执行器服务器目录中执行启动命令。

· [atguigu@hadoop102执行器]$ pwd/opt/module/azkaban/executor[atguigu@hadoop102执行器]$ bin/azkaban-executor-start.sh

启动网络服务器

· [atguigu@hadoop102 服务器]$ pwd/opt/module/azkaban/server[atguigu@hadoop102 服务器]$ bin/azkaban-web-start.sh

· 先运行执行器,再运行Web,防止Web服务器因缺少执行器而无法启动。

· [atguigu@hadoop102 服务器]$ jps

· 3601 Azkaban执行器服务器

5880日元

· 3661 Azkaban 网络服务器

· 展示柜

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

责任编辑:德勤钢铁网 标签:

热门搜索

相关文章

广告
德勤钢铁网 |市场分析

azkaban调度python,azkaban调度spark

chanong

|

阿兹卡班

工作流程调度系统

由多个任务单元组成

Shell脚本程序、Java程序、mapreduce程序、hive脚本等。

每个任务单元之间存在时间序列和依赖性。

· 为了正确组织如此复杂的执行计划,需要工作流调度系统来调度执行。

- 某业务系统每天产生20G的原始数据,每天需要处理,处理流程如下。

· 1)首先将原始数据通过Hadoop上传到HDFS(HDFS操作)。

· 2)使用MapReduce清理原始数据(MapReduce操作)。

· 3)将清洗后的数据导入到hive表中(hive导入操作)。

· 4)对Hive中多个表的数据进行JOIN操作,得到Hive中的明细表(创建中间表)。

· 5)通过详细的表统计和分析,获取结果报告信息(Hive查询操作)。

·

·

适用场景

(2) 任务取决于(1) 任务的结果,(3) 任务取决于(2) 任务的结果,(4) 任务取决于(3) 任务的结果,( 5)任务(3)取决于任务的结果。 (4)任务结果。常见的方法是首先执行(1),然后执行(2),然后再次执行(3) (4) (5)。

什么是阿兹卡班

· Azkaban是Linkedin推出的批量工作流任务调度器。它主要用于在工作流程中按特定顺序运行一组作业和流程。它的配置是通过简单的key: 值对来设置依赖关系来完成的。

· Azkaban 使用作业配置文件来建立任务之间的依赖关系,并提供易于使用的Web 用户界面来维护和跟踪工作流程。

特征

1)兼容任何版本的Hadoop

2) 易于使用的网络用户界面

3) 轻松上传工作流程

4)方便设置任务之间的关系

5) 安排工作流程

6)模块化、可插拔的插件机制

7)认证/授权(授权工作)

8) 能够终止和重新启动工作流程

9)发送有关失败和成功的电子邮件提醒

通用工作流程调度系统

1)简单的任务调度:直接使用crontab实现。

2)复杂任务的调度:开发调度平台或者使用现成的开源调度系统,如ooize、azkaban等。

建筑学

· AzkabanWebServer:AzkabanWebServer是整个Azkaban工作流系统的主要管理器,对用户进行登录认证,负责项目管理,定期运行工作流,跟踪工作流执行的任务进度和顺序。

· AzkabanExecutorServer:负责提交并执行具体的工作流程,通过mysql数据库协调任务的执行。

· 关系数据库(MySQL):存储大部分执行流程状态。 AzkabanWebServer 和AzkabanExecutorServer 都需要访问数据库。

安装

下载地址:链接:https://pan.baidu.com/s/1QvDgNc4SP5TTX2SAvodhcg 提取码:ntfh 复制此内容后,打开百度网盘手机应用程序,让您的操作更加方便。

安装Azkaban · 在/opt/module/目录下创建azkaban目录

· [atguigu@hadoop102 模块]$ mkdir azkaban

· azkaban-web-server-2.5.0.tar.gz、azkaban-executor-server-2.5.0.tar.gz、azkaban-sql-script-2.5.0.tar.gz 解压到/opt/module/azkaban 。以下内容

· [atguigu@hadoop102 软件]$ tar -zxvf azkaban-web-server-2.5.0.tar.gz -C /opt/module/azkaban/[atguigu@hadoop102 软件]$ tar -zxvf azkaban-executor-server-2.5 .0.tar.gz -C /opt/module/azkaban/[atguigu@hadoop102 软件]$ tar -zxvf azkaban-sql-script-2.5.0.tar.gz -C /opt/module/azkaban/

· 重命名提取的文件

· [atguigu@hadoop102 azkaban]$ mv azkaban-web-2.5.0/服务器[atguigu@hadoop102 azkaban]$ mv azkaban-executor-2.5.0/执行器

· 导入Azkaban脚本

· 进入mysql,创建azkaban数据库,将解压后的脚本导入azkaban数据库。

· [atguigu@hadoop102 azkaban]$ mysql -uroot -p000000mysql 创建数据库azkaban; 使用mysql azkaban; mysql 源/opt/module/azkaban/azkaban-2.5.0/create-all-sql-2.5.0.sqla

· 源代码后跟一个.sql 文件,用于对.sql 文件中的SQL 语句进行批处理。

· 生成密钥对和证书· Keytool 是一个Java 数据证书管理工具,允许用户管理自己的公钥/私钥对和关联证书。

· -keystore 指定密钥库的名称和位置(生成的各种信息保存在.keystore 文件中)。

· -genkey(或-genkeypair)生成密钥对

· -alias 指定生成的密钥对的别名。否则,默认值为mykey。

· -keyalg 指定密钥算法RSA/DSA。默认为DSA。

· 生成keystore密码以及keystore对应的信息

· [atguigu@hadoop102 azkaban]$ keytool -keystore keystore -alias jetty -genkey -keyalg 请输入您的RSA 密钥库密码: 请再次输入您的新密码: 您的名字和姓氏是什么[未知] : 您的名字是什么组织单位?[未知]: 您的组织的名称是什么?[未知]: 您所在的城市或地区的名称是什么?[未知]: 您所在的州/城市/地区的名称是什么?[未知]是什么: 该组织的两个字母国家/地区代码[未知] : CN=未知、OU=未知、O=未知、L=未知、ST=未知、C=未知这是否正确?[否] : y 输入的密钥密码(如果相同)输入密钥库密码并按Enter): 再次输入新密码:

·注意:

· 密钥库密码长度必须至少为6 个字符,可以是纯数字、字母或数字和字母的组合。

· 密钥库密码必须与密钥相同,以便于记忆。

· 2) 将密钥库复制到azkaban Web 服务器的根目录。

· [atguigu@hadoop102 azkaban]$ mv keystore /opt/module/azkaban/server/

· 配置时间同步· 首先在服务器节点上配置时区

· 如果/usr/share/zoneinfo/目录下不存在时区配置文件Asia/Shanghai,则必须使用tzselect生成。

· [atguigu@hadoop102 azkaban]$ 请标识位置,以便我们正确设置tzselect 时区规则。选择大陆或海洋。 1) 非洲2) 美洲3) 南极洲4) 北冰洋5) 亚洲6) 大西洋7) 澳大利亚8) 欧洲9) 印度洋10) 太平洋11) 无- 我想使用Posix TZ 格式指定时区。 # 请选择5 个国家。 1) 阿富汗18) 以色列35) 巴勒斯坦2) 亚美尼亚19) 日本36 ) 菲律宾3) 阿塞拜疆20) 约旦37) 卡塔尔4) 巴林21) 哈萨克斯坦38) 俄罗斯5) 孟加拉国22) 韩国(北部) 39) 沙特阿拉伯6)不丹23)韩国(南部)40)新加坡7)文莱24)科威特41)斯里兰卡8)柬埔寨25)吉尔吉斯斯坦42)叙利亚9)中国26)老挝43)台湾10)塞浦路斯27)黎巴嫩44)塔吉克斯坦11) 东帝汶28) 澳门45) 泰国12) 格鲁吉亚29) 马来西亚46) 土库曼斯坦13) 香港30) 蒙古47) 阿拉伯联合酋长国14) 印度31) 缅甸48) 乌兹别克斯坦15) 印度尼西亚32) 尼泊尔49 ) 越南16) 伊朗33) 阿曼50) 也门17) 伊拉克34) 巴基斯坦# 9 选择以下时区之一1) 北京时间2) 新疆时间# 1 以下信息为2018 年。以上信息1) 是2)否# 1要使此更改永久生效,请使用TZ='Asia/Shanghai' 行;将TZ 导出到主目录中的文件“.profile”;然后注销并再次登录。 TZ 值将再次显示。这次/usr/bin/tzselect 命令将显示在标准输出上,以便您可以在shell 脚本中使用该命令:Asia/Shanghai

· 复制时区文件以覆盖系统的本地时区设置。

· atguigu@hadoop102 azkaban]$ cp /usr/share/zoneinfo/Asia/上海/etc/localtime

· 集群时间同步(同时发送到三个窗口)

· [atguigu@hadoop102 azkaban]$ sudo date -s '2018-10-18 16:39:30'

·设定文件

2.5.1 Web服务器设置

· 1)进入azkaban Web服务器安装目录的conf目录,打开azkaban.properties文件。

· [atguigu@hadoop102 conf]$ pwd/opt/module/azkaban/server/conf[atguigu@hadoop102 conf]$ vim azkaban.properties

· 按照以下配置修改azkaban.properties文件。

· #Azkaban 个性化# 服务器UI 名称。用于服务器上方显示的名称。 azkaban.name=Test# 描述azkaban.label=我的本地azkaban#UI 颜色azkaban.color=#FF3601azkaban.default.servlet.path=/index # 默认Web服务器存放Web文件的目录web.resource.dir=/opt /module/azkaban/server/web/#默认时区改为Asia/Shanghai,默认为USAdefault.timezone .id=Asia/Shanghai#Azkaban UserManager classuser.manager.class=azkaban.user. XmlUserManager#用户权限管理的默认类(绝对路径) user.manager.xml.file=/opt/module/azkaban/server/conf/azkaban -users.xml#项目加载器#全局配置文件位置(绝对路径) executor.global.properties=/opt/module/azkaban/executor/conf/global.propertiesazkaban.project.dir=projects#数据库类型database.type=mysql#端口号mysql.port=3306#数据库连接IPmysql.host=hadoop102#数据库实例名称mysql.database=azkaban #数据库用户名mysql.user=root#数据库密码mysql.password=000000#最大连接数mysql.numconnections=100#Velocity dev modevelocity.dev .mode=false#Azkaban Jetty 服务器属性.# Jetty 服务器属性.#最大连接数线程数jetty.maxThreads=25#Jetty SSL 端口jetty.ssl.port=8443#Jetty 端口jetty.port=8081#SSL 文件名(绝对路径)jetty.keystore=/opt/module /azkaban/server/keystore# SSL文件密码jetty.password=000000#Jetty主密码与keystore文件jetty相同。 keypassword=000000#SSL 文件名(绝对路径) jetty.truststore=/opt/module/azkaban/server/keystore#SSL 文件密码jetty.trustpassword=000000#Azkaban Executor settingsexecutor.port=12321#mail settingsmail.sender=mail 。主机=job.failure.email=job.success.email=lockdown.create.projects=falsecache.directory=缓存

Web服务器用户设置

· 在azkaban Web服务器安装目录的conf目录下,按照如下配置修改azkaban-users.xml文件,添加管理员用户。

· atguigu@hadoop102 conf]$ vim azkaban-users.xml

· 执行服务器配置

· 进入执行服务器安装目录conf,打开azkaban.properties。

· [atguigu@hadoop102 conf]$ pwd/opt/module/azkaban/executor/conf[atguigu@hadoop102 conf]$ vim azkaban.properties

· 按照以下配置修改azkaban.properties文件。

· #Azkaban#Timezonedefault.timezone.id=Asia/Shanghai#Azkaban JobTypes Plugins#jobtype 插件位置azkaban.jobtype.plugin.dir=plugins/jobtypes#项目加载器executor.global.properties=/opt/module/azkaban/executor/conf/global.propertiesazkaban.project.dir=projectsdatabase.type=mysqlmysql.port=3306mysql.host=hadoop102mysql.database=azkabanmysql.user=rootmysql.password=000000mysql.numconnections=100#Azkaban执行器设置#执行器最大线程数。 maxThreads=50#端口号(如果更改,请匹配您的Web服务) executor.port=12321#线程数executor.flow.threads=30

· 启动执行器服务器

- 在执行器服务器目录中执行启动命令。

· [atguigu@hadoop102执行器]$ pwd/opt/module/azkaban/executor[atguigu@hadoop102执行器]$ bin/azkaban-executor-start.sh

启动网络服务器

· [atguigu@hadoop102 服务器]$ pwd/opt/module/azkaban/server[atguigu@hadoop102 服务器]$ bin/azkaban-web-start.sh

· 先运行执行器,再运行Web,防止Web服务器因缺少执行器而无法启动。

· [atguigu@hadoop102 服务器]$ jps

· 3601 Azkaban执行器服务器

5880日元

· 3661 Azkaban 网络服务器

· 展示柜

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·


市场分析