azkaban简介及azkaban部署、原理和使用介绍

2023-10-27

azkaban简介及azkaban部署、原理和使用介绍

azkaban简介

​ Azkaban是一套简单的任务调度服务,整体包括三部分webserver、dbserver、executorserver。
​ Azkaban是由Linkedin开源的一个Java项目,批量工作流任务调度器。用于在一个工作流内以一个特定的顺序运行一组工作和流程。
​ Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。

项目官网:https://azkaban.github.io/

Azkaban的功能特点

​ 1、 Web用户界面
​ 2、 方便上传工作流
​ 3、 方便设置任务之间的关系
​ 4、 工作流调度
​ 5、 认证/授权
​ 6、 能够杀死并重启工作流
​ 7、 模块化和可插拔的插件机制
​ 8、 项目工作区
​ 9、 工作流和任务的日志记录和审计

azkaban安装部署

准备工作:

安装部署需要3个组件:

azkaban-executor-server-2.5.0.tar.gz
azkaban-sql-script-2.5.0.tar.gz
azkaban-web-server-2.5.0.tar.gz

网盘共享连接地址::https://pan.baidu.com/s/1mMuIuVv9Ji6yO2A2b8Ibrg
提取码:seld
【注意:】提前部署mysql服务,这里不介绍安装mysql

安装组件:

# 上传安装包
wangting@ops01:/opt/software/azkaban >ll
total 22612
-rw-r--r-- 1 root root 11157302 May 16 10:45 azkaban-executor-server-2.5.0.tar.gz
-rw-r--r-- 1 root root     1928 May 16 10:45 azkaban-sql-script-2.5.0.tar.gz
-rw-r--r-- 1 root root 11989669 May 16 10:45 azkaban-web-server-2.5.0.tar.gz
# 创建应用目录,利于解压多组件都在一个管理目录中
wangting@ops01:/opt/software/azkaban >mkdir /opt/module/azkaban
wangting@ops01:/opt/software/azkaban >tar -xf azkaban-executor-server-2.5.0.tar.gz -C /opt/module/azkaban/
wangting@ops01:/opt/software/azkaban >tar -xf azkaban-sql-script-2.5.0.tar.gz -C /opt/module/azkaban/
wangting@ops01:/opt/software/azkaban >tar -xf azkaban-web-server-2.5.0.tar.gz -C /opt/module/azkaban/
wangting@ops01:/opt/software/azkaban >ls /opt/module/azkaban/
azkaban-2.5.0  azkaban-executor-2.5.0  azkaban-web-2.5.0
wangting@ops01:/opt/software/azkaban >
wangting@ops01:/opt/software/azkaban >cd /opt/module/azkaban/
wangting@ops01:/opt/module/azkaban >ll
total 12
drwxrwxr-x 2 wangting wangting 4096 May 16 10:48 azkaban-2.5.0
drwxrwxr-x 7 wangting wangting 4096 May 16 10:47 azkaban-executor-2.5.0
drwxrwxr-x 8 wangting wangting 4096 May 16 10:48 azkaban-web-2.5.0
# 改名,易于管理和切换目录
wangting@ops01:/opt/module/azkaban >mv azkaban-executor-2.5.0 executor
wangting@ops01:/opt/module/azkaban >mv azkaban-web-2.5.0 server
wangting@ops01:/opt/module/azkaban >ll
total 12
drwxrwxr-x 2 wangting wangting 4096 May 16 10:48 azkaban-2.5.0
drwxrwxr-x 7 wangting wangting 4096 May 16 10:47 executor
drwxrwxr-x 8 wangting wangting 4096 May 16 10:48 server
wangting@ops01:/opt/module/azkaban >
# azkaban-2.5.0目录下sql文件用于后面azkaban数据库项目初始化
wangting@ops01:/opt/module/azkaban >ls azkaban-2.5.0/
create.active_executing_flows.sql  create.execution_flows.sql  create.project_events.sql  create.project_permissions.sql  create.project_versions.sql  create.triggers.sql     update-all-sql-2.2.sql
create.active_sla.sql              create.execution_jobs.sql   create.project_files.sql   create.project_properties.sql   create.properties.sql        database.properties     update.execution_logs.2.1.sql
create-all-sql-2.5.0.sql           create.execution_logs.sql   create.project_flows.sql   create.projects.sql             create.schedules.sql         update-all-sql-2.1.sql  update.project_properties.2.1.sql
# 查看本机IP 和mysql服务是否正常运行着
wangting@ops01:/opt/module/azkaban >ifconfig eth0 |grep "inet "
        inet 11.8.37.50  netmask 255.255.255.0  broadcast 11.8.37.255
wangting@ops01:/opt/module/azkaban >netstat -tnlpu|grep 3306
tcp6       0      0 :::3306                 :::*                    LISTEN      -                   
# 登录mysql
wangting@ops01:/opt/module/azkaban >mysql -uroot -pwangting
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 37069
Server version: 5.7.26 MySQL Community Server (GPL)

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
# 创建azkaban库
mysql> create database azkaban;
Query OK, 1 row affected (0.00 sec)

mysql> use azkaban;
Database changed
mysql> show tables;
Empty set (0.00 sec)
# 初始化
mysql> source /opt/module/azkaban/azkaban-2.5.0/create-all-sql-2.5.0.sql
mysql> show tables;
+------------------------+
| Tables_in_azkaban      |
+------------------------+
| active_executing_flows |
| active_sla             |
| execution_flows        |
| execution_jobs         |
| execution_logs         |
| project_events         |
| project_files          |
| project_flows          |
| project_permissions    |
| project_properties     |
| project_versions       |
| projects               |
| properties             |
| schedules              |
| triggers               |
+------------------------+
15 rows in set (0.00 sec)
# 完成退出
mysql> exit
Bye
wangting@ops01:/opt/module/azkaban >
wangting@ops01:/opt/module/azkaban >cd server
wangting@ops01:/opt/module/azkaban/server >pwd
/opt/module/azkaban/server

# 生成认证  keystore jetty 都是配置文件中对应的名称
wangting@ops01:/opt/module/azkaban/server >keytool -keystore keystore -alias jetty -genkey -keyalg RSA
Enter keystore password:  			# wangting   密码可以自定义
Re-enter new password: 				# wangting	 重复密码
What is your first and last name?		# 回车
  [Unknown]:  
What is the name of your organizational unit?	# 回车
  [Unknown]:  
What is the name of your organization?		# 回车
  [Unknown]:  
What is the name of your City or Locality?	# 回车
  [Unknown]:  
What is the name of your State or Province?	# 回车
  [Unknown]:  
What is the two-letter country code for this unit?	# 回车
  [Unknown]:  
Is CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown correct?		# y
  [no]:  y

Enter key password for <wangting>
	(RETURN if same as keystore password):  	# 回车 

Warning:
The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format using "keytool -importkeystore -srckeystore keystore -destkeystore keystore -deststoretype pkcs12".
wangting@ops01:/opt/module/azkaban/server >
# 查看一下时区
wangting@ops01:/opt/module/azkaban/server >cat /etc/localtime 
TZifǚ^	??ˊ??л>???-???????fp???|?? i ~?!I}"g? #)_$G %|&'e &??G (р~pCDTCSTTZif2 
                                                                      6C)????ǚ^????	?????????ˊ????@????л>????{?????-????"????????????????fp??????????|?? i ~?!I}"g? #)_$G %|&'e &??G (рq?LMTCDTCST
CST-8

# 最后需要时CST-8,如果不是CST-8 东八区时区需要调置

wangting@ops01:/opt/module/azkaban/server >cd conf/
# 更改server配置
wangting@ops01:/opt/module/azkaban/server/conf >ls
azkaban.properties  azkaban-users.xml
wangting@ops01:/opt/module/azkaban/server/conf >vim azkaban.properties 
default.timezone.id=Asia/Shanghai			# 改成Asia/Shanghai

database.type=mysql
mysql.port=3306
mysql.host=11.8.37.50						# IP改成mysql部署的ip
mysql.database=azkaban						# 刚才创建的azkaban库
mysql.user=root
mysql.password=wangting
mysql.numconnections=100

# Azkaban Jetty server properties.
jetty.maxThreads=25
jetty.ssl.port=8443
jetty.port=8081
jetty.keystore=keystore					   # keytool执行时对应的keystore
jetty.password=wangting					   # 密码都改成刚才设置的密码
jetty.keypassword=wangting
jetty.truststore=keystore
jetty.trustpassword=wangting

# 添加用户,相当于注册功能
wangting@ops01:/opt/module/azkaban/server/conf >vim azkaban-users.xml 

<azkaban-users>
        <user username="azkaban" password="azkaban" roles="admin" groups="azkaban" />
        <user username="metrics" password="metrics" roles="metrics"/>
        <user username="wangting" password="wangting" roles="admin, metrics"/>			# 可自定义用户名密码,用于界面登录使用

        <role name="admin" permissions="ADMIN" />
        <role name="metrics" permissions="METRICS"/>
</azkaban-users>

# 更改executor配置
wangting@ops01:/opt/module/azkaban/server/conf >cd /opt/module/azkaban/executor/conf/
wangting@ops01:/opt/module/azkaban/executor/conf >ls
azkaban.private.properties  azkaban.properties  global.properties
wangting@ops01:/opt/module/azkaban/executor/conf >vim azkaban.properties 

#Azkaban
default.timezone.id=Asia/Shanghai				# 改成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=11.8.37.50
mysql.database=azkaban
mysql.user=root
mysql.password=wangting
mysql.numconnections=100

# Azkaban Executor settings
executor.maxThreads=50
executor.port=12321
executor.flow.threads=30

启动服务:

wangting@ops01:/opt/module/azkaban/executor/conf >cd /opt/module/azkaban/server/
wangting@ops01:/opt/module/azkaban/server >bin/azkaban-web-start.sh 
Using Hadoop from /opt/module/hadoop-3.1.3
Using Hive from /opt/module/hive
bin/..
2021/05/16 11:26:42.425 +0800 INFO [log] [Azkaban] Started SslSocketConnector@0.0.0.0:8443
2021/05/16 11:26:42.425 +0800 INFO [AzkabanWebServer] [Azkaban] Server running on ssl port 8443.

wangting@ops01:/opt/module/azkaban/server >cd /opt/module/azkaban/executor/
wangting@ops01:/opt/module/azkaban/executor >bin/azkaban-executor-start.sh 
wangting@ops01:/opt/module/azkaban/server >cd /opt/module/azkaban/executor/
wangting@ops01:/opt/module/azkaban/executor >bin/azkaban-executor-start.sh 
Using Hadoop from /opt/module/hadoop-3.1.3
Using Hive from /opt/module/hive
bin/..
Starting AzkabanExecutorServer on port 12321 ...
2021/05/16 11:29:20.076 +0800 INFO [log] [Azkaban] Started SocketConnector@0.0.0.0:12321
2021/05/16 11:29:20.076 +0800 INFO [AzkabanExecutorServer] [Azkaban] Azkaban Executor Server started on port 12321

页面访问

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

​ 成功登录,部署流程完毕。

azkaban使用介绍

​ projects:最重要的部分,创建一个工程,所有flows将在工程中运行。

​ scheduling: 显示定时任务

​ executing: 显示当前运行的任务

​ history: 显示历史运行任务

单个独立任务

1. 创建project

​ 创建一个project

​ project_1

​ 描述信息
在这里插入图片描述

2. 定义一个job

任务如何执行,任务具体做什么是在job文件中定义

# 本地新建一个command.job文件,文件中的内容末尾不要有空格,内容如下:

# command.job
type=command
command=mkdir /opt/module/ztdata_0516


在这里插入图片描述

3. 将job定义文件打包成zip包

编辑好command.job文件后,利用压缩软件,打包成zip文件,例如command.zip

4. upload任务压缩包至项目

在这里插入图片描述

上传后,如果想看job的内容是什么,可以在job command中可以查看解析出任务内容
在这里插入图片描述

5. 查看任务,执行任务

点击Flows中 command任务,可以进入到任务的具体界面,Execute Flow 可以执行任务
在这里插入图片描述

【注意:】 因为利用界面化操作,所以相关的文件直接在本地windows电脑上去编辑,创建,打包zip即可。

6. 历史任务记录

任务执行后,可以在history中查看任务历史记录;
在这里插入图片描述

7. 验证执行结果

wangting@ops01:/opt/module >ll
total 52
drwxrwxr-x  5 wangting wangting 4096 May 16 10:51 azkaban
drwxrwxr-x  2 wangting wangting 4096 Apr  4 11:01 datas
drwxr-xr-x 12 wangting wangting 4096 Apr 24 16:37 flume
-rw-rw-r--  1 wangting wangting   30 Apr 25 11:33 group.log
drwxr-xr-x 12 wangting wangting 4096 Mar 12 11:38 hadoop-3.1.3
drwxrwxr-x  8 wangting wangting 4096 May 10 11:55 hbase
drwxrwxr-x 11 wangting wangting 4096 Apr  2 15:14 hive
drwxr-xr-x  7 wangting wangting 4096 Apr 29 11:07 kafka
drwxr-xr-x  5 wangting wangting 4096 Jun 27  2018 phoenix
drwxrwxr-x  3 wangting wangting 4096 Apr 10 16:25 tez
drwxrwxr-x  5 wangting wangting 4096 Apr  2 15:03 tez-0.9.2_bak0410
drwxr-xr-x  8 wangting wangting 4096 Mar 25 11:02 zookeeper-3.5.7
drwxrwxr-x  2 wangting wangting 4096 May 16 11:51 ztdata_0516
wangting@ops01:/opt/module >

任务完成后,验证: 在/opt/module/目录下,成功创建了ztdata_0516新目录,说明任务被成功挂起并执行

多个任务工作流

【注意:】 后续实验不再一个个截图,流程同例1。

创建project

创建一个project

​ project_2

​ 描述信息

定义job任务

本地创建2个job文件

one.job

# one.job
type=command
command=mkdir /opt/module/one

two.job

# two.job
type=command
dependencies=one
command=touch /opt/module/one/two.txt

【注意:】 dependencies=one 意思是two这个job任务,依赖one这个任务,定义了这个参数,则意味着他们是先后执行,two需要one执行完成后再执行

将job定义文件打包成zip包

zip文件的名称随意
在这里插入图片描述

upload任务压缩包至项目

首页,点击上方Projects分页栏,打开project_2项目,右上角Upload;然后上传zip文件

执行任务

点击Flows,点击主任务的two,进入后执行

验证结果

wangting@ops01:/opt/module >ll
total 56
drwxrwxr-x  5 wangting wangting 4096 May 16 10:51 azkaban
drwxrwxr-x  2 wangting wangting 4096 Apr  4 11:01 datas
drwxr-xr-x 12 wangting wangting 4096 Apr 24 16:37 flume
-rw-rw-r--  1 wangting wangting   30 Apr 25 11:33 group.log
drwxr-xr-x 12 wangting wangting 4096 Mar 12 11:38 hadoop-3.1.3
drwxrwxr-x  8 wangting wangting 4096 May 10 11:55 hbase
drwxrwxr-x 11 wangting wangting 4096 Apr  2 15:14 hive
drwxr-xr-x  7 wangting wangting 4096 Apr 29 11:07 kafka
drwxrwxr-x  2 wangting wangting 4096 May 16 12:34 one
drwxr-xr-x  5 wangting wangting 4096 Jun 27  2018 phoenix
drwxrwxr-x  3 wangting wangting 4096 Apr 10 16:25 tez
drwxrwxr-x  5 wangting wangting 4096 Apr  2 15:03 tez-0.9.2_bak0410
drwxr-xr-x  8 wangting wangting 4096 Mar 25 11:02 zookeeper-3.5.7
drwxrwxr-x  2 wangting wangting 4096 May 16 11:51 ztdata_0516
wangting@ops01:/opt/module >cd one/
wangting@ops01:/opt/module/one >ls
two.txt
wangting@ops01:/opt/module/one >

任务完成后,验证: 在/opt/module/目录下,成功创建了one新目录,说明任务1被成功挂起并执行

进入one目录,成功查看到two.txt 文件,说明任务2被成功挂起并执行

调用一个任务脚本执行任务

在服务器上编写一个模拟流程复杂,例如调用脚本去执行hive、hdfs等等,业务脚本任务:

/opt/module/test >vim test_azkaban.sh

wangting@ops01:/opt/module/test >vim test_azkaban.sh 

#!/bin/bash
echo "123"
echo "123123"
echo "123123123"
ls -l /opt/module/ >> /opt/module/test/shell_log_0516.log
hdfs dfs -ls / >> /opt/module/test/shell_log_0516.log
NOW=`date|awk -F" " '{print $4}'`
echo "当前时间: $NOW"

wangting@ops01:/opt/module/test >chmod +x test_azkaban.sh 

创建project

创建一个project

​ project_3

​ 描述信息

定义job任务

# run_bash.job
type=command
command=bash /opt/module/test/test_azkaban.sh

将job定义文件打包成zip包

同上方案例

upload任务压缩包至项目

首页,点击上方Projects分页栏,打开project_3项目,右上角Upload;然后上传zip文件

执行任务

点击Flows,点击主任务的run_bash,进入后执行

验证结果

wangting@ops01:/opt/module/test >ll
total 8
-rw-rw-r-- 1 wangting wangting 1801 May 16 12:49 shell_log_0516.log
-rwxrwxr-x 1 wangting wangting  226 May 16 12:44 test_azkaban.sh
wangting@ops01:/opt/module/test >
# 查看输出内容是否有遍历目录和查看hdfs根目录的内容
wangting@ops01:/opt/module/test >cat shell_log_0516.log 
total 60
drwxrwxr-x  5 wangting wangting 4096 May 16 10:51 azkaban
drwxrwxr-x  2 wangting wangting 4096 Apr  4 11:01 datas
drwxr-xr-x 12 wangting wangting 4096 Apr 24 16:37 flume
-rw-rw-r--  1 wangting wangting   30 Apr 25 11:33 group.log
drwxr-xr-x 12 wangting wangting 4096 Mar 12 11:38 hadoop-3.1.3
drwxrwxr-x  8 wangting wangting 4096 May 10 11:55 hbase
drwxrwxr-x 11 wangting wangting 4096 Apr  2 15:14 hive
drwxr-xr-x  7 wangting wangting 4096 Apr 29 11:07 kafka
drwxrwxr-x  2 wangting wangting 4096 May 16 12:34 one
drwxr-xr-x  5 wangting wangting 4096 Jun 27  2018 phoenix
drwxrwxr-x  2 wangting wangting 4096 May 16 12:49 test
drwxrwxr-x  3 wangting wangting 4096 Apr 10 16:25 tez
drwxrwxr-x  5 wangting wangting 4096 Apr  2 15:03 tez-0.9.2_bak0410
drwxr-xr-x  8 wangting wangting 4096 Mar 25 11:02 zookeeper-3.5.7
drwxrwxr-x  2 wangting wangting 4096 May 16 11:51 ztdata_0516
2021-05-16 12:49:16,801 INFO  [main] Configuration.deprecation (Configuration.java:logDeprecation(1395)) - No unit for dfs.client.datanode-restart.timeout(30) assuming SECONDS
Found 10 items
drwxr-xr-x   - wangting supergroup          0 2021-03-17 11:44 /20210317
drwxr-xr-x   - wangting supergroup          0 2021-03-19 10:51 /20210319
drwxr-xr-x   - wangting supergroup          0 2021-04-24 17:05 /flume
-rw-r--r--   3 wangting supergroup  338075860 2021-03-12 11:50 /hadoop-3.1.3.tar.gz
drwxr-xr-x   - wangting supergroup          0 2021-05-13 15:31 /hbase
drwxr-xr-x   - wangting supergroup          0 2021-04-04 11:07 /test.db
drwxr-xr-x   - wangting supergroup          0 2021-03-19 11:14 /testgetmerge
drwxr-xr-x   - wangting supergroup          0 2021-04-10 16:23 /tez
drwx------   - wangting supergroup          0 2021-04-02 15:14 /tmp
drwxr-xr-x   - wangting supergroup          0 2021-04-02 15:25 /user
wangting@ops01:/opt/module/test >

任务完成后,验证: 在/opt/module/test目录下,成功创建了shell_log_0516.log文件,说明任务run_bash被成功挂起并执行

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

azkaban简介及azkaban部署、原理和使用介绍 的相关文章

  • VMware 最新版 - 虚拟机安装、激活、Centos安装、XShell 连接虚拟机、网络配置(全流程)

    目录 一 VMware 从安装到使用全流程 1 1 安装和激活 1 2 下载 Centos 镜像 以 7 为例 1 3 创建虚拟机 1 4 网络配置 1 5 验证网络是否可用 一 VMware 从安装到使用全流程 1 1 安装和激活 a 从
  • 加载在 .NET 4.0 中存储为 XAML 的工作流程

    加载之前创建并存储为 XAML 的 NET 4 0 Beta2 工作流的语法是什么 WorkflowElement 和 Workflow Xaml Services 类不再存在 我正在尝试做这样的事情 在 Beta 1 中有效 Workfl
  • 是否可以只用一名协调员启动一些 oozie 工作流程?

    我不确定是否可以使用这个好工具来实现我想要的目的 我有很多工作流程 这些工作流程可以是依赖的 也可以是非依赖的 示例 workflow1 工作流程 xml job properties workflow2 工作流程 xml job prop
  • RF自动化环境安装+自动化实例解析

    RF定义 通用型的 自动测试框架 绝大部分的软件的的自动化系统都可以采用它 特点 测试数据文件 Test Data 对应一个个的测试用例 测试数据文件里面使用的功能小模块叫关键字 由测试库 Test Library Robot Framew
  • 2024年华数杯国际赛B题:光伏发电功率 思路模型代码解析

    2024年华数杯国际赛B题 光伏发电功率 Photovoltaic Power 一 问题描述 中国的电力构成包括传统能源发电 如煤 油和天然气 可再生能源发电 如水电 风能 太阳能和核能 以及其他形式的电力 这些发电模式在满足中国对电力的巨
  • 步骤详图 教你在linux搭建容器环境

    警告 切勿在没有配置 Docker YUM 源的情况下直接使用 yum 命令安装 Docker 1 准备工作 系统要求 要安装Docker CE 社区版 操作系统的最低要求是CentOS7 7以下版本都不被支持 卸载旧版本 Docker改版
  • 这个很少人知道的零售技巧,却是我最想安利的!

    在当今数字化浪潮的推动下 零售业正在迎来一场革命性的变革 新零售模式的崛起正引领着消费者与商品之间的互动方式发生深刻的变化 在这个变革的前沿 自动售货机作为新零售的一种关键形式 通过智能技术和自动化系统 重新定义了购物体验的边界 客户案例
  • ssh:connect to host github.com port 22: Connection timed out

    解决流程 1 将github的端口由22改为443 ssh T p 443 git ssh github com 2 接着输入yes进行确认 The authenticity of host ssh github com 443 192 1
  • 短信系统搭建主要因素|网页短信平台开发源码

    短信系统搭建主要因素 网页短信平台开发源码 随着移动互联网的快速发展 短信系统已成为企业和个人进行信息传递的重要工具 建立一个高效可靠的短信系统对于企业来说非常重要 下面我们将介绍一些影响短信系统搭建的主要因素 1 平台选择 在搭建短信系统
  • UI自动化测试之Jenkins配置

    背景 团队下半年的目标之一是实现自动化测试 这里要吐槽一下 之前开发的测试平台了 最初的目的是用来做接口自动化测试和性能测试 但由于各种原因 接口自动化测试那部分功能整个废弃掉了 其中和易用性有很大关系 另外 也和我们公司的接口业务也有关
  • JQuery 中的网络图/流程图[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Github Actions 徽章不显示状态

    我在我的存储库上运行了很多次 github 操作 没有出现任何问题 并且在我的存储库之一上使用相同的脚本 它显示 无状态 回购协议是 https github com aurelpere python planif https github
  • 推荐工作流应用程序的设计模式[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在开发一个应用程序 用户可以在其中执行任务 工作流程 每个任务都由要执行的操作队列组成 我希望能够在工作流程启动后获得用户输入 Exampl
  • 单用户的 Git 工作流程

    我是一家开发少量桌面应用程序和网站的单身商店 几个月前我开始使用 GIT 进行版本控制 我对它相当满意 但我的使用非常笨拙 我想知道单个用户的工作流程应该是什么 现在 我的每个项目文件夹中都有一个 git 文件夹 我每隔一段时间就提交一次更
  • Git/Eclipse 工作流程

    我使用 Eclipse 来编辑 Java 并使用 Git 作为我的 VCS 我应该将本地存储库放在工作区中还是工作区之外 并在每次要提交时复制文件 我知道我可以通过各种方式做到这一点 但我是 Git 新手 想知道哪种方式更好 目前最好的做法
  • SharePoint 计时器作业添加列表项,但不触发关联的工作流

    我有一个名为 会话 的列表 该列表有一个用于项目创建 修改的工作流程 当我使用 Web 部件以及手动添加项目时 工作流程会触发 我开发了一个每天运行的计时器作业 它将项目添加到 会话 列表中 当计时器作业将项目添加到列表时 工作流程不会触发
  • 如何开发依赖的 Composer 包而不需要提交或发布更改?

    我有一个应用程序 A 它有一个composer json 文件 定义了对包 P 的依赖关系 这是我自己的新闪亮包 我的包 P 有一个composer json 文件 它定义了对库 L 和框架 F 的依赖关系 我的包 P 还没有远程存储库 并
  • 如何使用 Powershell 3 增加并行进程数?

    我正在尝试并行运行 20 个进程 我如下更改了会话 但没有运气 我每个会话最多只能有 5 个并行进程 wo New PSWorkflowExecutionOption MaxSessionsPerWorkflow 50 MaxDisconn
  • 无法使用 build auto 和 tfs 13 修改 .csproj 文件

    我创建了一个名为的工作流活动EditCsproj这是我添加到构建模板中的 C 类 我把它放在后面Initialize Workspace step 此工作流程必须获取所有 csproj我作为参数提供的目录路径中的文件 并且必须修改它们 但对
  • 在 git 中管理 schema.rb 的首选方法是什么?

    我不想添加schema rb to gitignore 因为我希望能够从该文件加载新的数据库架构 然而 保持检查状态会导致各种虚假冲突 而这些冲突很容易通过新的解决方案解决 db migrate reset 基本上我想要一种方法 将 sch

随机推荐

  • GCN初步尝试

    任务如下 读取cora数据集 有2708个节点 每个节点有1433个特征 每个节点属于7类中的一类 节点之间存在边 注 cora的节点标号不是从0开始计数 故需要进行处理 附上一份简约代码 建立一个两层的GCN 这里的edges是经过节点重
  • GitBucket 搭建属于自己的GitHub。

    GitBucket是一个开源的代码管理仓库 就像GitHub一样 什么意思了 说白了我们可以下载GitBucket 然后放到自己服务器的Tomca容器上 就可以把代码往上面提交 GitHub你提交的代码都是可以被其它人看到的 除非你付费 但
  • 西数ZN540如何修改sector size

    写在前面 因需要在ZN540上挂载F2FS 故需要两块盘 一块传统SSD一块ZNS SSD 对于ZN540 信息如下 由于其扇区大小为4KiB 而自己服务器上没有逻辑扇区为4KiB的盘 例如三星883 所以当用883做传统盘的时候 格式化m
  • 基因富集分析 GSEA for time-course

    基因富集分析 Gene Set Enrichment Analysis GSEA 是一种针对全基因组表达谱芯片数据的分析方法 将基因与预定义的基因集进行比较 即综合现有的对基因的定位 性质 功能 生物学意义等信息基础 构建一个分子标签数据库
  • html怎么把视频设置为背景,如何将视频设置为网页背景

    第一步 准备工作 工欲善其事必先利其器 我们首先需要准备一个视频 第二步 html中引入视频 这里我们需要用到了video 标签 然后在source里面写视频的路径 autoplay用来使其自动播放 muted用来使其静音 loop为循环播
  • 数学建模:9 多元线性回归分析

    向前 后逐步回归筛选自变量 检验自变量之间是否多重共线性 计算VIF 内生性 核心变量与解释变量 虚拟变量 个数 分类数 1 否则有多重共线性 stata软件 回归模型假设检验 回归系数假设检验与解释 自变量对因变量的影响程度 标准化回归系
  • 如何检验数据正态分布_数据不符合正态分布,如何统计描述

    10万 文章推荐的科研神器 秒杀 谷歌翻译 不够用 再送两个 2020 04 09 介 绍 我们一般会在文献的统计方法部分看到这样的描述 对于数值变量 首先进行正态性检验 如果各组均满足正态性 采用均数 标准差 进行统计描述 采用t检验进行
  • php类中的私有化构造函数,在类中将构造函数私有化有什么用?

    通过提供私有构造函数 可以防止在此类之外的任何地方创建类实例 提供这种构造函数有几种用例 答 您的类实例是在static方法中创建的 static然后将该方法声明为public class MyClass private MyClass p
  • JAVA产生五位随机验证码

    用Java写出一个程序产生5位验证码 且前四位是字母不限大小写最后一位是数字 解法一 import java util Random public class YanZhengMa public static void main Strin
  • 【华为面试题】栈

    思路 首先 遍历输入的压缩字符串 三种情况 1 遇到字符 将其入栈 2 遇到字符 计算重复次数 将栈中的字符组合成一个字符串 重复拼接后再入栈 3 遇到字母字符 判断下一个字符是否是数字 若是数字 则将当前字母重复拼接后入栈 若不是数字 则
  • mysql的安装与使用

    1 mysql下载与安装 下载解压 下载地址 https dev mysql com downloads mysql 5 7 html downloads 下载到指定位置 如D mysql 5 7 23 winx64 把解压的文件夹bin目
  • 计算机系统课程 笔记总结 CSAPP第二章 信息的表示和处理(2.3-2.4)

    GitHub计算机系统CSAPP课程资源 计算机系统课程 笔记总结 CSAPP第二章 信息的表示和处理 2 1 2 2 计算机系统课程 笔记总结 CSAPP第二章 信息的表示和处理 2 3 2 4 计算机系统课程 笔记总结 CSAPP第三章
  • opencv android 服务包,Unity中使用C++ OpenCV并且打包为Android apk

    我们需要在Unity中使用WebCamTexture获取图像 传送到OpenCV中做处理 然后返回到Unity中作显示 Unity通过调用动态链接库so与OpenCV进行通信 最终程序会打包成APK并且在Android上运行 系统环境 Vi
  • 华为OD机试 Python 【座位调整】

    描述 由于疫情原因 学生之间的座位要保持一定距离 每个学生的左右都要至少有一个空座 给定一个代表座位情况的数组desk 其中1代表有学生坐在那个位置 0代表该位置为空 问你在保持疫情安全距离的前提下 我们还能安排多少学生 输入 一个整数数组
  • cuda运行时库配置问题

    总是遇到一堆问题 这次遇到的问题和这个类似 http cudazone nvidia cn forum forum php mod viewthread tid 483 先看了一些文章 明白了是因为VC在编译和链接过程用的默认库被新库取代
  • vue动态加载页面组件

    问题说明 在开发时遇到一个问题 在同一个页面 局部页面要根据下拉框的选项来动态加载不同的页面 参考 1 Vue 下拉框代码
  • 论文笔记:PhaseNet: a deep-neural-network-based seismic arrival-time pickingmethod

    2018 Geophysical Journal International 1 Intro 1 1 Motivation 地震检测和定位是地震学的基础 地震目录的质量主要取决于到达时间测量的数量和准确性 地震到达时间测量或相位选择通常由网
  • Linux服务器磁盘分区、挂载、卸载及报错处理

    整体操作是 先对磁盘进行格式化 格式化后挂载到需要的挂载点 最后添加分区启动表 以便下次系统启动时自动挂载 一 linux分区 1 Linux来说wulun有几个分区 分给哪一目录使用 他归根结底只有一个根目录 一个独立且唯一的文件结构 L
  • restapi(1)- 文件上传下载服务

    上次对restapi开了个头 设计了一个包括了身份验证和使用权限的restful服务开发框架 这是一个通用框架 开发人员只要直接往里面加新功能就行了 虽然这次的restapi是围绕着数据库表的CRUD操作设计的 但文件类数据在服务端与客户端
  • azkaban简介及azkaban部署、原理和使用介绍

    azkaban简介及azkaban部署 原理和使用介绍 azkaban简介 Azkaban是一套简单的任务调度服务 整体包括三部分webserver dbserver executorserver Azkaban是由Linkedin开源的一