From 5d3e730afaa763cbf016dc6cd215b067084d718e Mon Sep 17 00:00:00 2001 From: easyscheduler Date: Mon, 12 Aug 2019 17:40:05 +0800 Subject: [PATCH 1/8] Update EasyScheduler Proposal.md add chinese docs address --- docs/en_US/EasyScheduler Proposal.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/en_US/EasyScheduler Proposal.md b/docs/en_US/EasyScheduler Proposal.md index 17f1109c9a..48f51e8985 100644 --- a/docs/en_US/EasyScheduler Proposal.md +++ b/docs/en_US/EasyScheduler Proposal.md @@ -108,17 +108,18 @@ However, we prefer that the community provided by the Apache Software Foundation A complete set of Sharding-Sphere documentations is provided on shardingsphere.io in both English and Simplified Chinese. -- [English](https://github.com/analysys/easyscheduler_docs/en_US) -- [Chinese](https://github.com/analysys/easyscheduler_docs/zh_CN) +- [English](https://analysys.github.io/easyscheduler_docs) +- [Chinese](https://analysys.github.io/easyscheduler_docs_cn) ## Initial Source -The project consists of two distinct codebases: core and document. The address of two existed git repositories are as follows: +The project consists of three distinct codebases: core and document. The address of two existed git repositories are as follows: - - +- ## Source and Intellectual Property Submission Plan From 22c13bc404b938eb8503d76f055c56f85477e8d9 Mon Sep 17 00:00:00 2001 From: "Guo Wei (William)" Date: Mon, 12 Aug 2019 22:01:19 +0800 Subject: [PATCH 4/8] Update EasyScheduler Proposal.md --- docs/en_US/EasyScheduler Proposal.md | 2696 +++++++++++++------------- 1 file changed, 1352 insertions(+), 1344 deletions(-) diff --git a/docs/en_US/EasyScheduler Proposal.md b/docs/en_US/EasyScheduler Proposal.md index 48f51e8985..dbeeab4a8c 100644 --- a/docs/en_US/EasyScheduler Proposal.md +++ b/docs/en_US/EasyScheduler Proposal.md @@ -1,1450 +1,1458 @@ -# EasyScheduler Proposal +EasyScheduler Proposal +Abstract -## Abstract +EasyScheduler is a distributed ETL scheduling engine with powerful DAG visualization interface. EasyScheduler focuses on solving the problem of 'complex task dependencies & triggers ' in data processing. Just like its name, we dedicated to making the scheduling system out of the box. -EasyScheduler is a distributed visual workflow scheduling system, which focuses on solving the problem of "complex task dependencies" in data processing. just like its name, we dedicated to making the scheduling system `out of the box` . +Proposal -## Proposal +EasyScheduler provides many easy-to-use features to accelerate the engineer enficiency on data ETL workflow job. We propose a new concept of 'instance of process' and 'instance of task' to let developers to tuning their jobs on the running state of workflow instead of changing the task's template. EasyScheduler DAG UI also let data engineer easily add or change a ETL job in a complex schedulnig system. Its main objectives are as follows: -EasyScheduler provides many easy-to-use features to simplify the use of data processing workflow,We propose the clear concept of "instance of process" and "instance of task" to make it more convenient to get the running state of workflow every time. its main objectives are as follows: +Define the complex tasks' dependencies & triggers in a DAG graph by dragging and dropping . DAG graph can also show the running state of task in real time. -- Associate the tasks according to the dependencies of the tasks in a DAG graph, which can visualize the running state of task in real time. -- Support for many task types: Shell, MR, Spark, SQL (mysql, postgresql, hive, sparksql), Python, Sub_Process, Procedure, etc. -- Support process scheduling, dependency scheduling, manual scheduling, manual pause/stop/recovery, support failed retry/alarm, recovery from specified nodes, kill task, etc. -- Support process priority, task priority and task failover and task timeout alarm/failure -- Support process global parameters and node custom parameter settings -- Support online upload/download of resource files, management, etc. Support online file creation and editing -- Support task log online viewing and scrolling, online download log, etc. -- Implement cluster HA, decentralize Master cluster and Worker cluster through Zookeeper -- Support online viewing of `Master/Worker` cpu load, memory -- Support process running history tree/gantt chart display, support task status statistics, process status statistics -- Support backfilling data -- Support multi-tenant -- Easy to maintain +Define the process result dependencies besides DAG dependencies, e.g. weekly job depends on the success of last 7 daily job. -for now, EasyScheduler has a fairly huge community in China. -It is also widely adopted by many [companies and organizations](https://github.com/analysys/EasyScheduler/issues/57) as an ETL scheduling tool. +Support cluster HA, and implement distributed Master clusters and Worker clusters base on Zookeeper services. + +Support multi-tenant + +Support automatical failure job retry and recovery from specified nodes by pre-define rules. + +Support parallel or serial backfilling data instead of duplicated maintainence work. + +Support many data task types: Shell, MapReduce, Spark, SQL (mysql, postgresql, hive, sparksql), Python, Sub_Process, Stored Procedure, etc. + +Support process running history tree/gantt chart display, support task status statistics, process status statistics. + +Support process scheduling, manual scheduling, also support manual pause/stop/recovery, killing task on runnning time. + +Support define process priority, task priority and relative task timeout alarm. + +Support process global parameters and node specified parameter settings. + +Support online upload/download/manage resource files and also support online file creation and editing. + +Support task log online viewing and scrolling, online download log, etc. + +Support online viewing of Master/Worker cpu load, memory, etc. + +For now, EasyScheduler has a fairly huge community in China. +It is also widely adopted by many companies and organizations as its ETL scheduling tool. We believe that bringing EasyScheduler into ASF could advance development of a much more stronger and more diverse open source community. Analysys submits this proposal to donate EasyScheduler's source codes and all related documentations to Apache Software Foundation. The codes are already under Apache License Version 2.0. -- Code base: https://www.github.com/analysys/easyscheduler -- English Documentations: -- Chinese Documentations: +Code base: https://www.github.com/analysys/easyscheduler + +Documentations: https://analysys.github.io/easyscheduler_docs -## Background +Background We want to find a data processing tool with the following features: -- easy to use,It can be assembled into a process with a very simple drag and drop operation. not only for developers,people who can't write code also can use -- solving the problem of "complex task dependencies" , and can monitor the running status -- support multi-tenant -- support many task types: Shell, MR, Spark, SQL (mysql, postgresql, hive, sparksql), Python, Sub_Process, Procedure, etc. -- linear scalability +Easy to use,developers can build a ETL process with a very simple drag and drop operation. not only for ETL developers,people who can't write ETL code also can use this tool for ETL operation such as system adminitrator. + +Support HA and automatically change master and worker node to keep whole system stable. -For the above reasons, we realized that no existing product met our exact requirements externally, so we decided to develop it ourselves.EasyScheduler completed the architecture design at the end of 2017. The first internal use version was completed in May 2018. We then iterated several versions and the system gradually stabilized. +Solving the problem of "complex task dependencies" , and it can monitor the ETL running status. -EasyScheduler won the `GVP` (Gitee Most Valuable Project) in April 2019 +Support multi-tenant. -## Rationale +Support many task types: Shell, MR, Spark, SQL (mysql, postgresql, hive, sparksql), Python, Sub_Process, Procedure, etc. -Many organizations (>30) (refer to [Who is using EasyScheduler](https://github.com/analysys/EasyScheduler/issues/57) ) already benefit from running EasyScheduler to make data process pipelines more easier. More than 100 [feature ideas](https://github.com/analysys/EasyScheduler/projects/1) come from EasyScheduler community. Some 3th projects also wanted to integrate with EasyScheduler through task plugin, like [Scriptis](https://github.com/WeBankFinTech/Scriptis) 、[waterdrop](https://github.com/InterestingLab/waterdrop) and so on. these will strengthen the features of EasyScheduler. +Linear scalability. -## Current Status +For the above reasons, we realized that no existing product met our requirements, so we decided to develop this tool ourselves. We designed EasyScheduler at the end of 2017. The first internal use version was completed in May 2018. We then iterated several internal versions and the system gradually became stabilized. -### Meritocracy +Then we open the source code of EasyScheduler on March 2019. It soon gained lot's of ETL developers interest and stars on github. Then it won the GVP (Gitee Most Valuable Project) in April 2019 and our key member was invited to GAIC Summit 2019 for speech on June 2019. + +Rationale + +Many organizations (>30) (refer to Who is using EasyScheduler ) already benefit from running EasyScheduler to make data process pipelines more easier. More than 100 feature ideas come from EasyScheduler community. Some 3th projects also wanted to integrate with EasyScheduler through task plugin, like Scriptis 、waterdrop and so on. these will strengthen the features of EasyScheduler. + +Current Status + +Meritocracy EasyScheduler was incubated at Analysys in 2017 and open sourced on GitHub in March 2019. Once open source,We have been quickly adopted by multiple organizations,EasyScheduler has contributors and users from many companies; we have set up the PMC Team and Committer Team. New contributors are guided and reviewed by existed PMC members. When they are ready, PMC will start a vote to promote him/her to become a member of PMC or Committer Team. Contributions are always welcomed and highly valued. -### Community +Community Now we have set development teams for EasyScheduler in Analysys, and we already have external developers who contributed the code. We already have a user group of more than 1,000 people. We hope to grow the base of contributors by inviting all those who offer contributions through The Apache Way. Right now, we make use of github as code hosting as well as gitter for community communication. -### Core Developers +Core Developers The core developers, including experienced open source developers and team leaders, have formed a group full of diversity. All of these core developers have deep expertise in workflow processing and the Hadoop Ecosystem in general. -## Known Risks +Known Risks -### Orphaned products +Orphaned products -EasyScheduler is widely adopted in China by many [companies and organizations](https://github.com/analysys/EasyScheduler/issues/57). The core developers of EasyScheduler team plan to work full time on this project. Currently there are 10 use cases with more that 1000 activity tasks per day using EasyScheduler in the user's production environment. Furthermore, since EasyScheduler has received more than 1500 stars and been forked more than 500 times. EasyScheduler has eight major release so far and and received 365 pull requests from contributors, which further demonstrates EasyScheduler as a very active project. We plan to extend and diversify this community further through Apache. +EasyScheduler is widely adopted in China by many companies and organizations. The core developers of EasyScheduler team plan to work full time on this project. Currently there are 10 use cases with more that 1000 activity tasks per day using EasyScheduler in the user's production environment. Furthermore, since EasyScheduler has received more than 1500 stars and been forked more than 500 times. EasyScheduler has eight major release so far and and received 365 pull requests from contributors, which further demonstrates EasyScheduler as a very active project. We plan to extend and diversify this community further through Apache. Thus, it is very unlikely that EasyScheduler becomes orphaned. -### Inexperience with Open Source +Inexperience with Open Source The core developers are all active users and followers of open source. They are already committers and contributors to the EasyScheduler Github project. All have been involved with the source code that has been released under an open source license, and several of them also have experience developing code in an open source environment, they are also active in presto, alluxio and other projects. Therefore, we believe we have enough experience to deal with open source. -### Homogenous Developers +Homogenous Developers The current developers work across a variety of organizations including Analysys, guandata and hydee; some individual developers are accepted as developers of EasyScheduler as well. Considering that fengjr and sefonsoft have shown great interest in EasyScheduler, we plan to encourage them to contribute and invite them as contributors to work together. -### Reliance on Salaried Developers +Reliance on Salaried Developers -At present, four of the core developers are paid by their employer to contribute to EasyScheduler project. +At present, eight of the core developers are paid by their employer to contribute to EasyScheduler project. we also find some developers and researchers (>8) to contribute to the project, and we will make efforts to increase the diversity of the contributors and actively lobby for Domain experts in the workflow space to contribute. -### Relationships with Other Apache Products +Relationships with Other Apache Products EasyScheduler integrates Apache Zookeeper as one of the service registration/discovery mechanisms. EasyScheduler is deeply integrated with Apache products. It currently support many task types like Apache Hive, Apache Spark, Apache Hadoop, and so on -### A Excessive Fascination with the Apache Brand +A Excessive Fascination with the Apache Brand We recognize the value and reputation that the Apache brand will bring to EasyScheduler. However, we prefer that the community provided by the Apache Software Foundation will enable the project to achieve long-term stable development. so EasyScheduler is proposing to enter incubation at Apache in order to help efforts to diversify the community, not so much to capitalize on the Apache brand. -## Documentation +Documentation A complete set of Sharding-Sphere documentations is provided on shardingsphere.io in both English and Simplified Chinese. -- [English](https://analysys.github.io/easyscheduler_docs) -- [Chinese](https://analysys.github.io/easyscheduler_docs_cn) +English -## Initial Source +Chinese -The project consists of three distinct codebases: core and document. The address of two existed git repositories are as follows: +Initial Source -- +The project consists of two distinct codebases: core and document. The address of two existed git repositories are as follows: -- +https://github.com/analysys/easyscheduler -- - +https://github.com/analysys/easyscheduler_docs -## Source and Intellectual Property Submission Plan +Source and Intellectual Property Submission Plan As soon as EasyScheduler is approved to join Apache Incubator, Analysys will execute a Software Grant Agreement and the source code will be transitioned onto ASF infrastructure. The code is already licensed under the Apache Software License, version 2.0. -## External Dependencies +External Dependencies As all backend code dependencies are managed using Apache Maven, none of the external libraries need to be packaged in a source distribution. -most of dependencies have Apache compatible licenses,and the detail as follows: - -### Backend Dependency - -| Dependency | License | Comments | -| ------------------------------------------------------ | ------------------------------------------------------------ | ------------- | -| activation-1.1.jar | CDDL v1.0 | | -| adal4j-1.0.0.jar | Apache V2.0 | | -| ant-1.6.5.jar | Apache V2.0 | | -| antlr-2.7.7.jar | BSD | | -| antlr-runtime-3.4.jar | BSD License | | -| aopalliance-1.0.jar | Public Domain | | -| apacheds-i18n-2.0.0-M15.jar | Apache V2.0 | | -| apacheds-kerberos-codec-2.0.0-M15.jar | Apache V2.0 | | -| apache-el-8.5.35.1.jar | Apache V2.0 | | -| api-asn1-api-1.0.0-M20.jar | Apache V2.0 | | -| api-util-1.0.0-M20.jar | Apache V2.0 | | -| asm-3.1.jar | BSD License | | -| aspectjweaver-1.9.2.jar | Eclipse Public License - v 1.0 | | -| aws-java-sdk-1.7.4.jar | Apache V2.0 | | -| azure-core-0.9.3.jar | Apache V2.0 | | -| azure-keyvault-0.9.3.jar | Apache V2.0 | | -| bcprov-jdk15on-1.51.jar | Bouncy Castle Licence | | -| bonecp-0.8.0.RELEASE.jar | Apache v2 | | -| byte-buddy-1.9.10.jar | Apache V2.0 | | -| c3p0-0.9.1.1.jar | GNU LESSER GENERAL PUBLIC LICENSE | will remove | -| classmate-1.4.0.jar | Apache V2.0 | | -| clickhouse-jdbc-0.1.52.jar | Apache V2.0 | | -| commons-cli-1.2.jar | Apache V2.0 | | -| commons-codec-1.6.jar | Apache V2.0 | | -| commons-collections-3.2.2.jar | Apache V2.0 | | -| commons-collections4-4.1.jar | Apache V2.0 | | -| commons-compress-1.4.1.jar | Apache V2.0 | | -| commons-configuration-1.10.jar | Apache V2.0 | | -| commons-daemon-1.0.13.jar | Apache V2.0 | | -| commons-dbcp-1.4.jar | Apache V2.0 | | -| commons-email-1.2.jar | Apache V2.0 | | -| commons-httpclient-3.0.1.jar | Apache License | | -| commons-io-2.4.jar | Apache V2.0 | | -| commons-lang-2.3.jar | Apache V2.0 | | -| commons-lang3-3.5.jar | Apache V2.0 | | -| commons-logging-1.1.1.jar | Apache V2.0 | | -| commons-math-2.2.jar | Apache V2.0 | | -| commons-pool-1.6.jar | Apache V2.0 | | -| cron-utils-5.0.5.jar | Apache V2.0 | | -| curator-client-2.12.0.jar | Apache V2.0 | | -| curator-framework-2.12.0.jar | Apache V2.0 | | -| curator-recipes-2.12.0.jar | Apache V2.0 | | -| datanucleus-api-jdo-4.2.1.jar | Apache V2.0 | | -| datanucleus-core-4.1.6.jar | Apache V2.0 | | -| datanucleus-rdbms-4.1.7.jar | Apache V2.0 | | -| derby-10.14.2.0.jar | Apache V2.0 | | -| disruptor-3.3.0.jar | Apache V2.0 | | -| druid-1.1.14.jar | Apache V2.0 | | -| error_prone_annotations-2.1.2.jar | Apache V2.0 | | -| fastjson-1.2.29.jar | Apache V2.0 | | -| fastutil-6.5.6.jar | Apache V2.0 | | -| findbugs-annotations-1.3.9-1.jar | Apache V2.0 | | -| freemarker-2.3.21.jar | Apache V2.0 | | -| grpc-context-1.9.0.jar | Apache V2.0 | | -| grpc-core-1.9.0.jar | Apache V2.0 | | -| grpc-netty-1.9.0.jar | Apache V2.0 | | -| grpc-protobuf-1.9.0.jar | Apache V2.0 | | -| grpc-protobuf-lite-1.9.0.jar | Apache V2.0 | | -| grpc-stub-1.9.0.jar | Apache V2.0 | | -| gson-2.8.5.jar | Apache V2.0 | | -| guava-20.0.jar | Apache V2.0 | | -| guice-3.0.jar | Apache V2.0 | | -| guice-assistedinject-3.0.jar | Apache V2.0 | | -| guice-servlet-3.0.jar | Apache V2.0 | | -| hadoop-annotations-2.7.3.jar | Apache V2.0 | | -| hadoop-auth-2.7.3.jar | Apache V2.0 | | -| hadoop-aws-2.7.3.jar | Apache V2.0 | | -| hadoop-client-2.7.3.jar | Apache V2.0 | | -| hadoop-common-2.7.3.jar | Apache V2.0 | | -| hadoop-hdfs-2.7.3.jar | Apache V2.0 | | -| hadoop-mapreduce-client-app-2.7.3.jar | Apache V2.0 | | -| hadoop-mapreduce-client-common-2.7.3.jar | Apache V2.0 | | -| hadoop-mapreduce-client-core-2.7.3.jar | Apache V2.0 | | -| hadoop-mapreduce-client-jobclient-2.7.3.jar | Apache V2.0 | | -| hadoop-yarn-api-2.7.3.jar | Apache V2.0 | | -| hadoop-yarn-client-2.7.3.jar | Apache V2.0 | | -| hadoop-yarn-common-2.7.3.jar | Apache V2.0 | | -| hadoop-yarn-registry-2.7.1.jar | Apache V2.0 | | -| hadoop-yarn-server-applicationhistoryservice-2.6.0.jar | Apache V2.0 | | -| hadoop-yarn-server-common-2.7.3.jar | Apache V2.0 | | -| hadoop-yarn-server-resourcemanager-2.6.0.jar | Apache V2.0 | | -| hadoop-yarn-server-web-proxy-2.6.0.jar | Apache V2.0 | | -| hbase-annotations-1.1.1.jar | Apache V2.0 | | -| hbase-client-1.1.1.jar | Apache V2.0 | | -| hbase-common-1.1.1.jar | Apache V2.0 | | -| hbase-common-1.1.1-tests.jar | Apache License Version 2.0 | | -| hbase-hadoop2-compat-1.1.1.jar | Apache V2.0 | | -| hbase-hadoop-compat-1.1.1.jar | Apache V2.0 | | -| hbase-prefix-tree-1.1.1.jar | Apache V2.0 | | -| hbase-procedure-1.1.1.jar | Apache V2.0 | | -| hbase-protocol-1.1.1.jar | Apache V2.0 | | -| hbase-server-1.1.1.jar | Apache V2.0 | | -| hibernate-validator-6.0.14.Final.jar | Apache License 2.0 | | -| HikariCP-3.2.0.jar | Apache V2.0 | | -| hive-common-2.1.0.jar | Apache V2.0 | | -| hive-jdbc-2.1.0.jar | Apache V2.0 | | -| hive-llap-client-2.1.0.jar | Apache V2.0 | | -| hive-llap-common-2.1.0.jar | Apache V2.0 | | -| hive-llap-server-2.1.0.jar | Apache V2.0 | | -| hive-llap-tez-2.1.0.jar | Apache V2.0 | | -| hive-metastore-2.1.0.jar | Apache V2.0 | | -| hive-orc-2.1.0.jar | Apache V2.0 | | -| hive-serde-2.1.0.jar | Apache V2.0 | | -| hive-service-2.1.0.jar | Apache V2.0 | | -| hive-service-rpc-2.1.0.jar | Apache V2.0 | | -| hive-shims-0.23-2.1.0.jar | Apache V2.0 | | -| hive-shims-2.1.0.jar | Apache V2.0 | | -| hive-shims-common-2.1.0.jar | Apache V2.0 | | -| hive-shims-scheduler-2.1.0.jar | Apache V2.0 | | -| hive-storage-api-2.1.0.jar | Apache V2.0 | | -| htrace-core-3.1.0-incubating.jar | Apache V2.0 | | -| httpclient-4.4.1.jar | Apache V2.0 | | -| httpcore-4.4.1.jar | Apache V2.0 | | -| httpmime-4.5.7.jar | Apache V2.0 | | -| instrumentation-api-0.4.3.jar | Apache V2.0 | | -| jackson-annotations-2.9.8.jar | Apache V2.0 | | -| jackson-core-2.9.8.jar | Apache V2.0 | | -| jackson-core-asl-1.9.13.jar | Apache V2.0 | | -| jackson-databind-2.9.8.jar | Apache V2.0 | | -| jackson-datatype-jdk8-2.9.8.jar | Apache V2.0 | | -| jackson-datatype-jsr310-2.9.8.jar | Apache V2.0 | | -| jackson-jaxrs-1.8.3.jar | GNU Lesser General Public License (LGPL), Version 2.1 Apache V2.0 | will remove | -| jackson-mapper-asl-1.9.13.jar | Apache V2.0 | | -| jackson-module-parameter-names-2.9.8.jar | Apache V2.0 | | -| jackson-xc-1.8.3.jar | GNU Lesser General Public License (LGPL), Version 2.1 Apache V2.0 | will remove | -| jamon-runtime-2.3.1.jar | Mozilla Public License Version 1.1 | MPL1.1 | -| jasper-compiler-5.5.23.jar | Apache V2.0 | | -| javax.activation-api-1.2.0.jar | CDDL/GPLv2+CE | will remove | -| javax.annotation-api-1.3.2.jar | CDDL + GPLv2 with classpath exception | will remove | -| javax.inject-1.jar | Apache V2.0 | | -| javax.jdo-3.2.0-m3.jar | Apache V2.0 | | -| java-xmlbuilder-0.4.jar | Apache V2.0 | | -| javax.servlet-api-3.1.0.jar | CDDL + GPLv2 with classpath exception | will remove | -| javolution-5.5.1.jar | BSD License | | -| jaxb-*.jar | (CDDL 1.1) (GPL2 w/ CPE) | will remove | -| jboss-logging-3.3.2.Final.jar | Apache V2.0 | | -| jcip-annotations-1.0.jar | Public | | -| jcodings-1.0.8.jar | MIT | | -| jcommander-1.30.jar | Apache V2.0 | | -| jdo-api-3.0.1.jar | Apache V2.0 | | -| jersey-*-1.9.jar | CDDL+GPLv2 | will remove | -| jets3t-0.9.0.jar | Apache V2.0 | | -| jettison-1.1.jar | Apache V2.0 | | -| jetty-6.1.26.jar | Apache V2.0,EPL 1.0 | | -| jetty-continuation-9.4.14.v20181114.jar | Apache V2.0,EPL 1.0 | | -| jetty-http-9.4.14.v20181114.jar | Apache V2.0,EPL 1.0 | | -| jetty-io-9.4.14.v20181114.jar | Apache V2.0,EPL 1.0 | | -| jetty-security-9.4.14.v20181114.jar | Apache V2.0,EPL 1.0 | | -| jetty-server-9.4.14.v20181114.jar | Apache V2.0,EPL 1.0 | | -| jetty-servlet-9.4.14.v20181114.jar | Apache V2.0,EPL 1.0 | | -| jetty-servlets-9.4.14.v20181114.jar | Apache V2.0,EPL 1.0 | | -| jetty-sslengine-6.1.26.jar | Apache V2.0 | | -| jetty-util-6.1.26.jar | Apache V2.0,EPL 1.0 | | -| jetty-util-9.4.14.v20181114.jar | Apache V2.0,EPL 1.0 | | -| jetty-webapp-9.4.14.v20181114.jar | Apache V2.0,EPL 1.0 | | -| jetty-xml-9.4.14.v20181114.jar | Apache V2.0,EPL 1.0 | | -| jline-0.9.94.jar | BSD | | -| jna-4.5.2.jar | Apache V2.0,LGPL 2.1 | will remove | -| jna-platform-4.5.2.jar | Apache V2.0,LGPL 2.1 | will remove | -| joda-time-2.10.1.jar | Apache V2.0 | | -| joni-2.1.2.jar | MIT | | -| jpam-1.1.jar | Apache V2.0 | | -| jsch-0.1.42.jar | BSD | | -| json-smart-1.1.1.jar | Apache V2.0 | | -| json-smart-2.3.jar | Apache V2.0 | | -| jsp-2.1-6.1.14.jar | CDDL 1.0 | | -| jsp-api-2.x.jar | CDDL,GPL 2.0 | will remove | -| jsp-api-2.1-6.1.14.jar | Apache V2.0 | | -| jsr305-3.0.0.jar | Apache V2.0 | | -| jta-1.1.jar | CDDL 1.0 | | -| jul-to-slf4j-1.7.25.jar | MIT | | -| lang-tag-1.4.jar | Apache V2.0 | | -| leveldbjni-all-1.8.jar | BSD 3-clause | | -| libfb303-0.9.3.jar | Apache V2.0 | | -| libthrift-0.9.3.jar | Apache V2.0 | | -| log4j-1.2.17.jar | Apache V2.0 | | -| log4j-1.2-api-2.11.2.jar | Apache V2.0 | | -| log4j-api-2.11.2.jar | Apache V2.0 | | -| log4j-core-2.11.2.jar | Apache V2.0 | | -| log4j-web-2.11.2.jar | Apache V2.0 | | -| logback-x.jar | dual-license EPL 1.0,LGPL 2.1 | | -| lz4-1.3.0.jar | Apache V2.0 | | -| mail-1.4.5.jar | CDDL+GPLv2 | will remove | -| mapstruct-1.2.0.Final.jar | Apache V2.0 | | -| metrics-core-2.2.0.jar | Apache V2.0 | | -| mssql-jdbc-6.1.0.jre8.jar | MIT | | -| mybatis-3.5.1.jar | Apache V2.0 | | -| mybatis-spring-2.0.1.jar | Apache V2.0 | | -| mybatis-spring-boot-autoconfigure-2.0.1.jar | Apache V2.0 | | -| mybatis-spring-boot-starter-2.0.1.jar | Apache V2.0 | | -| mysql-connector-java-5.1.34.jar | GPL 2.0 | will remove | -| netty-buffer-4.1.33.Final.jar | Apache V2.0 | | -| netty-codec-4.1.33.Final.jar | Apache V2.0 | | -| netty-codec-http2-4.1.33.Final.jar | Apache V2.0 | | -| netty-codec-http-4.1.33.Final.jar | Apache V2.0 | | -| netty-codec-socks-4.1.33.Final.jar | Apache V2.0 | | -| netty-common-4.1.33.Final.jar | Apache V2.0 | | -| netty-handler-4.1.33.Final.jar | Apache V2.0 | | -| netty-handler-proxy-4.1.33.Final.jar | Apache V2.0 | | -| netty-resolver-4.1.33.Final.jar | Apache V2.0 | | -| netty-transport-4.1.33.Final.jar | Apache V2.0 | | -| nimbus-jose-jwt-3.1.2.jar | Apache V2.0 | | -| oauth2-oidc-sdk-4.5.jar | Apache V2.0 | | -| opencensus-api-0.10.0.jar | Apache V2.0 | | -| opencensus-contrib-grpc-metrics-0.10.0.jar | Apache V2.0 | | -| opencsv-2.3.jar | Apache V2.0 | | -| oshi-core-3.5.0.jar | EPL 1.0 | | -| parquet-hadoop-bundle-1.8.1.jar | Apache V2.0 | | -| poi-3.17.jar | Apache V2.0 | | -| postgresql-42.1.4.jar | BSD 2-clause | | -| protobuf-java-3.5.1.jar | BSD 3-clause | | -| protobuf-java-util-3.5.1.jar | BSD 3-clause | | -| proto-google-common-protos-1.0.0.jar | Apache V2.0 | | -| quartz-2.2.3.jar | Apache V2.0 | | -| quartz-jobs-2.2.3.jar | Apache V2.0 | | -| slf4j-api-1.7.5.jar | MIT | | -| slider-core-0.90.2-incubating.jar | Apache V2.0 | | -| snakeyaml-1.23.jar | Apache V2.0 | | -| snappy-0.2.jar | Apache V2.0 | | -| spring-aop-5.1.5.RELEASE.jar | Apache V2.0 | | -| spring-beans-5.1.5.RELEASE.jar | Apache V2.0 | | -| spring-boot-2.1.3.RELEASE.jar | Apache V2.0 | | -| spring-boot-autoconfigure-2.1.3.RELEASE.jar | Apache V2.0 | | -| spring-boot-starter-2.1.3.RELEASE.jar | Apache V2.0 | | -| spring-boot-starter-aop-2.1.3.RELEASE.jar | Apache V2.0 | | -| spring-boot-starter-jdbc-2.1.3.RELEASE.jar | Apache V2.0 | | -| spring-boot-starter-jetty-2.1.3.RELEASE.jar | Apache V2.0 | | -| spring-boot-starter-json-2.1.3.RELEASE.jar | Apache V2.0 | | -| spring-boot-starter-logging-2.1.3.RELEASE.jar | Apache V2.0 | | -| spring-boot-starter-web-2.1.3.RELEASE.jar | Apache V2.0 | | -| spring-context-5.1.5.RELEASE.jar | Apache V2.0 | | -| spring-core-5.1.5.RELEASE.jar | Apache V2.0 | | -| spring-expression-5.1.5.RELEASE.jar | Apache V2.0 | | -| springfox-core-2.9.2.jar | Apache V2.0 | | -| springfox-schema-2.9.2.jar | Apache V2.0 | | -| springfox-spi-2.9.2.jar | Apache V2.0 | | -| springfox-spring-web-2.9.2.jar | Apache V2.0 | | -| springfox-swagger2-2.9.2.jar | Apache V2.0 | | -| springfox-swagger-common-2.9.2.jar | Apache V2.0 | | -| springfox-swagger-ui-2.9.2.jar | Apache V2.0 | | -| spring-jcl-5.1.5.RELEASE.jar | Apache V2.0 | | -| spring-jdbc-5.1.5.RELEASE.jar | Apache V2.0 | | -| spring-plugin-core-1.2.0.RELEASE.jar | Apache V2.0 | | -| spring-plugin-metadata-1.2.0.RELEASE.jar | Apache V2.0 | | -| spring-tx-5.1.5.RELEASE.jar | Apache V2.0 | | -| spring-web-5.1.5.RELEASE.jar | Apache V2.0 | | -| spring-webmvc-5.1.5.RELEASE.jar | Apache V2.0 | | -| stringtemplate-3.2.1.jar | BSD | | -| swagger-annotations-1.5.20.jar | Apache V2.0 | | -| swagger-bootstrap-ui-1.9.3.jar | Apache V2.0 | | -| swagger-models-1.5.20.jar | Apache V2.0 | | -| tephra-api-0.6.0.jar | Apache V2.0 | | -| tephra-core-0.6.0.jar | Apache V2.0 | | -| tephra-hbase-compat-1.0-0.6.0.jar | Apache V2.0 | | -| threetenbp-1.3.6.jar | BSD 3-clause | | -| transaction-api-1.1.jar | CDDL1.0 | | -| twill-api-0.6.0-incubating.jar | Apache V2.0 | | -| twill-common-0.6.0-incubating.jar | Apache V2.0 | | -| twill-core-0.6.0-incubating.jar | Apache V2.0 | | -| twill-discovery-api-0.6.0-incubating.jar | Apache V2.0 | | -| twill-discovery-core-0.6.0-incubating.jar | Apache V2.0 | | -| twill-zookeeper-0.6.0-incubating.jar | Apache V2.0 | | -| validation-api-2.0.1.Final.jar | Apache V2.0 | | -| xercesImpl-2.9.1.jar | Apache V2.0 | | -| xml-apis-1.4.01.jar | Apache V2.0,W3C | | -| xz-1.0.jar | Public | | -| zookeeper-3.4.8.jar | Apache | | +Most of dependencies have Apache compatible licenses,and the detail as follows: + +Backend Dependency + +Dependency License Comments +activation-1.1.jar CDDL v1.0 +adal4j-1.0.0.jar Apache V2.0 +ant-1.6.5.jar Apache V2.0 +antlr-2.7.7.jar BSD +antlr-runtime-3.4.jar BSD License +aopalliance-1.0.jar Public Domain +apacheds-i18n-2.0.0-M15.jar Apache V2.0 +apacheds-kerberos-codec-2.0.0-M15.jar Apache V2.0 +apache-el-8.5.35.1.jar Apache V2.0 +api-asn1-api-1.0.0-M20.jar Apache V2.0 +api-util-1.0.0-M20.jar Apache V2.0 +asm-3.1.jar BSD License +aspectjweaver-1.9.2.jar Eclipse Public License - v 1.0 +aws-java-sdk-1.7.4.jar Apache V2.0 +azure-core-0.9.3.jar Apache V2.0 +azure-keyvault-0.9.3.jar Apache V2.0 +bcprov-jdk15on-1.51.jar Bouncy Castle Licence +bonecp-0.8.0.RELEASE.jar Apache v2 +byte-buddy-1.9.10.jar Apache V2.0 +c3p0-0.9.1.1.jar GNU LESSER GENERAL PUBLIC LICENSE will remove +classmate-1.4.0.jar Apache V2.0 +clickhouse-jdbc-0.1.52.jar Apache V2.0 +commons-cli-1.2.jar Apache V2.0 +commons-codec-1.6.jar Apache V2.0 +commons-collections-3.2.2.jar Apache V2.0 +commons-collections4-4.1.jar Apache V2.0 +commons-compress-1.4.1.jar Apache V2.0 +commons-configuration-1.10.jar Apache V2.0 +commons-daemon-1.0.13.jar Apache V2.0 +commons-dbcp-1.4.jar Apache V2.0 +commons-email-1.2.jar Apache V2.0 +commons-httpclient-3.0.1.jar Apache License +commons-io-2.4.jar Apache V2.0 +commons-lang-2.3.jar Apache V2.0 +commons-lang3-3.5.jar Apache V2.0 +commons-logging-1.1.1.jar Apache V2.0 +commons-math-2.2.jar Apache V2.0 +commons-pool-1.6.jar Apache V2.0 +cron-utils-5.0.5.jar Apache V2.0 +curator-client-2.12.0.jar Apache V2.0 +curator-framework-2.12.0.jar Apache V2.0 +curator-recipes-2.12.0.jar Apache V2.0 +datanucleus-api-jdo-4.2.1.jar Apache V2.0 +datanucleus-core-4.1.6.jar Apache V2.0 +datanucleus-rdbms-4.1.7.jar Apache V2.0 +derby-10.14.2.0.jar Apache V2.0 +disruptor-3.3.0.jar Apache V2.0 +druid-1.1.14.jar Apache V2.0 +error_prone_annotations-2.1.2.jar Apache V2.0 +fastjson-1.2.29.jar Apache V2.0 +fastutil-6.5.6.jar Apache V2.0 +findbugs-annotations-1.3.9-1.jar Apache V2.0 +freemarker-2.3.21.jar Apache V2.0 +grpc-context-1.9.0.jar Apache V2.0 +grpc-core-1.9.0.jar Apache V2.0 +grpc-netty-1.9.0.jar Apache V2.0 +grpc-protobuf-1.9.0.jar Apache V2.0 +grpc-protobuf-lite-1.9.0.jar Apache V2.0 +grpc-stub-1.9.0.jar Apache V2.0 +gson-2.8.5.jar Apache V2.0 +guava-20.0.jar Apache V2.0 +guice-3.0.jar Apache V2.0 +guice-assistedinject-3.0.jar Apache V2.0 +guice-servlet-3.0.jar Apache V2.0 +hadoop-annotations-2.7.3.jar Apache V2.0 +hadoop-auth-2.7.3.jar Apache V2.0 +hadoop-aws-2.7.3.jar Apache V2.0 +hadoop-client-2.7.3.jar Apache V2.0 +hadoop-common-2.7.3.jar Apache V2.0 +hadoop-hdfs-2.7.3.jar Apache V2.0 +hadoop-mapreduce-client-app-2.7.3.jar Apache V2.0 +hadoop-mapreduce-client-common-2.7.3.jar Apache V2.0 +hadoop-mapreduce-client-core-2.7.3.jar Apache V2.0 +hadoop-mapreduce-client-jobclient-2.7.3.jar Apache V2.0 +hadoop-yarn-api-2.7.3.jar Apache V2.0 +hadoop-yarn-client-2.7.3.jar Apache V2.0 +hadoop-yarn-common-2.7.3.jar Apache V2.0 +hadoop-yarn-registry-2.7.1.jar Apache V2.0 +hadoop-yarn-server-applicationhistoryservice-2.6.0.jar Apache V2.0 +hadoop-yarn-server-common-2.7.3.jar Apache V2.0 +hadoop-yarn-server-resourcemanager-2.6.0.jar Apache V2.0 +hadoop-yarn-server-web-proxy-2.6.0.jar Apache V2.0 +hbase-annotations-1.1.1.jar Apache V2.0 +hbase-client-1.1.1.jar Apache V2.0 +hbase-common-1.1.1.jar Apache V2.0 +hbase-common-1.1.1-tests.jar Apache License Version 2.0 +hbase-hadoop2-compat-1.1.1.jar Apache V2.0 +hbase-hadoop-compat-1.1.1.jar Apache V2.0 +hbase-prefix-tree-1.1.1.jar Apache V2.0 +hbase-procedure-1.1.1.jar Apache V2.0 +hbase-protocol-1.1.1.jar Apache V2.0 +hbase-server-1.1.1.jar Apache V2.0 +hibernate-validator-6.0.14.Final.jar Apache License 2.0 +HikariCP-3.2.0.jar Apache V2.0 +hive-common-2.1.0.jar Apache V2.0 +hive-jdbc-2.1.0.jar Apache V2.0 +hive-llap-client-2.1.0.jar Apache V2.0 +hive-llap-common-2.1.0.jar Apache V2.0 +hive-llap-server-2.1.0.jar Apache V2.0 +hive-llap-tez-2.1.0.jar Apache V2.0 +hive-metastore-2.1.0.jar Apache V2.0 +hive-orc-2.1.0.jar Apache V2.0 +hive-serde-2.1.0.jar Apache V2.0 +hive-service-2.1.0.jar Apache V2.0 +hive-service-rpc-2.1.0.jar Apache V2.0 +hive-shims-0.23-2.1.0.jar Apache V2.0 +hive-shims-2.1.0.jar Apache V2.0 +hive-shims-common-2.1.0.jar Apache V2.0 +hive-shims-scheduler-2.1.0.jar Apache V2.0 +hive-storage-api-2.1.0.jar Apache V2.0 +htrace-core-3.1.0-incubating.jar Apache V2.0 +httpclient-4.4.1.jar Apache V2.0 +httpcore-4.4.1.jar Apache V2.0 +httpmime-4.5.7.jar Apache V2.0 +instrumentation-api-0.4.3.jar Apache V2.0 +jackson-annotations-2.9.8.jar Apache V2.0 +jackson-core-2.9.8.jar Apache V2.0 +jackson-core-asl-1.9.13.jar Apache V2.0 +jackson-databind-2.9.8.jar Apache V2.0 +jackson-datatype-jdk8-2.9.8.jar Apache V2.0 +jackson-datatype-jsr310-2.9.8.jar Apache V2.0 +jackson-jaxrs-1.8.3.jar GNU Lesser General Public License (LGPL), Version 2.1 Apache V2.0 will remove +jackson-mapper-asl-1.9.13.jar Apache V2.0 +jackson-module-parameter-names-2.9.8.jar Apache V2.0 +jackson-xc-1.8.3.jar GNU Lesser General Public License (LGPL), Version 2.1 Apache V2.0 will remove +jamon-runtime-2.3.1.jar Mozilla Public License Version 1.1 MPL1.1 +jasper-compiler-5.5.23.jar Apache V2.0 +javax.activation-api-1.2.0.jar CDDL/GPLv2+CE will remove +javax.annotation-api-1.3.2.jar CDDL + GPLv2 with classpath exception will remove +javax.inject-1.jar Apache V2.0 +javax.jdo-3.2.0-m3.jar Apache V2.0 +java-xmlbuilder-0.4.jar Apache V2.0 +javax.servlet-api-3.1.0.jar CDDL + GPLv2 with classpath exception will remove +javolution-5.5.1.jar BSD License +jaxb-*.jar (CDDL 1.1) (GPL2 w/ CPE) will remove +jboss-logging-3.3.2.Final.jar Apache V2.0 +jcip-annotations-1.0.jar Public +jcodings-1.0.8.jar MIT +jcommander-1.30.jar Apache V2.0 +jdo-api-3.0.1.jar Apache V2.0 +jersey-*-1.9.jar CDDL+GPLv2 will remove +jets3t-0.9.0.jar Apache V2.0 +jettison-1.1.jar Apache V2.0 +jetty-6.1.26.jar Apache V2.0,EPL 1.0 +jetty-continuation-9.4.14.v20181114.jar Apache V2.0,EPL 1.0 +jetty-http-9.4.14.v20181114.jar Apache V2.0,EPL 1.0 +jetty-io-9.4.14.v20181114.jar Apache V2.0,EPL 1.0 +jetty-security-9.4.14.v20181114.jar Apache V2.0,EPL 1.0 +jetty-server-9.4.14.v20181114.jar Apache V2.0,EPL 1.0 +jetty-servlet-9.4.14.v20181114.jar Apache V2.0,EPL 1.0 +jetty-servlets-9.4.14.v20181114.jar Apache V2.0,EPL 1.0 +jetty-sslengine-6.1.26.jar Apache V2.0 +jetty-util-6.1.26.jar Apache V2.0,EPL 1.0 +jetty-util-9.4.14.v20181114.jar Apache V2.0,EPL 1.0 +jetty-webapp-9.4.14.v20181114.jar Apache V2.0,EPL 1.0 +jetty-xml-9.4.14.v20181114.jar Apache V2.0,EPL 1.0 +jline-0.9.94.jar BSD +jna-4.5.2.jar Apache V2.0,LGPL 2.1 will remove +jna-platform-4.5.2.jar Apache V2.0,LGPL 2.1 will remove +joda-time-2.10.1.jar Apache V2.0 +joni-2.1.2.jar MIT +jpam-1.1.jar Apache V2.0 +jsch-0.1.42.jar BSD +json-smart-1.1.1.jar Apache V2.0 +json-smart-2.3.jar Apache V2.0 +jsp-2.1-6.1.14.jar CDDL 1.0 +jsp-api-2.x.jar CDDL,GPL 2.0 will remove +jsp-api-2.1-6.1.14.jar Apache V2.0 +jsr305-3.0.0.jar Apache V2.0 +jta-1.1.jar CDDL 1.0 +jul-to-slf4j-1.7.25.jar MIT +lang-tag-1.4.jar Apache V2.0 +leveldbjni-all-1.8.jar BSD 3-clause +libfb303-0.9.3.jar Apache V2.0 +libthrift-0.9.3.jar Apache V2.0 +log4j-1.2.17.jar Apache V2.0 +log4j-1.2-api-2.11.2.jar Apache V2.0 +log4j-api-2.11.2.jar Apache V2.0 +log4j-core-2.11.2.jar Apache V2.0 +log4j-web-2.11.2.jar Apache V2.0 +logback-x.jar dual-license EPL 1.0,LGPL 2.1 +lz4-1.3.0.jar Apache V2.0 +mail-1.4.5.jar CDDL+GPLv2 will remove +mapstruct-1.2.0.Final.jar Apache V2.0 +metrics-core-2.2.0.jar Apache V2.0 +mssql-jdbc-6.1.0.jre8.jar MIT +mybatis-3.5.1.jar Apache V2.0 +mybatis-spring-2.0.1.jar Apache V2.0 +mybatis-spring-boot-autoconfigure-2.0.1.jar Apache V2.0 +mybatis-spring-boot-starter-2.0.1.jar Apache V2.0 +mysql-connector-java-5.1.34.jar GPL 2.0 will remove +netty-buffer-4.1.33.Final.jar Apache V2.0 +netty-codec-4.1.33.Final.jar Apache V2.0 +netty-codec-http2-4.1.33.Final.jar Apache V2.0 +netty-codec-http-4.1.33.Final.jar Apache V2.0 +netty-codec-socks-4.1.33.Final.jar Apache V2.0 +netty-common-4.1.33.Final.jar Apache V2.0 +netty-handler-4.1.33.Final.jar Apache V2.0 +netty-handler-proxy-4.1.33.Final.jar Apache V2.0 +netty-resolver-4.1.33.Final.jar Apache V2.0 +netty-transport-4.1.33.Final.jar Apache V2.0 +nimbus-jose-jwt-3.1.2.jar Apache V2.0 +oauth2-oidc-sdk-4.5.jar Apache V2.0 +opencensus-api-0.10.0.jar Apache V2.0 +opencensus-contrib-grpc-metrics-0.10.0.jar Apache V2.0 +opencsv-2.3.jar Apache V2.0 +oshi-core-3.5.0.jar EPL 1.0 +parquet-hadoop-bundle-1.8.1.jar Apache V2.0 +poi-3.17.jar Apache V2.0 +postgresql-42.1.4.jar BSD 2-clause +protobuf-java-3.5.1.jar BSD 3-clause +protobuf-java-util-3.5.1.jar BSD 3-clause +proto-google-common-protos-1.0.0.jar Apache V2.0 +quartz-2.2.3.jar Apache V2.0 +quartz-jobs-2.2.3.jar Apache V2.0 +slf4j-api-1.7.5.jar MIT +slider-core-0.90.2-incubating.jar Apache V2.0 +snakeyaml-1.23.jar Apache V2.0 +snappy-0.2.jar Apache V2.0 +spring-aop-5.1.5.RELEASE.jar Apache V2.0 +spring-beans-5.1.5.RELEASE.jar Apache V2.0 +spring-boot-2.1.3.RELEASE.jar Apache V2.0 +spring-boot-autoconfigure-2.1.3.RELEASE.jar Apache V2.0 +spring-boot-starter-2.1.3.RELEASE.jar Apache V2.0 +spring-boot-starter-aop-2.1.3.RELEASE.jar Apache V2.0 +spring-boot-starter-jdbc-2.1.3.RELEASE.jar Apache V2.0 +spring-boot-starter-jetty-2.1.3.RELEASE.jar Apache V2.0 +spring-boot-starter-json-2.1.3.RELEASE.jar Apache V2.0 +spring-boot-starter-logging-2.1.3.RELEASE.jar Apache V2.0 +spring-boot-starter-web-2.1.3.RELEASE.jar Apache V2.0 +spring-context-5.1.5.RELEASE.jar Apache V2.0 +spring-core-5.1.5.RELEASE.jar Apache V2.0 +spring-expression-5.1.5.RELEASE.jar Apache V2.0 +springfox-core-2.9.2.jar Apache V2.0 +springfox-schema-2.9.2.jar Apache V2.0 +springfox-spi-2.9.2.jar Apache V2.0 +springfox-spring-web-2.9.2.jar Apache V2.0 +springfox-swagger2-2.9.2.jar Apache V2.0 +springfox-swagger-common-2.9.2.jar Apache V2.0 +springfox-swagger-ui-2.9.2.jar Apache V2.0 +spring-jcl-5.1.5.RELEASE.jar Apache V2.0 +spring-jdbc-5.1.5.RELEASE.jar Apache V2.0 +spring-plugin-core-1.2.0.RELEASE.jar Apache V2.0 +spring-plugin-metadata-1.2.0.RELEASE.jar Apache V2.0 +spring-tx-5.1.5.RELEASE.jar Apache V2.0 +spring-web-5.1.5.RELEASE.jar Apache V2.0 +spring-webmvc-5.1.5.RELEASE.jar Apache V2.0 +stringtemplate-3.2.1.jar BSD +swagger-annotations-1.5.20.jar Apache V2.0 +swagger-bootstrap-ui-1.9.3.jar Apache V2.0 +swagger-models-1.5.20.jar Apache V2.0 +tephra-api-0.6.0.jar Apache V2.0 +tephra-core-0.6.0.jar Apache V2.0 +tephra-hbase-compat-1.0-0.6.0.jar Apache V2.0 +threetenbp-1.3.6.jar BSD 3-clause +transaction-api-1.1.jar CDDL1.0 +twill-api-0.6.0-incubating.jar Apache V2.0 +twill-common-0.6.0-incubating.jar Apache V2.0 +twill-core-0.6.0-incubating.jar Apache V2.0 +twill-discovery-api-0.6.0-incubating.jar Apache V2.0 +twill-discovery-core-0.6.0-incubating.jar Apache V2.0 +twill-zookeeper-0.6.0-incubating.jar Apache V2.0 +validation-api-2.0.1.Final.jar Apache V2.0 +xercesImpl-2.9.1.jar Apache V2.0 +xml-apis-1.4.01.jar Apache V2.0,W3C +xz-1.0.jar Public +zookeeper-3.4.8.jar Apache +The front-end UI currently relies on many components, which we will list separately at the end of the file. +UI Dependency + +Dependency License Comments +abab ISC +abbrev ISC +accepts MIT +acorn MIT +acorn-dynamic-import MIT +acorn-globals MIT +after MIT +agent-base MIT +ajv MIT +ajv-keywords MIT +align-text MIT +alphanum-sort MIT +amdefine BSD-3-Clause OR MIT +ansi-html Apache-2.0 +ansi-regex MIT +ansi-styles MIT +anymatch ISC +aproba ISC +are-we-there-yet ISC +argparse MIT +arr-diff MIT +arr-flatten MIT +arr-union MIT +array-equal MIT +array-find-index MIT +array-flatten MIT +array-includes MIT +array-slice MIT +array-union MIT +array-uniq MIT +array-unique MIT +arraybuffer.slice MIT +arrify MIT +asn1 MIT +asn1.js MIT +assert MIT +assert-plus MIT +assign-symbols MIT +ast-types MIT +async MIT +async-each MIT +async-foreach MIT +async-limiter MIT +asynckit MIT +atob (MIT OR Apache-2.0) +autoprefixer MIT +aws-sign2 Apache-2.0 +aws4 MIT +babel-code-frame MIT +babel-core MIT +babel-eslint MIT +babel-generator MIT +babel-helper-builder-binary-assignment-operator-visitor MIT +babel-helper-call-delegate MIT +babel-helper-define-map MIT +babel-helper-explode-assignable-expression MIT +babel-helper-function-name MIT +babel-helper-get-function-arity MIT +babel-helper-hoist-variables MIT +babel-helper-optimise-call-expression MIT +babel-helper-regex MIT +babel-helper-remap-async-to-generator MIT +babel-helper-replace-supers MIT +babel-helper-vue-jsx-merge-props MIT +babel-helpers MIT +babel-loader MIT +babel-messages MIT +babel-plugin-check-es2015-constants MIT +babel-plugin-syntax-async-functions MIT +babel-plugin-syntax-class-properties MIT +babel-plugin-syntax-dynamic-import MIT +babel-plugin-syntax-exponentiation-operator MIT +babel-plugin-syntax-jsx MIT +babel-plugin-syntax-object-rest-spread MIT +babel-plugin-syntax-trailing-function-commas MIT +babel-plugin-transform-async-to-generator MIT +babel-plugin-transform-class-properties MIT +babel-plugin-transform-es2015-arrow-functions MIT +babel-plugin-transform-es2015-block-scoped-functions MIT +babel-plugin-transform-es2015-block-scoping MIT +babel-plugin-transform-es2015-classes MIT +babel-plugin-transform-es2015-computed-properties MIT +babel-plugin-transform-es2015-destructuring MIT +babel-plugin-transform-es2015-duplicate-keys MIT +babel-plugin-transform-es2015-for-of MIT +babel-plugin-transform-es2015-function-name MIT +babel-plugin-transform-es2015-literals MIT +babel-plugin-transform-es2015-modules-amd MIT +babel-plugin-transform-es2015-modules-commonjs MIT +babel-plugin-transform-es2015-modules-systemjs MIT +babel-plugin-transform-es2015-modules-umd MIT +babel-plugin-transform-es2015-object-super MIT +babel-plugin-transform-es2015-parameters MIT +babel-plugin-transform-es2015-shorthand-properties MIT +babel-plugin-transform-es2015-spread MIT +babel-plugin-transform-es2015-sticky-regex MIT +babel-plugin-transform-es2015-template-literals MIT +babel-plugin-transform-es2015-typeof-symbol MIT +babel-plugin-transform-es2015-unicode-regex MIT +babel-plugin-transform-exponentiation-operator MIT +babel-plugin-transform-object-rest-spread MIT +babel-plugin-transform-regenerator MIT +babel-plugin-transform-remove-console MIT +babel-plugin-transform-runtime MIT +babel-plugin-transform-strict-mode MIT +babel-plugin-transform-vue-jsx MIT +babel-preset-env MIT +babel-register MIT +babel-runtime MIT +babel-template MIT +babel-traverse MIT +babel-types MIT +babylon MIT +backo2 MIT +balanced-match MIT +base MIT +base64-arraybuffer MIT +base64-js MIT +base64id MIT +batch MIT +bcrypt-pbkdf BSD-3-Clause +better-assert MIT +big.js MIT +binary-extensions MIT +blob MIT +block-stream ISC +bluebird MIT +bn.js MIT +body-parser MIT +bonjour MIT +boolbase ISC +bootstrap MIT +brace-expansion MIT +braces MIT +brorand MIT +browserify-aes MIT +browserify-cipher MIT +browserify-des MIT +browserify-rsa MIT +browserify-sign ISC +browserify-zlib MIT +browserslist MIT +browserstack MIT +browserstack-local MIT +buffer MIT +buffer-alloc MIT +buffer-alloc-unsafe MIT +buffer-fill MIT +buffer-from MIT +buffer-indexof MIT +buffer-xor MIT +builtin-status-codes MIT +bytes MIT +cacache ISC +cache-base MIT +call-me-maybe MIT +caller-callsite MIT +caller-path MIT +callsite MIT +callsites MIT +camel-case MIT +camelcase MIT +camelcase-keys MIT +caniuse-api MIT +caniuse-db CC-BY-4.0 +caniuse-lite CC-BY-4.0 +canvg MIT +caseless Apache-2.0 +center-align MIT +chalk MIT +chokidar MIT +chownr ISC +cipher-base MIT +circular-json MIT +clap MIT +class-utils MIT +clean-css MIT +clipboard MIT +cliui ISC +clone MIT +clone-deep MIT +co MIT +coa MIT +code-frame MIT +code-point-at MIT +codemirror MIT +coffee MIT +coffee-requirejs MIT +collection-visit MIT +color MIT +color-convert MIT +color-name MIT +color-string MIT +colormin MIT +colors MIT +combine-lists MIT +combined-stream MIT +commander MIT +commondir MIT +component-bind MIT +component-emitter MIT +component-inherit MIT +compressible MIT +compression MIT +concat-map MIT +concat-stream MIT +connect MIT +connect-history-api-fallback MIT +console-browserify MIT +console-control-strings ISC +consolidate MIT +constants-browserify MIT +content-disposition MIT +content-type MIT +convert-source-map MIT +cookie MIT +cookie-signature MIT +copy-concurrently ISC +copy-descriptor MIT +copy-webpack-plugin MIT +core-js MIT +core-util-is MIT +cosmiconfig MIT +create-ecdh MIT +create-hash MIT +create-hmac MIT +cross-env MIT +cross-spawn MIT +crypto-browserify MIT +css-color-names MIT +css-declaration-sorter MIT +css-loader MIT +css-select BSD-like +css-select-base-adapter MIT +css-selector-tokenizer MIT +css-tree MIT +css-unit-converter MIT +css-what BSD-2-Clause +cssesc MIT +cssnano MIT +cssnano-preset-default MIT +cssnano-util-get-arguments MIT +cssnano-util-get-match MIT +cssnano-util-raw-cache MIT +cssnano-util-same-parent MIT +csso MIT +cssom MIT +cssstyle MIT +currently-unhandled MIT +custom-event MIT +cyclist MIT +d ISC +d3 BSD-3-Clause +dashdash MIT +date-format MIT +date-now MIT +dateformat MIT +dayjs MIT +de-indent MIT +debug MIT +decamelize MIT +decode-uri-component MIT +deep-equal MIT +deep-is MIT +define-properties MIT +define-property MIT +defined MIT +del MIT +delayed-stream MIT +delegate MIT +delegates MIT +depd MIT +des.js MIT +destroy MIT +detect-indent MIT +detect-node ISC +di MIT +diffie-hellman MIT +dir-glob MIT +dns-equal MIT +dns-packet MIT +dns-txt MIT +dom-converter MIT +dom-serialize MIT +dom-serializer MIT +domain-browser MIT +domelementtype BSD-2-Clause +domhandler BSD-2-Clause +domutils BSD-2-Clause +dot-prop MIT +dotenv BSD-2-Clause +duplexer BSD-2-Clause +duplexify MIT +ecc-jsbn MIT +echarts Apache License Version 2.0 +ee-first MIT +ejs Apache-2.0 +electron-to-chromium ISC +elliptic MIT +emojis-list MIT +encodeurl MIT +end-of-stream MIT +engine.io MIT +engine.io-client MIT +engine.io-parser MIT +enhanced-resolve MIT +ent MIT +entities BSD-2-Clause +env-parse ISC +errno MIT +error-ex MIT +es-abstract MIT +es-to-primitive MIT +es5-ext ISC +es6-iterator MIT +es6-map MIT +es6-promise MIT +es6-promisify MIT +es6-set MIT +es6-symbol MIT +es6-templates Apache 2 +es6-weak-map ISC +escape-html MIT +escape-string-regexp MIT +escodegen BSD-2-Clause +escope BSD-2-Clause +eslint-scope BSD-2-Clause +eslint-visitor-keys Apache-2.0 +esprima BSD-2-Clause +esrecurse BSD-2-Clause +estraverse BSD +esutils BSD-2-Clause +etag MIT +event-emitter MIT +event-stream MIT +eventemitter3 MIT +events MIT +eventsource MIT +evp_bytestokey MIT +execa MIT +expand-braces MIT +expand-brackets MIT +expand-range MIT +extend MIT +extend-shallow MIT +extglob MIT +extract-text-webpack-plugin MIT +extsprintf MIT +fast-deep-equal MIT +fast-glob MIT +fast-json-stable-stringify MIT +fast-levenshtein MIT +fastparse MIT +faye-websocket Apache-2.0 +file-loader MIT +fill-range MIT +finalhandler MIT +find-cache-dir MIT +find-up MIT +flatted ISC +flatten MIT +flush-write-stream MIT +follow-redirects MIT +for-in MIT +for-own MIT +forever-agent Apache-2.0 +form-data MIT +forwarded MIT +fragment-cache MIT +fresh MIT +from MIT +from2 MIT +fs-access MIT +fs-write-stream-atomic ISC +fs.realpath ISC +fs.stat MIT +fstream ISC +function-bind MIT +gauge ISC +gaze MIT +generator MIT +get-caller-file ISC +get-stdin MIT +get-stream MIT +get-value MIT +getpass MIT +glob ISC +glob-parent ISC +glob-to-regexp BSD +globals MIT +globby MIT +globule MIT +good-listener MIT +graceful-fs ISC +handle-thing MIT +handlebars MIT +har-schema ISC +har-validator MIT +has MIT +has-ansi MIT +has-binary2 MIT +has-cors MIT +has-flag MIT +has-symbols MIT +has-unicode ISC +has-value MIT +has-values MIT +hash-base MIT +hash-sum MIT +hash.js MIT +he MIT +helper-function-name MIT +helper-get-function-arity MIT +helper-split-export-declaration MIT +hex-color-regex MIT +highlight MIT +hmac-drbg MIT +home-or-tmp MIT +hosted-git-info ISC +hpack.js MIT +hsl-regex MIT +hsla-regex MIT +html-comment-regex MIT +html-entities MIT +html-loader MIT +html-minifier MIT +html-webpack-ext-plugin MIT +html-webpack-plugin MIT +html2canvas MIT +htmlparser2 MIT +http-deceiver MIT +http-errors MIT +http-parser-js MIT +http-proxy MIT +http-proxy-middleware MIT +http-signature MIT +https-browserify MIT +https-proxy-agent MIT +iconv-lite MIT +icss-replace-symbols ISC +icss-utils ISC +ieee754 BSD-3-Clause +iferr MIT +ignore MIT +import-cwd MIT +import-fresh MIT +import-from MIT +import-local MIT +imurmurhash MIT +in-publish ISC +indent-string MIT +indexes-of MIT +indexof MIT +inflight ISC +inherits ISC +internal-ip MIT +interpret MIT +invariant MIT +invert-kv MIT +ip MIT +ipaddr.js MIT +is-absolute-url MIT +is-accessor-descriptor MIT +is-arrayish MIT +is-binary-path MIT +is-buffer MIT +is-callable MIT +is-color-stop MIT +is-data-descriptor MIT +is-date-object MIT +is-descriptor MIT +is-directory MIT +is-extendable MIT +is-extglob MIT +is-finite MIT +is-fullwidth-code-point MIT +is-glob MIT +is-number MIT +is-obj MIT +is-path-cwd MIT +is-path-in-cwd MIT +is-path-inside MIT +is-plain-obj MIT +is-plain-object MIT +is-regex MIT +is-resolvable ISC +is-running BSD +is-stream MIT +is-svg MIT +is-symbol MIT +is-typedarray MIT +is-utf8 MIT +is-windows MIT +is-wsl MIT +isarray MIT +isbinaryfile MIT +isexe ISC +isobject MIT +isstream MIT +istanbul BSD-3-Clause +jasmine-core MIT +jquery MIT +js-base64 BSD-3-Clause +js-tokens MIT +js-yaml MIT +jsbn MIT +jsdom MIT +jsesc MIT +json-loader MIT +json-parse-better-errors MIT +json-schema cv2.1,BSD +json-schema-traverse MIT +json-stringify-safe ISC +json3 MIT +json5 MIT +jsplumb (MIT OR GPL-2.0) +jsprim MIT +karma MIT +karma-browserstack-launcher MIT +karma-chrome-launcher MIT +karma-coverage MIT +karma-jasmine MIT +karma-sourcemap-loader MIT +karma-spec-reporter MIT +karma-webpack MIT +killable ISC +kind-of MIT +last-call-webpack-plugin MIT +lazy-cache MIT +lcid MIT +levn MIT +load-json-file MIT +loader-runner MIT +loader-utils MIT +locate-path MIT +lodash MIT +lodash.camelcase MIT +lodash.memoize MIT +lodash.tail MIT +lodash.uniq MIT +log-symbols MIT +log4js Apache-2.0 +loglevel MIT +loglevelnext MIT +longest MIT +loose-envify MIT +loud-rejection MIT +lower-case MIT +lru-cache ISC +make-dir MIT +map-cache MIT +map-obj MIT +map-stream MIT +map-visit MIT +math-expression-evaluator MIT +md5.js MIT +mdn-data CC0-1.0 +media-typer MIT +mem MIT +memory-fs MIT +meow MIT +merge-descriptors MIT +merge2 MIT +methods MIT +micromatch MIT +miller-rabin MIT +mime MIT +mime-db MIT +mime-types MIT +mimic-fn MIT +minimalistic-assert ISC +minimalistic-crypto-utils MIT +minimatch ISC +minimist MIT +mississippi BSD-2-Clause +mixin-deep MIT +mixin-object MIT +mkdirp MIT +move-concurrently ISC +ms MIT +multicast-dns MIT +multicast-dns-service-types MIT +multirepo MIT +mylib ISC +nan MIT +nanomatch MIT +negotiator MIT +neo-async MIT +next-tick MIT +nice-try MIT +no-case MIT +node-forge (BSD-3-Clause OR GPL-2.0) +node-gyp MIT +node-libs-browser MIT +node-releases MIT +node-sass MIT +nopt ISC +normalize-package-data BSD-2-Clause +normalize-path MIT +normalize-range MIT +normalize-url MIT +npm-run-path MIT +npmlog ISC +nth-check BSD-2-Clause +null-check MIT +num2fraction MIT +number-is-nan MIT +nwmatcher MIT +oauth-sign Apache-2.0 +object-assign MIT +object-component MIT +object-copy MIT +object-keys MIT +object-visit MIT +object.assign MIT +object.getownpropertydescriptors MIT +object.pick MIT +object.values MIT +obuf MIT +on-finished MIT +on-headers MIT +once ISC +opn MIT +optimist MIT/X11 +optimize-css-assets-webpack-plugin MIT +optionator MIT +original MIT +os-browserify MIT +os-homedir MIT +os-locale MIT +os-tmpdir MIT +osenv ISC +p-finally MIT +p-limit MIT +p-locate MIT +p-map MIT +p-try MIT +package-a MIT +package-b MIT +pako (MIT AND Zlib) +parallel-transform MIT +param-case MIT +parse-asn1 ISC +parse-json MIT +parse5 MIT +parseqs MIT +parseuri MIT +parseurl MIT +pascalcase MIT +path-browserify MIT +path-dirname MIT +path-exists MIT +path-is-absolute MIT +path-is-inside (WTFPL OR MIT) +path-key MIT +path-parse MIT +path-to-regexp MIT +path-type MIT +pause-stream MIT,Apache2 +pbkdf2 MIT +performance-now MIT +pify MIT +pinkie MIT +pinkie-promise MIT +pkg-dir MIT +portfinder MIT +posix-character-classes MIT +postcss MIT +postcss-calc MIT +postcss-colormin MIT +postcss-convert-values MIT +postcss-discard-comments MIT +postcss-discard-duplicates MIT +postcss-discard-empty MIT +postcss-discard-overridden MIT +postcss-discard-unused MIT +postcss-filter-plugins MIT +postcss-load-config MIT +postcss-load-options MIT +postcss-load-plugins MIT +postcss-loader MIT +postcss-merge-idents MIT +postcss-merge-longhand MIT +postcss-merge-rules MIT +postcss-message-helpers MIT +postcss-minify-font-values MIT +postcss-minify-gradients MIT +postcss-minify-params MIT +postcss-minify-selectors MIT +postcss-modules-extract-imports ISC +postcss-modules-local-by-default MIT +postcss-modules-scope ISC +postcss-modules-values ISC +postcss-normalize-charset MIT +postcss-normalize-display-values MIT +postcss-normalize-positions MIT +postcss-normalize-repeat-style MIT +postcss-normalize-string MIT +postcss-normalize-timing-functions MIT +postcss-normalize-unicode MIT +postcss-normalize-url MIT +postcss-normalize-whitespace MIT +postcss-ordered-values MIT +postcss-reduce-idents MIT +postcss-reduce-initial MIT +postcss-reduce-transforms MIT +postcss-selector-parser MIT +postcss-svgo MIT +postcss-unique-selectors MIT +postcss-value-parser MIT +postcss-zindex MIT +prelude-ls MIT +prepend-http MIT +prettier MIT +pretty-error MIT +private MIT +process MIT +process-nextick-args MIT +promise-inflight ISC +proxy-addr MIT +prr MIT +ps-tree MIT +pseudomap ISC +psl MIT +public-encrypt MIT +pump MIT +pumpify MIT +punycode MIT +q MIT +qjobs MIT +qs BSD-3-Clause +query-string MIT +querystring MIT +querystring-es3 MIT +querystringify MIT +randombytes MIT +randomfill MIT +range-parser MIT +raw-body MIT +read-pkg MIT +read-pkg-up MIT +readable-stream MIT +readdir-enhanced MIT +readdirp MIT +recast MIT +redent MIT +reduce-css-calc MIT +reduce-function-call MIT +regenerate MIT +regenerator-runtime MIT +regenerator-transform BSD +regex-not MIT +regexpu-core MIT +regjsgen MIT +regjsparser BSD +relateurl MIT +remove-trailing-separator ISC +renderkid MIT +repeat-element MIT +repeat-string MIT +repeating MIT +request Apache-2.0 +require-directory MIT +require-from-string MIT +require-main-filename ISC +requires-port MIT +resolve MIT +resolve-cwd MIT +resolve-from MIT +resolve-url MIT +ret MIT +rfdc MIT +rgb-regex MIT +rgba-regex MIT +rgbcolor MIT OR SEE LICENSE IN FEEL-FREE.md +right-align MIT +rimraf ISC +ripemd160 MIT +run-queue ISC +safe-buffer MIT +safe-regex MIT +safer-buffer MIT +sass-graph MIT +sass-loader MIT +sax ISC +schema-utils MIT +scss-tokenizer MIT +select MIT +select-hose MIT +selfsigned MIT +semver ISC +send MIT +serialize-javascript BSD-3-Clause +serve-index MIT +serve-static MIT +set-blocking ISC +set-value MIT +setimmediate MIT +setprototypeof ISC +sha.js (MIT AND BSD-3-Clause) +shallow-clone MIT +shebang-command MIT +shebang-regex MIT +signal-exit ISC +simple-swizzle MIT +slash MIT +snapdragon MIT +snapdragon-node MIT +snapdragon-util MIT +socket.io MIT +socket.io-adapter MIT +socket.io-client MIT +socket.io-parser MIT +sockjs MIT +sockjs-client MIT +sort-keys MIT +source-list-map MIT +source-map BSD-3-Clause +source-map-resolve MIT +source-map-support MIT +source-map-url MIT +spdx-correct Apache-2.0 +spdx-exceptions CC-BY-3.0 +spdx-expression-parse MIT +spdx-license-ids CC0-1.0 +spdy MIT +spdy-transport MIT +split MIT +split-string MIT +sprintf-js BSD-3-Clause +sshpk MIT +ssri ISC +stable MIT +stackblur-canvas MIT +static-extend MIT +statuses MIT +stdout-stream MIT +stream-browserify MIT +stream-combiner MIT +stream-each MIT +stream-http MIT +stream-shift MIT +streamroller MIT +strict-uri-encode MIT +string-width MIT +string_decoder MIT +strip-ansi MIT +strip-bom MIT +strip-eof MIT +strip-indent MIT +stylehacks MIT +supports-color MIT +svgo MIT +symbol-tree MIT +tapable MIT +tar ISC +temp-fs MIT +template MIT +through MIT +through2 MIT +thunky MIT +time-stamp MIT +timers-browserify MIT +timsort MIT +tiny-emitter MIT +tmp MIT +to-array MIT +to-arraybuffer MIT +to-fast-properties MIT +to-object-path MIT +to-regex MIT +to-regex-range MIT +toidentifier MIT +tools MIT +toposort MIT +tough-cookie BSD-3-Clause +tr46 MIT +traverse MIT +trim-newlines MIT +trim-right MIT +true-case-path Apache-2.0 +tty-browserify MIT +tunnel-agent Apache-2.0 +tweetnacl The Unlicense +type ISC +type-check MIT +type-is MIT +typedarray MIT +types MIT +uglify-es BSD-2-Clause +uglify-js BSD-2-Clause +uglify-to-browserify MIT +uglifyjs-webpack-plugin MIT +ultron MIT +union-value MIT +uniq MIT +uniqs MIT +unique-filename ISC +unique-slug ISC +unpipe MIT +unquote MIT +unset-value MIT +upath MIT +upper-case MIT +uri-js BSD-2-Clause +urix MIT +url MIT +url-join MIT +url-loader MIT +url-parse MIT +use MIT +useragent MIT +util MIT +util-deprecate MIT +util.promisify MIT +utila MIT +utils-merge MIT +uuid MIT +validate-npm-package-license Apache-2.0 +vary MIT +vendors MIT +verror MIT +vm-browserify MIT +void-elements MIT +vue MIT +vue-hot-reload-api MIT +vue-loader MIT +vue-router MIT +vue-style-loader MIT +vue-template-compiler MIT +vue-template-es2015-compiler MIT +vuex MIT +vuex-router-sync MIT +watchpack MIT +wbuf MIT +webidl-conversions BSD-2-Clause +webpack MIT +webpack-dev-middleware MIT +webpack-dev-server MIT +webpack-log MIT +webpack-merge MIT +webpack-sources MIT +websocket-driver Apache-2.0 +websocket-extensions MIT +whatwg-url MIT +whet.extend MIT +which ISC +which-module ISC +wide-align ISC +window-size MIT +wordwrap MIT/X11 +worker-farm MIT +wrap-ansi MIT +wrappy ISC +ws MIT +xml-name-validator WTFPL +xmldom MIT,LGPL will remove +xmlhttprequest-ssl MIT +xtend MIT +y18n ISC +yallist ISC +yargs MIT +yargs-parser ISC +yeast MIT +zrender BSD +Required Resources + +Git Repositories + +https://github.com/analysys/EasyScheduler.git + +https://github.com/analysys/easyscheduler_docs.git + +Issue Tracking +The community would like to continue using GitHub Issues. +Continuous Integration tool +Travis (TODO) +Mailing Lists +EasyScheduler-dev: for development discussions -The front-end UI currently relies on many components, which we will list separately at the end of the file. +EasyScheduler-private: for PPMC discussions -### UI Dependency - -| Dependency | License | Comments | -| ------------------------------------------------------- | ------------------------------------ | ----------- | -| abab | ISC | | -| abbrev | ISC | | -| accepts | MIT | | -| acorn | MIT | | -| acorn-dynamic-import | MIT | | -| acorn-globals | MIT | | -| after | MIT | | -| agent-base | MIT | | -| ajv | MIT | | -| ajv-keywords | MIT | | -| align-text | MIT | | -| alphanum-sort | MIT | | -| amdefine | BSD-3-Clause OR MIT | | -| ansi-html | Apache-2.0 | | -| ansi-regex | MIT | | -| ansi-styles | MIT | | -| anymatch | ISC | | -| aproba | ISC | | -| are-we-there-yet | ISC | | -| argparse | MIT | | -| arr-diff | MIT | | -| arr-flatten | MIT | | -| arr-union | MIT | | -| array-equal | MIT | | -| array-find-index | MIT | | -| array-flatten | MIT | | -| array-includes | MIT | | -| array-slice | MIT | | -| array-union | MIT | | -| array-uniq | MIT | | -| array-unique | MIT | | -| arraybuffer.slice | MIT | | -| arrify | MIT | | -| asn1 | MIT | | -| asn1.js | MIT | | -| assert | MIT | | -| assert-plus | MIT | | -| assign-symbols | MIT | | -| ast-types | MIT | | -| async | MIT | | -| async-each | MIT | | -| async-foreach | MIT | | -| async-limiter | MIT | | -| asynckit | MIT | | -| atob | (MIT OR Apache-2.0) | | -| autoprefixer | MIT | | -| aws-sign2 | Apache-2.0 | | -| aws4 | MIT | | -| babel-code-frame | MIT | | -| babel-core | MIT | | -| babel-eslint | MIT | | -| babel-generator | MIT | | -| babel-helper-builder-binary-assignment-operator-visitor | MIT | | -| babel-helper-call-delegate | MIT | | -| babel-helper-define-map | MIT | | -| babel-helper-explode-assignable-expression | MIT | | -| babel-helper-function-name | MIT | | -| babel-helper-get-function-arity | MIT | | -| babel-helper-hoist-variables | MIT | | -| babel-helper-optimise-call-expression | MIT | | -| babel-helper-regex | MIT | | -| babel-helper-remap-async-to-generator | MIT | | -| babel-helper-replace-supers | MIT | | -| babel-helper-vue-jsx-merge-props | MIT | | -| babel-helpers | MIT | | -| babel-loader | MIT | | -| babel-messages | MIT | | -| babel-plugin-check-es2015-constants | MIT | | -| babel-plugin-syntax-async-functions | MIT | | -| babel-plugin-syntax-class-properties | MIT | | -| babel-plugin-syntax-dynamic-import | MIT | | -| babel-plugin-syntax-exponentiation-operator | MIT | | -| babel-plugin-syntax-jsx | MIT | | -| babel-plugin-syntax-object-rest-spread | MIT | | -| babel-plugin-syntax-trailing-function-commas | MIT | | -| babel-plugin-transform-async-to-generator | MIT | | -| babel-plugin-transform-class-properties | MIT | | -| babel-plugin-transform-es2015-arrow-functions | MIT | | -| babel-plugin-transform-es2015-block-scoped-functions | MIT | | -| babel-plugin-transform-es2015-block-scoping | MIT | | -| babel-plugin-transform-es2015-classes | MIT | | -| babel-plugin-transform-es2015-computed-properties | MIT | | -| babel-plugin-transform-es2015-destructuring | MIT | | -| babel-plugin-transform-es2015-duplicate-keys | MIT | | -| babel-plugin-transform-es2015-for-of | MIT | | -| babel-plugin-transform-es2015-function-name | MIT | | -| babel-plugin-transform-es2015-literals | MIT | | -| babel-plugin-transform-es2015-modules-amd | MIT | | -| babel-plugin-transform-es2015-modules-commonjs | MIT | | -| babel-plugin-transform-es2015-modules-systemjs | MIT | | -| babel-plugin-transform-es2015-modules-umd | MIT | | -| babel-plugin-transform-es2015-object-super | MIT | | -| babel-plugin-transform-es2015-parameters | MIT | | -| babel-plugin-transform-es2015-shorthand-properties | MIT | | -| babel-plugin-transform-es2015-spread | MIT | | -| babel-plugin-transform-es2015-sticky-regex | MIT | | -| babel-plugin-transform-es2015-template-literals | MIT | | -| babel-plugin-transform-es2015-typeof-symbol | MIT | | -| babel-plugin-transform-es2015-unicode-regex | MIT | | -| babel-plugin-transform-exponentiation-operator | MIT | | -| babel-plugin-transform-object-rest-spread | MIT | | -| babel-plugin-transform-regenerator | MIT | | -| babel-plugin-transform-remove-console | MIT | | -| babel-plugin-transform-runtime | MIT | | -| babel-plugin-transform-strict-mode | MIT | | -| babel-plugin-transform-vue-jsx | MIT | | -| babel-preset-env | MIT | | -| babel-register | MIT | | -| babel-runtime | MIT | | -| babel-template | MIT | | -| babel-traverse | MIT | | -| babel-types | MIT | | -| babylon | MIT | | -| backo2 | MIT | | -| balanced-match | MIT | | -| base | MIT | | -| base64-arraybuffer | MIT | | -| base64-js | MIT | | -| base64id | MIT | | -| batch | MIT | | -| bcrypt-pbkdf | BSD-3-Clause | | -| better-assert | MIT | | -| big.js | MIT | | -| binary-extensions | MIT | | -| blob | MIT | | -| block-stream | ISC | | -| bluebird | MIT | | -| bn.js | MIT | | -| body-parser | MIT | | -| bonjour | MIT | | -| boolbase | ISC | | -| bootstrap | MIT | | -| brace-expansion | MIT | | -| braces | MIT | | -| brorand | MIT | | -| browserify-aes | MIT | | -| browserify-cipher | MIT | | -| browserify-des | MIT | | -| browserify-rsa | MIT | | -| browserify-sign | ISC | | -| browserify-zlib | MIT | | -| browserslist | MIT | | -| browserstack | MIT | | -| browserstack-local | MIT | | -| buffer | MIT | | -| buffer-alloc | MIT | | -| buffer-alloc-unsafe | MIT | | -| buffer-fill | MIT | | -| buffer-from | MIT | | -| buffer-indexof | MIT | | -| buffer-xor | MIT | | -| builtin-status-codes | MIT | | -| bytes | MIT | | -| cacache | ISC | | -| cache-base | MIT | | -| call-me-maybe | MIT | | -| caller-callsite | MIT | | -| caller-path | MIT | | -| callsite | MIT | | -| callsites | MIT | | -| camel-case | MIT | | -| camelcase | MIT | | -| camelcase-keys | MIT | | -| caniuse-api | MIT | | -| caniuse-db | CC-BY-4.0 | | -| caniuse-lite | CC-BY-4.0 | | -| canvg | MIT | | -| caseless | Apache-2.0 | | -| center-align | MIT | | -| chalk | MIT | | -| chokidar | MIT | | -| chownr | ISC | | -| cipher-base | MIT | | -| circular-json | MIT | | -| clap | MIT | | -| class-utils | MIT | | -| clean-css | MIT | | -| clipboard | MIT | | -| cliui | ISC | | -| clone | MIT | | -| clone-deep | MIT | | -| co | MIT | | -| coa | MIT | | -| code-frame | MIT | | -| code-point-at | MIT | | -| codemirror | MIT | | -| coffee | MIT | | -| coffee-requirejs | MIT | | -| collection-visit | MIT | | -| color | MIT | | -| color-convert | MIT | | -| color-name | MIT | | -| color-string | MIT | | -| colormin | MIT | | -| colors | MIT | | -| combine-lists | MIT | | -| combined-stream | MIT | | -| commander | MIT | | -| commondir | MIT | | -| component-bind | MIT | | -| component-emitter | MIT | | -| component-inherit | MIT | | -| compressible | MIT | | -| compression | MIT | | -| concat-map | MIT | | -| concat-stream | MIT | | -| connect | MIT | | -| connect-history-api-fallback | MIT | | -| console-browserify | MIT | | -| console-control-strings | ISC | | -| consolidate | MIT | | -| constants-browserify | MIT | | -| content-disposition | MIT | | -| content-type | MIT | | -| convert-source-map | MIT | | -| cookie | MIT | | -| cookie-signature | MIT | | -| copy-concurrently | ISC | | -| copy-descriptor | MIT | | -| copy-webpack-plugin | MIT | | -| core-js | MIT | | -| core-util-is | MIT | | -| cosmiconfig | MIT | | -| create-ecdh | MIT | | -| create-hash | MIT | | -| create-hmac | MIT | | -| cross-env | MIT | | -| cross-spawn | MIT | | -| crypto-browserify | MIT | | -| css-color-names | MIT | | -| css-declaration-sorter | MIT | | -| css-loader | MIT | | -| css-select | BSD-like | | -| css-select-base-adapter | MIT | | -| css-selector-tokenizer | MIT | | -| css-tree | MIT | | -| css-unit-converter | MIT | | -| css-what | BSD-2-Clause | | -| cssesc | MIT | | -| cssnano | MIT | | -| cssnano-preset-default | MIT | | -| cssnano-util-get-arguments | MIT | | -| cssnano-util-get-match | MIT | | -| cssnano-util-raw-cache | MIT | | -| cssnano-util-same-parent | MIT | | -| csso | MIT | | -| cssom | MIT | | -| cssstyle | MIT | | -| currently-unhandled | MIT | | -| custom-event | MIT | | -| cyclist | MIT | | -| d | ISC | | -| d3 | BSD-3-Clause | | -| dashdash | MIT | | -| date-format | MIT | | -| date-now | MIT | | -| dateformat | MIT | | -| dayjs | MIT | | -| de-indent | MIT | | -| debug | MIT | | -| decamelize | MIT | | -| decode-uri-component | MIT | | -| deep-equal | MIT | | -| deep-is | MIT | | -| define-properties | MIT | | -| define-property | MIT | | -| defined | MIT | | -| del | MIT | | -| delayed-stream | MIT | | -| delegate | MIT | | -| delegates | MIT | | -| depd | MIT | | -| des.js | MIT | | -| destroy | MIT | | -| detect-indent | MIT | | -| detect-node | ISC | | -| di | MIT | | -| diffie-hellman | MIT | | -| dir-glob | MIT | | -| dns-equal | MIT | | -| dns-packet | MIT | | -| dns-txt | MIT | | -| dom-converter | MIT | | -| dom-serialize | MIT | | -| dom-serializer | MIT | | -| domain-browser | MIT | | -| domelementtype | BSD-2-Clause | | -| domhandler | BSD-2-Clause | | -| domutils | BSD-2-Clause | | -| dot-prop | MIT | | -| dotenv | BSD-2-Clause | | -| duplexer | BSD-2-Clause | | -| duplexify | MIT | | -| ecc-jsbn | MIT | | -| echarts | Apache License Version 2.0 | | -| ee-first | MIT | | -| ejs | Apache-2.0 | | -| electron-to-chromium | ISC | | -| elliptic | MIT | | -| emojis-list | MIT | | -| encodeurl | MIT | | -| end-of-stream | MIT | | -| engine.io | MIT | | -| engine.io-client | MIT | | -| engine.io-parser | MIT | | -| enhanced-resolve | MIT | | -| ent | MIT | | -| entities | BSD-2-Clause | | -| env-parse | ISC | | -| errno | MIT | | -| error-ex | MIT | | -| es-abstract | MIT | | -| es-to-primitive | MIT | | -| es5-ext | ISC | | -| es6-iterator | MIT | | -| es6-map | MIT | | -| es6-promise | MIT | | -| es6-promisify | MIT | | -| es6-set | MIT | | -| es6-symbol | MIT | | -| es6-templates | Apache 2 | | -| es6-weak-map | ISC | | -| escape-html | MIT | | -| escape-string-regexp | MIT | | -| escodegen | BSD-2-Clause | | -| escope | BSD-2-Clause | | -| eslint-scope | BSD-2-Clause | | -| eslint-visitor-keys | Apache-2.0 | | -| esprima | BSD-2-Clause | | -| esrecurse | BSD-2-Clause | | -| estraverse | BSD | | -| esutils | BSD-2-Clause | | -| etag | MIT | | -| event-emitter | MIT | | -| event-stream | MIT | | -| eventemitter3 | MIT | | -| events | MIT | | -| eventsource | MIT | | -| evp_bytestokey | MIT | | -| execa | MIT | | -| expand-braces | MIT | | -| expand-brackets | MIT | | -| expand-range | MIT | | -| extend | MIT | | -| extend-shallow | MIT | | -| extglob | MIT | | -| extract-text-webpack-plugin | MIT | | -| extsprintf | MIT | | -| fast-deep-equal | MIT | | -| fast-glob | MIT | | -| fast-json-stable-stringify | MIT | | -| fast-levenshtein | MIT | | -| fastparse | MIT | | -| faye-websocket | Apache-2.0 | | -| file-loader | MIT | | -| fill-range | MIT | | -| finalhandler | MIT | | -| find-cache-dir | MIT | | -| find-up | MIT | | -| flatted | ISC | | -| flatten | MIT | | -| flush-write-stream | MIT | | -| follow-redirects | MIT | | -| for-in | MIT | | -| for-own | MIT | | -| forever-agent | Apache-2.0 | | -| form-data | MIT | | -| forwarded | MIT | | -| fragment-cache | MIT | | -| fresh | MIT | | -| from | MIT | | -| from2 | MIT | | -| fs-access | MIT | | -| fs-write-stream-atomic | ISC | | -| fs.realpath | ISC | | -| fs.stat | MIT | | -| fstream | ISC | | -| function-bind | MIT | | -| gauge | ISC | | -| gaze | MIT | | -| generator | MIT | | -| get-caller-file | ISC | | -| get-stdin | MIT | | -| get-stream | MIT | | -| get-value | MIT | | -| getpass | MIT | | -| glob | ISC | | -| glob-parent | ISC | | -| glob-to-regexp | BSD | | -| globals | MIT | | -| globby | MIT | | -| globule | MIT | | -| good-listener | MIT | | -| graceful-fs | ISC | | -| handle-thing | MIT | | -| handlebars | MIT | | -| har-schema | ISC | | -| har-validator | MIT | | -| has | MIT | | -| has-ansi | MIT | | -| has-binary2 | MIT | | -| has-cors | MIT | | -| has-flag | MIT | | -| has-symbols | MIT | | -| has-unicode | ISC | | -| has-value | MIT | | -| has-values | MIT | | -| hash-base | MIT | | -| hash-sum | MIT | | -| hash.js | MIT | | -| he | MIT | | -| helper-function-name | MIT | | -| helper-get-function-arity | MIT | | -| helper-split-export-declaration | MIT | | -| hex-color-regex | MIT | | -| highlight | MIT | | -| hmac-drbg | MIT | | -| home-or-tmp | MIT | | -| hosted-git-info | ISC | | -| hpack.js | MIT | | -| hsl-regex | MIT | | -| hsla-regex | MIT | | -| html-comment-regex | MIT | | -| html-entities | MIT | | -| html-loader | MIT | | -| html-minifier | MIT | | -| html-webpack-ext-plugin | MIT | | -| html-webpack-plugin | MIT | | -| html2canvas | MIT | | -| htmlparser2 | MIT | | -| http-deceiver | MIT | | -| http-errors | MIT | | -| http-parser-js | MIT | | -| http-proxy | MIT | | -| http-proxy-middleware | MIT | | -| http-signature | MIT | | -| https-browserify | MIT | | -| https-proxy-agent | MIT | | -| iconv-lite | MIT | | -| icss-replace-symbols | ISC | | -| icss-utils | ISC | | -| ieee754 | BSD-3-Clause | | -| iferr | MIT | | -| ignore | MIT | | -| import-cwd | MIT | | -| import-fresh | MIT | | -| import-from | MIT | | -| import-local | MIT | | -| imurmurhash | MIT | | -| in-publish | ISC | | -| indent-string | MIT | | -| indexes-of | MIT | | -| indexof | MIT | | -| inflight | ISC | | -| inherits | ISC | | -| internal-ip | MIT | | -| interpret | MIT | | -| invariant | MIT | | -| invert-kv | MIT | | -| ip | MIT | | -| ipaddr.js | MIT | | -| is-absolute-url | MIT | | -| is-accessor-descriptor | MIT | | -| is-arrayish | MIT | | -| is-binary-path | MIT | | -| is-buffer | MIT | | -| is-callable | MIT | | -| is-color-stop | MIT | | -| is-data-descriptor | MIT | | -| is-date-object | MIT | | -| is-descriptor | MIT | | -| is-directory | MIT | | -| is-extendable | MIT | | -| is-extglob | MIT | | -| is-finite | MIT | | -| is-fullwidth-code-point | MIT | | -| is-glob | MIT | | -| is-number | MIT | | -| is-obj | MIT | | -| is-path-cwd | MIT | | -| is-path-in-cwd | MIT | | -| is-path-inside | MIT | | -| is-plain-obj | MIT | | -| is-plain-object | MIT | | -| is-regex | MIT | | -| is-resolvable | ISC | | -| is-running | BSD | | -| is-stream | MIT | | -| is-svg | MIT | | -| is-symbol | MIT | | -| is-typedarray | MIT | | -| is-utf8 | MIT | | -| is-windows | MIT | | -| is-wsl | MIT | | -| isarray | MIT | | -| isbinaryfile | MIT | | -| isexe | ISC | | -| isobject | MIT | | -| isstream | MIT | | -| istanbul | BSD-3-Clause | | -| jasmine-core | MIT | | -| jquery | MIT | | -| js-base64 | BSD-3-Clause | | -| js-tokens | MIT | | -| js-yaml | MIT | | -| jsbn | MIT | | -| jsdom | MIT | | -| jsesc | MIT | | -| json-loader | MIT | | -| json-parse-better-errors | MIT | | -| json-schema | cv2.1,BSD | | -| json-schema-traverse | MIT | | -| json-stringify-safe | ISC | | -| json3 | MIT | | -| json5 | MIT | | -| jsplumb | (MIT OR GPL-2.0) | | -| jsprim | MIT | | -| karma | MIT | | -| karma-browserstack-launcher | MIT | | -| karma-chrome-launcher | MIT | | -| karma-coverage | MIT | | -| karma-jasmine | MIT | | -| karma-sourcemap-loader | MIT | | -| karma-spec-reporter | MIT | | -| karma-webpack | MIT | | -| killable | ISC | | -| kind-of | MIT | | -| last-call-webpack-plugin | MIT | | -| lazy-cache | MIT | | -| lcid | MIT | | -| levn | MIT | | -| load-json-file | MIT | | -| loader-runner | MIT | | -| loader-utils | MIT | | -| locate-path | MIT | | -| lodash | MIT | | -| lodash.camelcase | MIT | | -| lodash.memoize | MIT | | -| lodash.tail | MIT | | -| lodash.uniq | MIT | | -| log-symbols | MIT | | -| log4js | Apache-2.0 | | -| loglevel | MIT | | -| loglevelnext | MIT | | -| longest | MIT | | -| loose-envify | MIT | | -| loud-rejection | MIT | | -| lower-case | MIT | | -| lru-cache | ISC | | -| make-dir | MIT | | -| map-cache | MIT | | -| map-obj | MIT | | -| map-stream | MIT | | -| map-visit | MIT | | -| math-expression-evaluator | MIT | | -| md5.js | MIT | | -| mdn-data | CC0-1.0 | | -| media-typer | MIT | | -| mem | MIT | | -| memory-fs | MIT | | -| meow | MIT | | -| merge-descriptors | MIT | | -| merge2 | MIT | | -| methods | MIT | | -| micromatch | MIT | | -| miller-rabin | MIT | | -| mime | MIT | | -| mime-db | MIT | | -| mime-types | MIT | | -| mimic-fn | MIT | | -| minimalistic-assert | ISC | | -| minimalistic-crypto-utils | MIT | | -| minimatch | ISC | | -| minimist | MIT | | -| mississippi | BSD-2-Clause | | -| mixin-deep | MIT | | -| mixin-object | MIT | | -| mkdirp | MIT | | -| move-concurrently | ISC | | -| ms | MIT | | -| multicast-dns | MIT | | -| multicast-dns-service-types | MIT | | -| multirepo | MIT | | -| mylib | ISC | | -| nan | MIT | | -| nanomatch | MIT | | -| negotiator | MIT | | -| neo-async | MIT | | -| next-tick | MIT | | -| nice-try | MIT | | -| no-case | MIT | | -| node-forge | (BSD-3-Clause OR GPL-2.0) | | -| node-gyp | MIT | | -| node-libs-browser | MIT | | -| node-releases | MIT | | -| node-sass | MIT | | -| nopt | ISC | | -| normalize-package-data | BSD-2-Clause | | -| normalize-path | MIT | | -| normalize-range | MIT | | -| normalize-url | MIT | | -| npm-run-path | MIT | | -| npmlog | ISC | | -| nth-check | BSD-2-Clause | | -| null-check | MIT | | -| num2fraction | MIT | | -| number-is-nan | MIT | | -| nwmatcher | MIT | | -| oauth-sign | Apache-2.0 | | -| object-assign | MIT | | -| object-component | MIT | | -| object-copy | MIT | | -| object-keys | MIT | | -| object-visit | MIT | | -| object.assign | MIT | | -| object.getownpropertydescriptors | MIT | | -| object.pick | MIT | | -| object.values | MIT | | -| obuf | MIT | | -| on-finished | MIT | | -| on-headers | MIT | | -| once | ISC | | -| opn | MIT | | -| optimist | MIT/X11 | | -| optimize-css-assets-webpack-plugin | MIT | | -| optionator | MIT | | -| original | MIT | | -| os-browserify | MIT | | -| os-homedir | MIT | | -| os-locale | MIT | | -| os-tmpdir | MIT | | -| osenv | ISC | | -| p-finally | MIT | | -| p-limit | MIT | | -| p-locate | MIT | | -| p-map | MIT | | -| p-try | MIT | | -| package-a | MIT | | -| package-b | MIT | | -| pako | (MIT AND Zlib) | | -| parallel-transform | MIT | | -| param-case | MIT | | -| parse-asn1 | ISC | | -| parse-json | MIT | | -| parse5 | MIT | | -| parseqs | MIT | | -| parseuri | MIT | | -| parseurl | MIT | | -| pascalcase | MIT | | -| path-browserify | MIT | | -| path-dirname | MIT | | -| path-exists | MIT | | -| path-is-absolute | MIT | | -| path-is-inside | (WTFPL OR MIT) | | -| path-key | MIT | | -| path-parse | MIT | | -| path-to-regexp | MIT | | -| path-type | MIT | | -| pause-stream | MIT,Apache2 | | -| pbkdf2 | MIT | | -| performance-now | MIT | | -| pify | MIT | | -| pinkie | MIT | | -| pinkie-promise | MIT | | -| pkg-dir | MIT | | -| portfinder | MIT | | -| posix-character-classes | MIT | | -| postcss | MIT | | -| postcss-calc | MIT | | -| postcss-colormin | MIT | | -| postcss-convert-values | MIT | | -| postcss-discard-comments | MIT | | -| postcss-discard-duplicates | MIT | | -| postcss-discard-empty | MIT | | -| postcss-discard-overridden | MIT | | -| postcss-discard-unused | MIT | | -| postcss-filter-plugins | MIT | | -| postcss-load-config | MIT | | -| postcss-load-options | MIT | | -| postcss-load-plugins | MIT | | -| postcss-loader | MIT | | -| postcss-merge-idents | MIT | | -| postcss-merge-longhand | MIT | | -| postcss-merge-rules | MIT | | -| postcss-message-helpers | MIT | | -| postcss-minify-font-values | MIT | | -| postcss-minify-gradients | MIT | | -| postcss-minify-params | MIT | | -| postcss-minify-selectors | MIT | | -| postcss-modules-extract-imports | ISC | | -| postcss-modules-local-by-default | MIT | | -| postcss-modules-scope | ISC | | -| postcss-modules-values | ISC | | -| postcss-normalize-charset | MIT | | -| postcss-normalize-display-values | MIT | | -| postcss-normalize-positions | MIT | | -| postcss-normalize-repeat-style | MIT | | -| postcss-normalize-string | MIT | | -| postcss-normalize-timing-functions | MIT | | -| postcss-normalize-unicode | MIT | | -| postcss-normalize-url | MIT | | -| postcss-normalize-whitespace | MIT | | -| postcss-ordered-values | MIT | | -| postcss-reduce-idents | MIT | | -| postcss-reduce-initial | MIT | | -| postcss-reduce-transforms | MIT | | -| postcss-selector-parser | MIT | | -| postcss-svgo | MIT | | -| postcss-unique-selectors | MIT | | -| postcss-value-parser | MIT | | -| postcss-zindex | MIT | | -| prelude-ls | MIT | | -| prepend-http | MIT | | -| prettier | MIT | | -| pretty-error | MIT | | -| private | MIT | | -| process | MIT | | -| process-nextick-args | MIT | | -| promise-inflight | ISC | | -| proxy-addr | MIT | | -| prr | MIT | | -| ps-tree | MIT | | -| pseudomap | ISC | | -| psl | MIT | | -| public-encrypt | MIT | | -| pump | MIT | | -| pumpify | MIT | | -| punycode | MIT | | -| q | MIT | | -| qjobs | MIT | | -| qs | BSD-3-Clause | | -| query-string | MIT | | -| querystring | MIT | | -| querystring-es3 | MIT | | -| querystringify | MIT | | -| randombytes | MIT | | -| randomfill | MIT | | -| range-parser | MIT | | -| raw-body | MIT | | -| read-pkg | MIT | | -| read-pkg-up | MIT | | -| readable-stream | MIT | | -| readdir-enhanced | MIT | | -| readdirp | MIT | | -| recast | MIT | | -| redent | MIT | | -| reduce-css-calc | MIT | | -| reduce-function-call | MIT | | -| regenerate | MIT | | -| regenerator-runtime | MIT | | -| regenerator-transform | BSD | | -| regex-not | MIT | | -| regexpu-core | MIT | | -| regjsgen | MIT | | -| regjsparser | BSD | | -| relateurl | MIT | | -| remove-trailing-separator | ISC | | -| renderkid | MIT | | -| repeat-element | MIT | | -| repeat-string | MIT | | -| repeating | MIT | | -| request | Apache-2.0 | | -| require-directory | MIT | | -| require-from-string | MIT | | -| require-main-filename | ISC | | -| requires-port | MIT | | -| resolve | MIT | | -| resolve-cwd | MIT | | -| resolve-from | MIT | | -| resolve-url | MIT | | -| ret | MIT | | -| rfdc | MIT | | -| rgb-regex | MIT | | -| rgba-regex | MIT | | -| rgbcolor | MIT OR SEE LICENSE IN FEEL-FREE.md | | -| right-align | MIT | | -| rimraf | ISC | | -| ripemd160 | MIT | | -| run-queue | ISC | | -| safe-buffer | MIT | | -| safe-regex | MIT | | -| safer-buffer | MIT | | -| sass-graph | MIT | | -| sass-loader | MIT | | -| sax | ISC | | -| schema-utils | MIT | | -| scss-tokenizer | MIT | | -| select | MIT | | -| select-hose | MIT | | -| selfsigned | MIT | | -| semver | ISC | | -| send | MIT | | -| serialize-javascript | BSD-3-Clause | | -| serve-index | MIT | | -| serve-static | MIT | | -| set-blocking | ISC | | -| set-value | MIT | | -| setimmediate | MIT | | -| setprototypeof | ISC | | -| sha.js | (MIT AND BSD-3-Clause) | | -| shallow-clone | MIT | | -| shebang-command | MIT | | -| shebang-regex | MIT | | -| signal-exit | ISC | | -| simple-swizzle | MIT | | -| slash | MIT | | -| snapdragon | MIT | | -| snapdragon-node | MIT | | -| snapdragon-util | MIT | | -| socket.io | MIT | | -| socket.io-adapter | MIT | | -| socket.io-client | MIT | | -| socket.io-parser | MIT | | -| sockjs | MIT | | -| sockjs-client | MIT | | -| sort-keys | MIT | | -| source-list-map | MIT | | -| source-map | BSD-3-Clause | | -| source-map-resolve | MIT | | -| source-map-support | MIT | | -| source-map-url | MIT | | -| spdx-correct | Apache-2.0 | | -| spdx-exceptions | CC-BY-3.0 | | -| spdx-expression-parse | MIT | | -| spdx-license-ids | CC0-1.0 | | -| spdy | MIT | | -| spdy-transport | MIT | | -| split | MIT | | -| split-string | MIT | | -| sprintf-js | BSD-3-Clause | | -| sshpk | MIT | | -| ssri | ISC | | -| stable | MIT | | -| stackblur-canvas | MIT | | -| static-extend | MIT | | -| statuses | MIT | | -| stdout-stream | MIT | | -| stream-browserify | MIT | | -| stream-combiner | MIT | | -| stream-each | MIT | | -| stream-http | MIT | | -| stream-shift | MIT | | -| streamroller | MIT | | -| strict-uri-encode | MIT | | -| string-width | MIT | | -| string_decoder | MIT | | -| strip-ansi | MIT | | -| strip-bom | MIT | | -| strip-eof | MIT | | -| strip-indent | MIT | | -| stylehacks | MIT | | -| supports-color | MIT | | -| svgo | MIT | | -| symbol-tree | MIT | | -| tapable | MIT | | -| tar | ISC | | -| temp-fs | MIT | | -| template | MIT | | -| through | MIT | | -| through2 | MIT | | -| thunky | MIT | | -| time-stamp | MIT | | -| timers-browserify | MIT | | -| timsort | MIT | | -| tiny-emitter | MIT | | -| tmp | MIT | | -| to-array | MIT | | -| to-arraybuffer | MIT | | -| to-fast-properties | MIT | | -| to-object-path | MIT | | -| to-regex | MIT | | -| to-regex-range | MIT | | -| toidentifier | MIT | | -| tools | MIT | | -| toposort | MIT | | -| tough-cookie | BSD-3-Clause | | -| tr46 | MIT | | -| traverse | MIT | | -| trim-newlines | MIT | | -| trim-right | MIT | | -| true-case-path | Apache-2.0 | | -| tty-browserify | MIT | | -| tunnel-agent | Apache-2.0 | | -| tweetnacl | The Unlicense | | -| type | ISC | | -| type-check | MIT | | -| type-is | MIT | | -| typedarray | MIT | | -| types | MIT | | -| uglify-es | BSD-2-Clause | | -| uglify-js | BSD-2-Clause | | -| uglify-to-browserify | MIT | | -| uglifyjs-webpack-plugin | MIT | | -| ultron | MIT | | -| union-value | MIT | | -| uniq | MIT | | -| uniqs | MIT | | -| unique-filename | ISC | | -| unique-slug | ISC | | -| unpipe | MIT | | -| unquote | MIT | | -| unset-value | MIT | | -| upath | MIT | | -| upper-case | MIT | | -| uri-js | BSD-2-Clause | | -| urix | MIT | | -| url | MIT | | -| url-join | MIT | | -| url-loader | MIT | | -| url-parse | MIT | | -| use | MIT | | -| useragent | MIT | | -| util | MIT | | -| util-deprecate | MIT | | -| util.promisify | MIT | | -| utila | MIT | | -| utils-merge | MIT | | -| uuid | MIT | | -| validate-npm-package-license | Apache-2.0 | | -| vary | MIT | | -| vendors | MIT | | -| verror | MIT | | -| vm-browserify | MIT | | -| void-elements | MIT | | -| vue | MIT | | -| vue-hot-reload-api | MIT | | -| vue-loader | MIT | | -| vue-router | MIT | | -| vue-style-loader | MIT | | -| vue-template-compiler | MIT | | -| vue-template-es2015-compiler | MIT | | -| vuex | MIT | | -| vuex-router-sync | MIT | | -| watchpack | MIT | | -| wbuf | MIT | | -| webidl-conversions | BSD-2-Clause | | -| webpack | MIT | | -| webpack-dev-middleware | MIT | | -| webpack-dev-server | MIT | | -| webpack-log | MIT | | -| webpack-merge | MIT | | -| webpack-sources | MIT | | -| websocket-driver | Apache-2.0 | | -| websocket-extensions | MIT | | -| whatwg-url | MIT | | -| whet.extend | MIT | | -| which | ISC | | -| which-module | ISC | | -| wide-align | ISC | | -| window-size | MIT | | -| wordwrap | MIT/X11 | | -| worker-farm | MIT | | -| wrap-ansi | MIT | | -| wrappy | ISC | | -| ws | MIT | | -| xml-name-validator | WTFPL | | -| xmldom | MIT,LGPL | will remove | -| xmlhttprequest-ssl | MIT | | -| xtend | MIT | | -| y18n | ISC | | -| yallist | ISC | | -| yargs | MIT | | -| yargs-parser | ISC | | -| yeast | MIT | | -| zrender | BSD | | - - - -## Required Resources - -### Git Repositories - -- -- - -### Issue Tracking +EasyScheduler-notifications: for users notifications -The community would like to continue using GitHub Issues. +Initial Committers -### Continuous Integration tool +William-GuoWei -Travis (TODO) +Lidong Dai -### Mailing Lists +Zhanwei Qiao -- EasyScheduler-dev: for development discussions -- EasyScheduler-private: for PPMC discussions -- EasyScheduler-notifications: for users notifications +Liang Bao -## Initial Committers +Gang Li -- William-GuoWei -- Lidong Dai -- Zhanwei Qiao -- Liang Bao -- Gang Li -- Zijian Gong -- Jun Gao -- Baoqi Wu +Zijian Gong -## Affiliations +Jun Gao -- Analysys: William-GuoWei,Zhanwei Qiao,Liang Bao,Gang Li,Jun Gao,Lidong Dai +Baoqi Wu -- Hydee: Zijian Gong +Affiliations -- Guandata: Baoqi Wu +Analysys: William-GuoWei,Zhanwei Qiao,Liang Bao,Gang Li,Jun Gao,Lidong Dai - +Hydee: Zijian Gong -## Sponsors +Guandata: Baoqi Wu -### Champion +Sponsors -- Sheng Wu ( Apache Software Foundation Member [wusheng@apache.org](mailto:wusheng@apache.org)) +Champion -### Mentors +Sheng Wu ( Apache Software Foundation Member wusheng@apache.org) -- Sheng Wu ( Apache Software Foundation Member [wusheng@apache.org](mailto:wusheng@apache.org)) +Mentors -- ShaoFeng Shi ( Apache Software Foundation Incubator PMC [wusheng@apache.org](mailto:wusheng@apache.org)) +Sheng Wu ( Apache Software Foundation Member wusheng@apache.org) -- Liang Chen ( Apache Software Foundation Member chenliang613@apache.org](mailto:chenliang613@apache.org)) +ShaoFeng Shi ( Apache Kylin committer & PMC, Apache Incubator PMC, shaofengshi@apache.org) - +Liang Chen ( Apache Software Foundation Member chenliang613@apache.org](mailto:chenliang613@apache.org)) -### Sponsoring Entity +Sponsoring Entity We are expecting the Apache Incubator could sponsor this project. - - - From a4860dbd5f7500cae40b709da96313e42454cf32 Mon Sep 17 00:00:00 2001 From: "Guo Wei (William)" Date: Mon, 12 Aug 2019 22:07:29 +0800 Subject: [PATCH 5/8] Update EasyScheduler Proposal.md --- docs/en_US/EasyScheduler Proposal.md | 2672 +++++++++++++------------- 1 file changed, 1338 insertions(+), 1334 deletions(-) diff --git a/docs/en_US/EasyScheduler Proposal.md b/docs/en_US/EasyScheduler Proposal.md index dbeeab4a8c..ca6c35e573 100644 --- a/docs/en_US/EasyScheduler Proposal.md +++ b/docs/en_US/EasyScheduler Proposal.md @@ -1,1458 +1,1462 @@ -EasyScheduler Proposal -Abstract +# EasyScheduler Proposal -EasyScheduler is a distributed ETL scheduling engine with powerful DAG visualization interface. EasyScheduler focuses on solving the problem of 'complex task dependencies & triggers ' in data processing. Just like its name, we dedicated to making the scheduling system out of the box. +## Abstract -Proposal +EasyScheduler is a distributed ETL scheduling engine with powerful DAG visualization interface. EasyScheduler focuses on solving the problem of 'complex task dependencies & triggers ' in data processing. Just like its name, we dedicated to making the scheduling system `out of the box`. + +## Proposal EasyScheduler provides many easy-to-use features to accelerate the engineer enficiency on data ETL workflow job. We propose a new concept of 'instance of process' and 'instance of task' to let developers to tuning their jobs on the running state of workflow instead of changing the task's template. EasyScheduler DAG UI also let data engineer easily add or change a ETL job in a complex schedulnig system. Its main objectives are as follows: -Define the complex tasks' dependencies & triggers in a DAG graph by dragging and dropping . DAG graph can also show the running state of task in real time. +- Define the complex tasks' dependencies & triggers in a DAG graph by dragging and dropping . DAG graph can also show the running state of task in real time. + +- Define the process result dependencies besides DAG dependencies, e.g. weekly job depends on the success of last 7 daily job. -Define the process result dependencies besides DAG dependencies, e.g. weekly job depends on the success of last 7 daily job. +- Support cluster HA, and implement distributed Master clusters and Worker clusters base on Zookeeper services. -Support cluster HA, and implement distributed Master clusters and Worker clusters base on Zookeeper services. +- Support multi-tenant -Support multi-tenant +- Support automatical failure job retry and recovery from specified nodes by pre-define rules. -Support automatical failure job retry and recovery from specified nodes by pre-define rules. +- Support parallel or serial backfilling data instead of duplicated maintainence work. -Support parallel or serial backfilling data instead of duplicated maintainence work. +- Support many data task types: Shell, MapReduce, Spark, SQL (mysql, postgresql, hive, sparksql), Python, Sub_Process, Stored Procedure, etc. -Support many data task types: Shell, MapReduce, Spark, SQL (mysql, postgresql, hive, sparksql), Python, Sub_Process, Stored Procedure, etc. +- Support process running history tree/gantt chart display, support task status statistics, process status statistics. -Support process running history tree/gantt chart display, support task status statistics, process status statistics. +- Support process scheduling, manual scheduling, also support manual pause/stop/recovery, killing task on runnning time. -Support process scheduling, manual scheduling, also support manual pause/stop/recovery, killing task on runnning time. +- Support define process priority, task priority and relative task timeout alarm. -Support define process priority, task priority and relative task timeout alarm. +- Support process global parameters and node specified parameter settings. -Support process global parameters and node specified parameter settings. +- Support online upload/download/manage resource files and also support online file creation and editing. -Support online upload/download/manage resource files and also support online file creation and editing. +- Support task log online viewing and scrolling, online download log, etc. -Support task log online viewing and scrolling, online download log, etc. +- Support online viewing of `Master/Worker` cpu load, memory, etc. -Support online viewing of Master/Worker cpu load, memory, etc. + For now, EasyScheduler has a fairly huge community in China. -It is also widely adopted by many companies and organizations as its ETL scheduling tool. +It is also widely adopted by many [companies and organizations](https://github.com/analysys/EasyScheduler/issues/57) as its ETL scheduling tool. We believe that bringing EasyScheduler into ASF could advance development of a much more stronger and more diverse open source community. Analysys submits this proposal to donate EasyScheduler's source codes and all related documentations to Apache Software Foundation. The codes are already under Apache License Version 2.0. -Code base: https://www.github.com/analysys/easyscheduler +- Code base: https://www.github.com/analysys/easyscheduler +- Documentations: -Documentations: https://analysys.github.io/easyscheduler_docs - -Background +## Background We want to find a data processing tool with the following features: -Easy to use,developers can build a ETL process with a very simple drag and drop operation. not only for ETL developers,people who can't write ETL code also can use this tool for ETL operation such as system adminitrator. - -Support HA and automatically change master and worker node to keep whole system stable. - -Solving the problem of "complex task dependencies" , and it can monitor the ETL running status. - -Support multi-tenant. - -Support many task types: Shell, MR, Spark, SQL (mysql, postgresql, hive, sparksql), Python, Sub_Process, Procedure, etc. - -Linear scalability. +- Easy to use,developers can build a ETL process with a very simple drag and drop operation. not only for ETL developers,people who can't write ETL code also can use this tool for ETL operation such as system adminitrator. +- Support HA and automatically change master and worker node to keep whole system stable. +- Solving the problem of "complex task dependencies" , and it can monitor the ETL running status. +- Support multi-tenant. +- Support many task types: Shell, MR, Spark, SQL (mysql, postgresql, hive, sparksql), Python, Sub_Process, Procedure, etc. +- Linear scalability. For the above reasons, we realized that no existing product met our requirements, so we decided to develop this tool ourselves. We designed EasyScheduler at the end of 2017. The first internal use version was completed in May 2018. We then iterated several internal versions and the system gradually became stabilized. -Then we open the source code of EasyScheduler on March 2019. It soon gained lot's of ETL developers interest and stars on github. Then it won the GVP (Gitee Most Valuable Project) in April 2019 and our key member was invited to GAIC Summit 2019 for speech on June 2019. +Then we open the source code of EasyScheduler on March 2019. It soon gained lot's of ETL developers interest and stars on github. Then it won the `GVP` (Gitee Most Valuable Project) in April 2019 and our key member was invited to GAIC Summit 2019 for speech on June 2019. -Rationale +## Rationale -Many organizations (>30) (refer to Who is using EasyScheduler ) already benefit from running EasyScheduler to make data process pipelines more easier. More than 100 feature ideas come from EasyScheduler community. Some 3th projects also wanted to integrate with EasyScheduler through task plugin, like Scriptis 、waterdrop and so on. these will strengthen the features of EasyScheduler. +Many organizations (>30) (refer to [Who is using EasyScheduler](https://github.com/analysys/EasyScheduler/issues/57) ) already benefit from running EasyScheduler to make data process pipelines more easier. More than 100 [feature ideas](https://github.com/analysys/EasyScheduler/projects/1) come from EasyScheduler community. Some 3th projects also wanted to integrate with EasyScheduler through task plugin, like [Scriptis](https://github.com/WeBankFinTech/Scriptis) 、[waterdrop](https://github.com/InterestingLab/waterdrop) and so on. these will strengthen the features of EasyScheduler. -Current Status +## Current Status -Meritocracy +### Meritocracy EasyScheduler was incubated at Analysys in 2017 and open sourced on GitHub in March 2019. Once open source,We have been quickly adopted by multiple organizations,EasyScheduler has contributors and users from many companies; we have set up the PMC Team and Committer Team. New contributors are guided and reviewed by existed PMC members. When they are ready, PMC will start a vote to promote him/her to become a member of PMC or Committer Team. Contributions are always welcomed and highly valued. -Community +### Community Now we have set development teams for EasyScheduler in Analysys, and we already have external developers who contributed the code. We already have a user group of more than 1,000 people. We hope to grow the base of contributors by inviting all those who offer contributions through The Apache Way. Right now, we make use of github as code hosting as well as gitter for community communication. -Core Developers +### Core Developers The core developers, including experienced open source developers and team leaders, have formed a group full of diversity. All of these core developers have deep expertise in workflow processing and the Hadoop Ecosystem in general. -Known Risks +## Known Risks -Orphaned products +### Orphaned products -EasyScheduler is widely adopted in China by many companies and organizations. The core developers of EasyScheduler team plan to work full time on this project. Currently there are 10 use cases with more that 1000 activity tasks per day using EasyScheduler in the user's production environment. Furthermore, since EasyScheduler has received more than 1500 stars and been forked more than 500 times. EasyScheduler has eight major release so far and and received 365 pull requests from contributors, which further demonstrates EasyScheduler as a very active project. We plan to extend and diversify this community further through Apache. +EasyScheduler is widely adopted in China by many [companies and organizations](https://github.com/analysys/EasyScheduler/issues/57). The core developers of EasyScheduler team plan to work full time on this project. Currently there are 10 use cases with more that 1000 activity tasks per day using EasyScheduler in the user's production environment. Furthermore, since EasyScheduler has received more than 1500 stars and been forked more than 500 times. EasyScheduler has eight major release so far and and received 365 pull requests from contributors, which further demonstrates EasyScheduler as a very active project. We plan to extend and diversify this community further through Apache. Thus, it is very unlikely that EasyScheduler becomes orphaned. -Inexperience with Open Source +### Inexperience with Open Source The core developers are all active users and followers of open source. They are already committers and contributors to the EasyScheduler Github project. All have been involved with the source code that has been released under an open source license, and several of them also have experience developing code in an open source environment, they are also active in presto, alluxio and other projects. Therefore, we believe we have enough experience to deal with open source. -Homogenous Developers +### Homogenous Developers The current developers work across a variety of organizations including Analysys, guandata and hydee; some individual developers are accepted as developers of EasyScheduler as well. Considering that fengjr and sefonsoft have shown great interest in EasyScheduler, we plan to encourage them to contribute and invite them as contributors to work together. -Reliance on Salaried Developers +### Reliance on Salaried Developers At present, eight of the core developers are paid by their employer to contribute to EasyScheduler project. we also find some developers and researchers (>8) to contribute to the project, and we will make efforts to increase the diversity of the contributors and actively lobby for Domain experts in the workflow space to contribute. -Relationships with Other Apache Products +### Relationships with Other Apache Products EasyScheduler integrates Apache Zookeeper as one of the service registration/discovery mechanisms. EasyScheduler is deeply integrated with Apache products. It currently support many task types like Apache Hive, Apache Spark, Apache Hadoop, and so on -A Excessive Fascination with the Apache Brand +### A Excessive Fascination with the Apache Brand We recognize the value and reputation that the Apache brand will bring to EasyScheduler. However, we prefer that the community provided by the Apache Software Foundation will enable the project to achieve long-term stable development. so EasyScheduler is proposing to enter incubation at Apache in order to help efforts to diversify the community, not so much to capitalize on the Apache brand. -Documentation +## Documentation A complete set of Sharding-Sphere documentations is provided on shardingsphere.io in both English and Simplified Chinese. -English +- [English](https://github.com/analysys/easyscheduler_docs/en_US) +- [Chinese](https://github.com/analysys/easyscheduler_docs/zh_CN) -Chinese - -Initial Source +## Initial Source The project consists of two distinct codebases: core and document. The address of two existed git repositories are as follows: -https://github.com/analysys/easyscheduler +- + +- -https://github.com/analysys/easyscheduler_docs + -Source and Intellectual Property Submission Plan +## Source and Intellectual Property Submission Plan As soon as EasyScheduler is approved to join Apache Incubator, Analysys will execute a Software Grant Agreement and the source code will be transitioned onto ASF infrastructure. The code is already licensed under the Apache Software License, version 2.0. -External Dependencies +## External Dependencies As all backend code dependencies are managed using Apache Maven, none of the external libraries need to be packaged in a source distribution. Most of dependencies have Apache compatible licenses,and the detail as follows: -Backend Dependency - -Dependency License Comments -activation-1.1.jar CDDL v1.0 -adal4j-1.0.0.jar Apache V2.0 -ant-1.6.5.jar Apache V2.0 -antlr-2.7.7.jar BSD -antlr-runtime-3.4.jar BSD License -aopalliance-1.0.jar Public Domain -apacheds-i18n-2.0.0-M15.jar Apache V2.0 -apacheds-kerberos-codec-2.0.0-M15.jar Apache V2.0 -apache-el-8.5.35.1.jar Apache V2.0 -api-asn1-api-1.0.0-M20.jar Apache V2.0 -api-util-1.0.0-M20.jar Apache V2.0 -asm-3.1.jar BSD License -aspectjweaver-1.9.2.jar Eclipse Public License - v 1.0 -aws-java-sdk-1.7.4.jar Apache V2.0 -azure-core-0.9.3.jar Apache V2.0 -azure-keyvault-0.9.3.jar Apache V2.0 -bcprov-jdk15on-1.51.jar Bouncy Castle Licence -bonecp-0.8.0.RELEASE.jar Apache v2 -byte-buddy-1.9.10.jar Apache V2.0 -c3p0-0.9.1.1.jar GNU LESSER GENERAL PUBLIC LICENSE will remove -classmate-1.4.0.jar Apache V2.0 -clickhouse-jdbc-0.1.52.jar Apache V2.0 -commons-cli-1.2.jar Apache V2.0 -commons-codec-1.6.jar Apache V2.0 -commons-collections-3.2.2.jar Apache V2.0 -commons-collections4-4.1.jar Apache V2.0 -commons-compress-1.4.1.jar Apache V2.0 -commons-configuration-1.10.jar Apache V2.0 -commons-daemon-1.0.13.jar Apache V2.0 -commons-dbcp-1.4.jar Apache V2.0 -commons-email-1.2.jar Apache V2.0 -commons-httpclient-3.0.1.jar Apache License -commons-io-2.4.jar Apache V2.0 -commons-lang-2.3.jar Apache V2.0 -commons-lang3-3.5.jar Apache V2.0 -commons-logging-1.1.1.jar Apache V2.0 -commons-math-2.2.jar Apache V2.0 -commons-pool-1.6.jar Apache V2.0 -cron-utils-5.0.5.jar Apache V2.0 -curator-client-2.12.0.jar Apache V2.0 -curator-framework-2.12.0.jar Apache V2.0 -curator-recipes-2.12.0.jar Apache V2.0 -datanucleus-api-jdo-4.2.1.jar Apache V2.0 -datanucleus-core-4.1.6.jar Apache V2.0 -datanucleus-rdbms-4.1.7.jar Apache V2.0 -derby-10.14.2.0.jar Apache V2.0 -disruptor-3.3.0.jar Apache V2.0 -druid-1.1.14.jar Apache V2.0 -error_prone_annotations-2.1.2.jar Apache V2.0 -fastjson-1.2.29.jar Apache V2.0 -fastutil-6.5.6.jar Apache V2.0 -findbugs-annotations-1.3.9-1.jar Apache V2.0 -freemarker-2.3.21.jar Apache V2.0 -grpc-context-1.9.0.jar Apache V2.0 -grpc-core-1.9.0.jar Apache V2.0 -grpc-netty-1.9.0.jar Apache V2.0 -grpc-protobuf-1.9.0.jar Apache V2.0 -grpc-protobuf-lite-1.9.0.jar Apache V2.0 -grpc-stub-1.9.0.jar Apache V2.0 -gson-2.8.5.jar Apache V2.0 -guava-20.0.jar Apache V2.0 -guice-3.0.jar Apache V2.0 -guice-assistedinject-3.0.jar Apache V2.0 -guice-servlet-3.0.jar Apache V2.0 -hadoop-annotations-2.7.3.jar Apache V2.0 -hadoop-auth-2.7.3.jar Apache V2.0 -hadoop-aws-2.7.3.jar Apache V2.0 -hadoop-client-2.7.3.jar Apache V2.0 -hadoop-common-2.7.3.jar Apache V2.0 -hadoop-hdfs-2.7.3.jar Apache V2.0 -hadoop-mapreduce-client-app-2.7.3.jar Apache V2.0 -hadoop-mapreduce-client-common-2.7.3.jar Apache V2.0 -hadoop-mapreduce-client-core-2.7.3.jar Apache V2.0 -hadoop-mapreduce-client-jobclient-2.7.3.jar Apache V2.0 -hadoop-yarn-api-2.7.3.jar Apache V2.0 -hadoop-yarn-client-2.7.3.jar Apache V2.0 -hadoop-yarn-common-2.7.3.jar Apache V2.0 -hadoop-yarn-registry-2.7.1.jar Apache V2.0 -hadoop-yarn-server-applicationhistoryservice-2.6.0.jar Apache V2.0 -hadoop-yarn-server-common-2.7.3.jar Apache V2.0 -hadoop-yarn-server-resourcemanager-2.6.0.jar Apache V2.0 -hadoop-yarn-server-web-proxy-2.6.0.jar Apache V2.0 -hbase-annotations-1.1.1.jar Apache V2.0 -hbase-client-1.1.1.jar Apache V2.0 -hbase-common-1.1.1.jar Apache V2.0 -hbase-common-1.1.1-tests.jar Apache License Version 2.0 -hbase-hadoop2-compat-1.1.1.jar Apache V2.0 -hbase-hadoop-compat-1.1.1.jar Apache V2.0 -hbase-prefix-tree-1.1.1.jar Apache V2.0 -hbase-procedure-1.1.1.jar Apache V2.0 -hbase-protocol-1.1.1.jar Apache V2.0 -hbase-server-1.1.1.jar Apache V2.0 -hibernate-validator-6.0.14.Final.jar Apache License 2.0 -HikariCP-3.2.0.jar Apache V2.0 -hive-common-2.1.0.jar Apache V2.0 -hive-jdbc-2.1.0.jar Apache V2.0 -hive-llap-client-2.1.0.jar Apache V2.0 -hive-llap-common-2.1.0.jar Apache V2.0 -hive-llap-server-2.1.0.jar Apache V2.0 -hive-llap-tez-2.1.0.jar Apache V2.0 -hive-metastore-2.1.0.jar Apache V2.0 -hive-orc-2.1.0.jar Apache V2.0 -hive-serde-2.1.0.jar Apache V2.0 -hive-service-2.1.0.jar Apache V2.0 -hive-service-rpc-2.1.0.jar Apache V2.0 -hive-shims-0.23-2.1.0.jar Apache V2.0 -hive-shims-2.1.0.jar Apache V2.0 -hive-shims-common-2.1.0.jar Apache V2.0 -hive-shims-scheduler-2.1.0.jar Apache V2.0 -hive-storage-api-2.1.0.jar Apache V2.0 -htrace-core-3.1.0-incubating.jar Apache V2.0 -httpclient-4.4.1.jar Apache V2.0 -httpcore-4.4.1.jar Apache V2.0 -httpmime-4.5.7.jar Apache V2.0 -instrumentation-api-0.4.3.jar Apache V2.0 -jackson-annotations-2.9.8.jar Apache V2.0 -jackson-core-2.9.8.jar Apache V2.0 -jackson-core-asl-1.9.13.jar Apache V2.0 -jackson-databind-2.9.8.jar Apache V2.0 -jackson-datatype-jdk8-2.9.8.jar Apache V2.0 -jackson-datatype-jsr310-2.9.8.jar Apache V2.0 -jackson-jaxrs-1.8.3.jar GNU Lesser General Public License (LGPL), Version 2.1 Apache V2.0 will remove -jackson-mapper-asl-1.9.13.jar Apache V2.0 -jackson-module-parameter-names-2.9.8.jar Apache V2.0 -jackson-xc-1.8.3.jar GNU Lesser General Public License (LGPL), Version 2.1 Apache V2.0 will remove -jamon-runtime-2.3.1.jar Mozilla Public License Version 1.1 MPL1.1 -jasper-compiler-5.5.23.jar Apache V2.0 -javax.activation-api-1.2.0.jar CDDL/GPLv2+CE will remove -javax.annotation-api-1.3.2.jar CDDL + GPLv2 with classpath exception will remove -javax.inject-1.jar Apache V2.0 -javax.jdo-3.2.0-m3.jar Apache V2.0 -java-xmlbuilder-0.4.jar Apache V2.0 -javax.servlet-api-3.1.0.jar CDDL + GPLv2 with classpath exception will remove -javolution-5.5.1.jar BSD License -jaxb-*.jar (CDDL 1.1) (GPL2 w/ CPE) will remove -jboss-logging-3.3.2.Final.jar Apache V2.0 -jcip-annotations-1.0.jar Public -jcodings-1.0.8.jar MIT -jcommander-1.30.jar Apache V2.0 -jdo-api-3.0.1.jar Apache V2.0 -jersey-*-1.9.jar CDDL+GPLv2 will remove -jets3t-0.9.0.jar Apache V2.0 -jettison-1.1.jar Apache V2.0 -jetty-6.1.26.jar Apache V2.0,EPL 1.0 -jetty-continuation-9.4.14.v20181114.jar Apache V2.0,EPL 1.0 -jetty-http-9.4.14.v20181114.jar Apache V2.0,EPL 1.0 -jetty-io-9.4.14.v20181114.jar Apache V2.0,EPL 1.0 -jetty-security-9.4.14.v20181114.jar Apache V2.0,EPL 1.0 -jetty-server-9.4.14.v20181114.jar Apache V2.0,EPL 1.0 -jetty-servlet-9.4.14.v20181114.jar Apache V2.0,EPL 1.0 -jetty-servlets-9.4.14.v20181114.jar Apache V2.0,EPL 1.0 -jetty-sslengine-6.1.26.jar Apache V2.0 -jetty-util-6.1.26.jar Apache V2.0,EPL 1.0 -jetty-util-9.4.14.v20181114.jar Apache V2.0,EPL 1.0 -jetty-webapp-9.4.14.v20181114.jar Apache V2.0,EPL 1.0 -jetty-xml-9.4.14.v20181114.jar Apache V2.0,EPL 1.0 -jline-0.9.94.jar BSD -jna-4.5.2.jar Apache V2.0,LGPL 2.1 will remove -jna-platform-4.5.2.jar Apache V2.0,LGPL 2.1 will remove -joda-time-2.10.1.jar Apache V2.0 -joni-2.1.2.jar MIT -jpam-1.1.jar Apache V2.0 -jsch-0.1.42.jar BSD -json-smart-1.1.1.jar Apache V2.0 -json-smart-2.3.jar Apache V2.0 -jsp-2.1-6.1.14.jar CDDL 1.0 -jsp-api-2.x.jar CDDL,GPL 2.0 will remove -jsp-api-2.1-6.1.14.jar Apache V2.0 -jsr305-3.0.0.jar Apache V2.0 -jta-1.1.jar CDDL 1.0 -jul-to-slf4j-1.7.25.jar MIT -lang-tag-1.4.jar Apache V2.0 -leveldbjni-all-1.8.jar BSD 3-clause -libfb303-0.9.3.jar Apache V2.0 -libthrift-0.9.3.jar Apache V2.0 -log4j-1.2.17.jar Apache V2.0 -log4j-1.2-api-2.11.2.jar Apache V2.0 -log4j-api-2.11.2.jar Apache V2.0 -log4j-core-2.11.2.jar Apache V2.0 -log4j-web-2.11.2.jar Apache V2.0 -logback-x.jar dual-license EPL 1.0,LGPL 2.1 -lz4-1.3.0.jar Apache V2.0 -mail-1.4.5.jar CDDL+GPLv2 will remove -mapstruct-1.2.0.Final.jar Apache V2.0 -metrics-core-2.2.0.jar Apache V2.0 -mssql-jdbc-6.1.0.jre8.jar MIT -mybatis-3.5.1.jar Apache V2.0 -mybatis-spring-2.0.1.jar Apache V2.0 -mybatis-spring-boot-autoconfigure-2.0.1.jar Apache V2.0 -mybatis-spring-boot-starter-2.0.1.jar Apache V2.0 -mysql-connector-java-5.1.34.jar GPL 2.0 will remove -netty-buffer-4.1.33.Final.jar Apache V2.0 -netty-codec-4.1.33.Final.jar Apache V2.0 -netty-codec-http2-4.1.33.Final.jar Apache V2.0 -netty-codec-http-4.1.33.Final.jar Apache V2.0 -netty-codec-socks-4.1.33.Final.jar Apache V2.0 -netty-common-4.1.33.Final.jar Apache V2.0 -netty-handler-4.1.33.Final.jar Apache V2.0 -netty-handler-proxy-4.1.33.Final.jar Apache V2.0 -netty-resolver-4.1.33.Final.jar Apache V2.0 -netty-transport-4.1.33.Final.jar Apache V2.0 -nimbus-jose-jwt-3.1.2.jar Apache V2.0 -oauth2-oidc-sdk-4.5.jar Apache V2.0 -opencensus-api-0.10.0.jar Apache V2.0 -opencensus-contrib-grpc-metrics-0.10.0.jar Apache V2.0 -opencsv-2.3.jar Apache V2.0 -oshi-core-3.5.0.jar EPL 1.0 -parquet-hadoop-bundle-1.8.1.jar Apache V2.0 -poi-3.17.jar Apache V2.0 -postgresql-42.1.4.jar BSD 2-clause -protobuf-java-3.5.1.jar BSD 3-clause -protobuf-java-util-3.5.1.jar BSD 3-clause -proto-google-common-protos-1.0.0.jar Apache V2.0 -quartz-2.2.3.jar Apache V2.0 -quartz-jobs-2.2.3.jar Apache V2.0 -slf4j-api-1.7.5.jar MIT -slider-core-0.90.2-incubating.jar Apache V2.0 -snakeyaml-1.23.jar Apache V2.0 -snappy-0.2.jar Apache V2.0 -spring-aop-5.1.5.RELEASE.jar Apache V2.0 -spring-beans-5.1.5.RELEASE.jar Apache V2.0 -spring-boot-2.1.3.RELEASE.jar Apache V2.0 -spring-boot-autoconfigure-2.1.3.RELEASE.jar Apache V2.0 -spring-boot-starter-2.1.3.RELEASE.jar Apache V2.0 -spring-boot-starter-aop-2.1.3.RELEASE.jar Apache V2.0 -spring-boot-starter-jdbc-2.1.3.RELEASE.jar Apache V2.0 -spring-boot-starter-jetty-2.1.3.RELEASE.jar Apache V2.0 -spring-boot-starter-json-2.1.3.RELEASE.jar Apache V2.0 -spring-boot-starter-logging-2.1.3.RELEASE.jar Apache V2.0 -spring-boot-starter-web-2.1.3.RELEASE.jar Apache V2.0 -spring-context-5.1.5.RELEASE.jar Apache V2.0 -spring-core-5.1.5.RELEASE.jar Apache V2.0 -spring-expression-5.1.5.RELEASE.jar Apache V2.0 -springfox-core-2.9.2.jar Apache V2.0 -springfox-schema-2.9.2.jar Apache V2.0 -springfox-spi-2.9.2.jar Apache V2.0 -springfox-spring-web-2.9.2.jar Apache V2.0 -springfox-swagger2-2.9.2.jar Apache V2.0 -springfox-swagger-common-2.9.2.jar Apache V2.0 -springfox-swagger-ui-2.9.2.jar Apache V2.0 -spring-jcl-5.1.5.RELEASE.jar Apache V2.0 -spring-jdbc-5.1.5.RELEASE.jar Apache V2.0 -spring-plugin-core-1.2.0.RELEASE.jar Apache V2.0 -spring-plugin-metadata-1.2.0.RELEASE.jar Apache V2.0 -spring-tx-5.1.5.RELEASE.jar Apache V2.0 -spring-web-5.1.5.RELEASE.jar Apache V2.0 -spring-webmvc-5.1.5.RELEASE.jar Apache V2.0 -stringtemplate-3.2.1.jar BSD -swagger-annotations-1.5.20.jar Apache V2.0 -swagger-bootstrap-ui-1.9.3.jar Apache V2.0 -swagger-models-1.5.20.jar Apache V2.0 -tephra-api-0.6.0.jar Apache V2.0 -tephra-core-0.6.0.jar Apache V2.0 -tephra-hbase-compat-1.0-0.6.0.jar Apache V2.0 -threetenbp-1.3.6.jar BSD 3-clause -transaction-api-1.1.jar CDDL1.0 -twill-api-0.6.0-incubating.jar Apache V2.0 -twill-common-0.6.0-incubating.jar Apache V2.0 -twill-core-0.6.0-incubating.jar Apache V2.0 -twill-discovery-api-0.6.0-incubating.jar Apache V2.0 -twill-discovery-core-0.6.0-incubating.jar Apache V2.0 -twill-zookeeper-0.6.0-incubating.jar Apache V2.0 -validation-api-2.0.1.Final.jar Apache V2.0 -xercesImpl-2.9.1.jar Apache V2.0 -xml-apis-1.4.01.jar Apache V2.0,W3C -xz-1.0.jar Public -zookeeper-3.4.8.jar Apache -The front-end UI currently relies on many components, which we will list separately at the end of the file. +### Backend Dependency + +| Dependency | License | Comments | +| ------------------------------------------------------ | ------------------------------------------------------------ | ------------- | +| activation-1.1.jar | CDDL v1.0 | | +| adal4j-1.0.0.jar | Apache V2.0 | | +| ant-1.6.5.jar | Apache V2.0 | | +| antlr-2.7.7.jar | BSD | | +| antlr-runtime-3.4.jar | BSD License | | +| aopalliance-1.0.jar | Public Domain | | +| apacheds-i18n-2.0.0-M15.jar | Apache V2.0 | | +| apacheds-kerberos-codec-2.0.0-M15.jar | Apache V2.0 | | +| apache-el-8.5.35.1.jar | Apache V2.0 | | +| api-asn1-api-1.0.0-M20.jar | Apache V2.0 | | +| api-util-1.0.0-M20.jar | Apache V2.0 | | +| asm-3.1.jar | BSD License | | +| aspectjweaver-1.9.2.jar | Eclipse Public License - v 1.0 | | +| aws-java-sdk-1.7.4.jar | Apache V2.0 | | +| azure-core-0.9.3.jar | Apache V2.0 | | +| azure-keyvault-0.9.3.jar | Apache V2.0 | | +| bcprov-jdk15on-1.51.jar | Bouncy Castle Licence | | +| bonecp-0.8.0.RELEASE.jar | Apache v2 | | +| byte-buddy-1.9.10.jar | Apache V2.0 | | +| c3p0-0.9.1.1.jar | GNU LESSER GENERAL PUBLIC LICENSE | will remove | +| classmate-1.4.0.jar | Apache V2.0 | | +| clickhouse-jdbc-0.1.52.jar | Apache V2.0 | | +| commons-cli-1.2.jar | Apache V2.0 | | +| commons-codec-1.6.jar | Apache V2.0 | | +| commons-collections-3.2.2.jar | Apache V2.0 | | +| commons-collections4-4.1.jar | Apache V2.0 | | +| commons-compress-1.4.1.jar | Apache V2.0 | | +| commons-configuration-1.10.jar | Apache V2.0 | | +| commons-daemon-1.0.13.jar | Apache V2.0 | | +| commons-dbcp-1.4.jar | Apache V2.0 | | +| commons-email-1.2.jar | Apache V2.0 | | +| commons-httpclient-3.0.1.jar | Apache License | | +| commons-io-2.4.jar | Apache V2.0 | | +| commons-lang-2.3.jar | Apache V2.0 | | +| commons-lang3-3.5.jar | Apache V2.0 | | +| commons-logging-1.1.1.jar | Apache V2.0 | | +| commons-math-2.2.jar | Apache V2.0 | | +| commons-pool-1.6.jar | Apache V2.0 | | +| cron-utils-5.0.5.jar | Apache V2.0 | | +| curator-client-2.12.0.jar | Apache V2.0 | | +| curator-framework-2.12.0.jar | Apache V2.0 | | +| curator-recipes-2.12.0.jar | Apache V2.0 | | +| datanucleus-api-jdo-4.2.1.jar | Apache V2.0 | | +| datanucleus-core-4.1.6.jar | Apache V2.0 | | +| datanucleus-rdbms-4.1.7.jar | Apache V2.0 | | +| derby-10.14.2.0.jar | Apache V2.0 | | +| disruptor-3.3.0.jar | Apache V2.0 | | +| druid-1.1.14.jar | Apache V2.0 | | +| error_prone_annotations-2.1.2.jar | Apache V2.0 | | +| fastjson-1.2.29.jar | Apache V2.0 | | +| fastutil-6.5.6.jar | Apache V2.0 | | +| findbugs-annotations-1.3.9-1.jar | Apache V2.0 | | +| freemarker-2.3.21.jar | Apache V2.0 | | +| grpc-context-1.9.0.jar | Apache V2.0 | | +| grpc-core-1.9.0.jar | Apache V2.0 | | +| grpc-netty-1.9.0.jar | Apache V2.0 | | +| grpc-protobuf-1.9.0.jar | Apache V2.0 | | +| grpc-protobuf-lite-1.9.0.jar | Apache V2.0 | | +| grpc-stub-1.9.0.jar | Apache V2.0 | | +| gson-2.8.5.jar | Apache V2.0 | | +| guava-20.0.jar | Apache V2.0 | | +| guice-3.0.jar | Apache V2.0 | | +| guice-assistedinject-3.0.jar | Apache V2.0 | | +| guice-servlet-3.0.jar | Apache V2.0 | | +| hadoop-annotations-2.7.3.jar | Apache V2.0 | | +| hadoop-auth-2.7.3.jar | Apache V2.0 | | +| hadoop-aws-2.7.3.jar | Apache V2.0 | | +| hadoop-client-2.7.3.jar | Apache V2.0 | | +| hadoop-common-2.7.3.jar | Apache V2.0 | | +| hadoop-hdfs-2.7.3.jar | Apache V2.0 | | +| hadoop-mapreduce-client-app-2.7.3.jar | Apache V2.0 | | +| hadoop-mapreduce-client-common-2.7.3.jar | Apache V2.0 | | +| hadoop-mapreduce-client-core-2.7.3.jar | Apache V2.0 | | +| hadoop-mapreduce-client-jobclient-2.7.3.jar | Apache V2.0 | | +| hadoop-yarn-api-2.7.3.jar | Apache V2.0 | | +| hadoop-yarn-client-2.7.3.jar | Apache V2.0 | | +| hadoop-yarn-common-2.7.3.jar | Apache V2.0 | | +| hadoop-yarn-registry-2.7.1.jar | Apache V2.0 | | +| hadoop-yarn-server-applicationhistoryservice-2.6.0.jar | Apache V2.0 | | +| hadoop-yarn-server-common-2.7.3.jar | Apache V2.0 | | +| hadoop-yarn-server-resourcemanager-2.6.0.jar | Apache V2.0 | | +| hadoop-yarn-server-web-proxy-2.6.0.jar | Apache V2.0 | | +| hbase-annotations-1.1.1.jar | Apache V2.0 | | +| hbase-client-1.1.1.jar | Apache V2.0 | | +| hbase-common-1.1.1.jar | Apache V2.0 | | +| hbase-common-1.1.1-tests.jar | Apache License Version 2.0 | | +| hbase-hadoop2-compat-1.1.1.jar | Apache V2.0 | | +| hbase-hadoop-compat-1.1.1.jar | Apache V2.0 | | +| hbase-prefix-tree-1.1.1.jar | Apache V2.0 | | +| hbase-procedure-1.1.1.jar | Apache V2.0 | | +| hbase-protocol-1.1.1.jar | Apache V2.0 | | +| hbase-server-1.1.1.jar | Apache V2.0 | | +| hibernate-validator-6.0.14.Final.jar | Apache License 2.0 | | +| HikariCP-3.2.0.jar | Apache V2.0 | | +| hive-common-2.1.0.jar | Apache V2.0 | | +| hive-jdbc-2.1.0.jar | Apache V2.0 | | +| hive-llap-client-2.1.0.jar | Apache V2.0 | | +| hive-llap-common-2.1.0.jar | Apache V2.0 | | +| hive-llap-server-2.1.0.jar | Apache V2.0 | | +| hive-llap-tez-2.1.0.jar | Apache V2.0 | | +| hive-metastore-2.1.0.jar | Apache V2.0 | | +| hive-orc-2.1.0.jar | Apache V2.0 | | +| hive-serde-2.1.0.jar | Apache V2.0 | | +| hive-service-2.1.0.jar | Apache V2.0 | | +| hive-service-rpc-2.1.0.jar | Apache V2.0 | | +| hive-shims-0.23-2.1.0.jar | Apache V2.0 | | +| hive-shims-2.1.0.jar | Apache V2.0 | | +| hive-shims-common-2.1.0.jar | Apache V2.0 | | +| hive-shims-scheduler-2.1.0.jar | Apache V2.0 | | +| hive-storage-api-2.1.0.jar | Apache V2.0 | | +| htrace-core-3.1.0-incubating.jar | Apache V2.0 | | +| httpclient-4.4.1.jar | Apache V2.0 | | +| httpcore-4.4.1.jar | Apache V2.0 | | +| httpmime-4.5.7.jar | Apache V2.0 | | +| instrumentation-api-0.4.3.jar | Apache V2.0 | | +| jackson-annotations-2.9.8.jar | Apache V2.0 | | +| jackson-core-2.9.8.jar | Apache V2.0 | | +| jackson-core-asl-1.9.13.jar | Apache V2.0 | | +| jackson-databind-2.9.8.jar | Apache V2.0 | | +| jackson-datatype-jdk8-2.9.8.jar | Apache V2.0 | | +| jackson-datatype-jsr310-2.9.8.jar | Apache V2.0 | | +| jackson-jaxrs-1.8.3.jar | GNU Lesser General Public License (LGPL), Version 2.1 Apache V2.0 | will remove | +| jackson-mapper-asl-1.9.13.jar | Apache V2.0 | | +| jackson-module-parameter-names-2.9.8.jar | Apache V2.0 | | +| jackson-xc-1.8.3.jar | GNU Lesser General Public License (LGPL), Version 2.1 Apache V2.0 | will remove | +| jamon-runtime-2.3.1.jar | Mozilla Public License Version 1.1 | MPL1.1 | +| jasper-compiler-5.5.23.jar | Apache V2.0 | | +| javax.activation-api-1.2.0.jar | CDDL/GPLv2+CE | will remove | +| javax.annotation-api-1.3.2.jar | CDDL + GPLv2 with classpath exception | will remove | +| javax.inject-1.jar | Apache V2.0 | | +| javax.jdo-3.2.0-m3.jar | Apache V2.0 | | +| java-xmlbuilder-0.4.jar | Apache V2.0 | | +| javax.servlet-api-3.1.0.jar | CDDL + GPLv2 with classpath exception | will remove | +| javolution-5.5.1.jar | BSD License | | +| jaxb-*.jar | (CDDL 1.1) (GPL2 w/ CPE) | will remove | +| jboss-logging-3.3.2.Final.jar | Apache V2.0 | | +| jcip-annotations-1.0.jar | Public | | +| jcodings-1.0.8.jar | MIT | | +| jcommander-1.30.jar | Apache V2.0 | | +| jdo-api-3.0.1.jar | Apache V2.0 | | +| jersey-*-1.9.jar | CDDL+GPLv2 | will remove | +| jets3t-0.9.0.jar | Apache V2.0 | | +| jettison-1.1.jar | Apache V2.0 | | +| jetty-6.1.26.jar | Apache V2.0,EPL 1.0 | | +| jetty-continuation-9.4.14.v20181114.jar | Apache V2.0,EPL 1.0 | | +| jetty-http-9.4.14.v20181114.jar | Apache V2.0,EPL 1.0 | | +| jetty-io-9.4.14.v20181114.jar | Apache V2.0,EPL 1.0 | | +| jetty-security-9.4.14.v20181114.jar | Apache V2.0,EPL 1.0 | | +| jetty-server-9.4.14.v20181114.jar | Apache V2.0,EPL 1.0 | | +| jetty-servlet-9.4.14.v20181114.jar | Apache V2.0,EPL 1.0 | | +| jetty-servlets-9.4.14.v20181114.jar | Apache V2.0,EPL 1.0 | | +| jetty-sslengine-6.1.26.jar | Apache V2.0 | | +| jetty-util-6.1.26.jar | Apache V2.0,EPL 1.0 | | +| jetty-util-9.4.14.v20181114.jar | Apache V2.0,EPL 1.0 | | +| jetty-webapp-9.4.14.v20181114.jar | Apache V2.0,EPL 1.0 | | +| jetty-xml-9.4.14.v20181114.jar | Apache V2.0,EPL 1.0 | | +| jline-0.9.94.jar | BSD | | +| jna-4.5.2.jar | Apache V2.0,LGPL 2.1 | will remove | +| jna-platform-4.5.2.jar | Apache V2.0,LGPL 2.1 | will remove | +| joda-time-2.10.1.jar | Apache V2.0 | | +| joni-2.1.2.jar | MIT | | +| jpam-1.1.jar | Apache V2.0 | | +| jsch-0.1.42.jar | BSD | | +| json-smart-1.1.1.jar | Apache V2.0 | | +| json-smart-2.3.jar | Apache V2.0 | | +| jsp-2.1-6.1.14.jar | CDDL 1.0 | | +| jsp-api-2.x.jar | CDDL,GPL 2.0 | will remove | +| jsp-api-2.1-6.1.14.jar | Apache V2.0 | | +| jsr305-3.0.0.jar | Apache V2.0 | | +| jta-1.1.jar | CDDL 1.0 | | +| jul-to-slf4j-1.7.25.jar | MIT | | +| lang-tag-1.4.jar | Apache V2.0 | | +| leveldbjni-all-1.8.jar | BSD 3-clause | | +| libfb303-0.9.3.jar | Apache V2.0 | | +| libthrift-0.9.3.jar | Apache V2.0 | | +| log4j-1.2.17.jar | Apache V2.0 | | +| log4j-1.2-api-2.11.2.jar | Apache V2.0 | | +| log4j-api-2.11.2.jar | Apache V2.0 | | +| log4j-core-2.11.2.jar | Apache V2.0 | | +| log4j-web-2.11.2.jar | Apache V2.0 | | +| logback-x.jar | dual-license EPL 1.0,LGPL 2.1 | | +| lz4-1.3.0.jar | Apache V2.0 | | +| mail-1.4.5.jar | CDDL+GPLv2 | will remove | +| mapstruct-1.2.0.Final.jar | Apache V2.0 | | +| metrics-core-2.2.0.jar | Apache V2.0 | | +| mssql-jdbc-6.1.0.jre8.jar | MIT | | +| mybatis-3.5.1.jar | Apache V2.0 | | +| mybatis-spring-2.0.1.jar | Apache V2.0 | | +| mybatis-spring-boot-autoconfigure-2.0.1.jar | Apache V2.0 | | +| mybatis-spring-boot-starter-2.0.1.jar | Apache V2.0 | | +| mysql-connector-java-5.1.34.jar | GPL 2.0 | will remove | +| netty-buffer-4.1.33.Final.jar | Apache V2.0 | | +| netty-codec-4.1.33.Final.jar | Apache V2.0 | | +| netty-codec-http2-4.1.33.Final.jar | Apache V2.0 | | +| netty-codec-http-4.1.33.Final.jar | Apache V2.0 | | +| netty-codec-socks-4.1.33.Final.jar | Apache V2.0 | | +| netty-common-4.1.33.Final.jar | Apache V2.0 | | +| netty-handler-4.1.33.Final.jar | Apache V2.0 | | +| netty-handler-proxy-4.1.33.Final.jar | Apache V2.0 | | +| netty-resolver-4.1.33.Final.jar | Apache V2.0 | | +| netty-transport-4.1.33.Final.jar | Apache V2.0 | | +| nimbus-jose-jwt-3.1.2.jar | Apache V2.0 | | +| oauth2-oidc-sdk-4.5.jar | Apache V2.0 | | +| opencensus-api-0.10.0.jar | Apache V2.0 | | +| opencensus-contrib-grpc-metrics-0.10.0.jar | Apache V2.0 | | +| opencsv-2.3.jar | Apache V2.0 | | +| oshi-core-3.5.0.jar | EPL 1.0 | | +| parquet-hadoop-bundle-1.8.1.jar | Apache V2.0 | | +| poi-3.17.jar | Apache V2.0 | | +| postgresql-42.1.4.jar | BSD 2-clause | | +| protobuf-java-3.5.1.jar | BSD 3-clause | | +| protobuf-java-util-3.5.1.jar | BSD 3-clause | | +| proto-google-common-protos-1.0.0.jar | Apache V2.0 | | +| quartz-2.2.3.jar | Apache V2.0 | | +| quartz-jobs-2.2.3.jar | Apache V2.0 | | +| slf4j-api-1.7.5.jar | MIT | | +| slider-core-0.90.2-incubating.jar | Apache V2.0 | | +| snakeyaml-1.23.jar | Apache V2.0 | | +| snappy-0.2.jar | Apache V2.0 | | +| spring-aop-5.1.5.RELEASE.jar | Apache V2.0 | | +| spring-beans-5.1.5.RELEASE.jar | Apache V2.0 | | +| spring-boot-2.1.3.RELEASE.jar | Apache V2.0 | | +| spring-boot-autoconfigure-2.1.3.RELEASE.jar | Apache V2.0 | | +| spring-boot-starter-2.1.3.RELEASE.jar | Apache V2.0 | | +| spring-boot-starter-aop-2.1.3.RELEASE.jar | Apache V2.0 | | +| spring-boot-starter-jdbc-2.1.3.RELEASE.jar | Apache V2.0 | | +| spring-boot-starter-jetty-2.1.3.RELEASE.jar | Apache V2.0 | | +| spring-boot-starter-json-2.1.3.RELEASE.jar | Apache V2.0 | | +| spring-boot-starter-logging-2.1.3.RELEASE.jar | Apache V2.0 | | +| spring-boot-starter-web-2.1.3.RELEASE.jar | Apache V2.0 | | +| spring-context-5.1.5.RELEASE.jar | Apache V2.0 | | +| spring-core-5.1.5.RELEASE.jar | Apache V2.0 | | +| spring-expression-5.1.5.RELEASE.jar | Apache V2.0 | | +| springfox-core-2.9.2.jar | Apache V2.0 | | +| springfox-schema-2.9.2.jar | Apache V2.0 | | +| springfox-spi-2.9.2.jar | Apache V2.0 | | +| springfox-spring-web-2.9.2.jar | Apache V2.0 | | +| springfox-swagger2-2.9.2.jar | Apache V2.0 | | +| springfox-swagger-common-2.9.2.jar | Apache V2.0 | | +| springfox-swagger-ui-2.9.2.jar | Apache V2.0 | | +| spring-jcl-5.1.5.RELEASE.jar | Apache V2.0 | | +| spring-jdbc-5.1.5.RELEASE.jar | Apache V2.0 | | +| spring-plugin-core-1.2.0.RELEASE.jar | Apache V2.0 | | +| spring-plugin-metadata-1.2.0.RELEASE.jar | Apache V2.0 | | +| spring-tx-5.1.5.RELEASE.jar | Apache V2.0 | | +| spring-web-5.1.5.RELEASE.jar | Apache V2.0 | | +| spring-webmvc-5.1.5.RELEASE.jar | Apache V2.0 | | +| stringtemplate-3.2.1.jar | BSD | | +| swagger-annotations-1.5.20.jar | Apache V2.0 | | +| swagger-bootstrap-ui-1.9.3.jar | Apache V2.0 | | +| swagger-models-1.5.20.jar | Apache V2.0 | | +| tephra-api-0.6.0.jar | Apache V2.0 | | +| tephra-core-0.6.0.jar | Apache V2.0 | | +| tephra-hbase-compat-1.0-0.6.0.jar | Apache V2.0 | | +| threetenbp-1.3.6.jar | BSD 3-clause | | +| transaction-api-1.1.jar | CDDL1.0 | | +| twill-api-0.6.0-incubating.jar | Apache V2.0 | | +| twill-common-0.6.0-incubating.jar | Apache V2.0 | | +| twill-core-0.6.0-incubating.jar | Apache V2.0 | | +| twill-discovery-api-0.6.0-incubating.jar | Apache V2.0 | | +| twill-discovery-core-0.6.0-incubating.jar | Apache V2.0 | | +| twill-zookeeper-0.6.0-incubating.jar | Apache V2.0 | | +| validation-api-2.0.1.Final.jar | Apache V2.0 | | +| xercesImpl-2.9.1.jar | Apache V2.0 | | +| xml-apis-1.4.01.jar | Apache V2.0,W3C | | +| xz-1.0.jar | Public | | +| zookeeper-3.4.8.jar | Apache | | -UI Dependency - -Dependency License Comments -abab ISC -abbrev ISC -accepts MIT -acorn MIT -acorn-dynamic-import MIT -acorn-globals MIT -after MIT -agent-base MIT -ajv MIT -ajv-keywords MIT -align-text MIT -alphanum-sort MIT -amdefine BSD-3-Clause OR MIT -ansi-html Apache-2.0 -ansi-regex MIT -ansi-styles MIT -anymatch ISC -aproba ISC -are-we-there-yet ISC -argparse MIT -arr-diff MIT -arr-flatten MIT -arr-union MIT -array-equal MIT -array-find-index MIT -array-flatten MIT -array-includes MIT -array-slice MIT -array-union MIT -array-uniq MIT -array-unique MIT -arraybuffer.slice MIT -arrify MIT -asn1 MIT -asn1.js MIT -assert MIT -assert-plus MIT -assign-symbols MIT -ast-types MIT -async MIT -async-each MIT -async-foreach MIT -async-limiter MIT -asynckit MIT -atob (MIT OR Apache-2.0) -autoprefixer MIT -aws-sign2 Apache-2.0 -aws4 MIT -babel-code-frame MIT -babel-core MIT -babel-eslint MIT -babel-generator MIT -babel-helper-builder-binary-assignment-operator-visitor MIT -babel-helper-call-delegate MIT -babel-helper-define-map MIT -babel-helper-explode-assignable-expression MIT -babel-helper-function-name MIT -babel-helper-get-function-arity MIT -babel-helper-hoist-variables MIT -babel-helper-optimise-call-expression MIT -babel-helper-regex MIT -babel-helper-remap-async-to-generator MIT -babel-helper-replace-supers MIT -babel-helper-vue-jsx-merge-props MIT -babel-helpers MIT -babel-loader MIT -babel-messages MIT -babel-plugin-check-es2015-constants MIT -babel-plugin-syntax-async-functions MIT -babel-plugin-syntax-class-properties MIT -babel-plugin-syntax-dynamic-import MIT -babel-plugin-syntax-exponentiation-operator MIT -babel-plugin-syntax-jsx MIT -babel-plugin-syntax-object-rest-spread MIT -babel-plugin-syntax-trailing-function-commas MIT -babel-plugin-transform-async-to-generator MIT -babel-plugin-transform-class-properties MIT -babel-plugin-transform-es2015-arrow-functions MIT -babel-plugin-transform-es2015-block-scoped-functions MIT -babel-plugin-transform-es2015-block-scoping MIT -babel-plugin-transform-es2015-classes MIT -babel-plugin-transform-es2015-computed-properties MIT -babel-plugin-transform-es2015-destructuring MIT -babel-plugin-transform-es2015-duplicate-keys MIT -babel-plugin-transform-es2015-for-of MIT -babel-plugin-transform-es2015-function-name MIT -babel-plugin-transform-es2015-literals MIT -babel-plugin-transform-es2015-modules-amd MIT -babel-plugin-transform-es2015-modules-commonjs MIT -babel-plugin-transform-es2015-modules-systemjs MIT -babel-plugin-transform-es2015-modules-umd MIT -babel-plugin-transform-es2015-object-super MIT -babel-plugin-transform-es2015-parameters MIT -babel-plugin-transform-es2015-shorthand-properties MIT -babel-plugin-transform-es2015-spread MIT -babel-plugin-transform-es2015-sticky-regex MIT -babel-plugin-transform-es2015-template-literals MIT -babel-plugin-transform-es2015-typeof-symbol MIT -babel-plugin-transform-es2015-unicode-regex MIT -babel-plugin-transform-exponentiation-operator MIT -babel-plugin-transform-object-rest-spread MIT -babel-plugin-transform-regenerator MIT -babel-plugin-transform-remove-console MIT -babel-plugin-transform-runtime MIT -babel-plugin-transform-strict-mode MIT -babel-plugin-transform-vue-jsx MIT -babel-preset-env MIT -babel-register MIT -babel-runtime MIT -babel-template MIT -babel-traverse MIT -babel-types MIT -babylon MIT -backo2 MIT -balanced-match MIT -base MIT -base64-arraybuffer MIT -base64-js MIT -base64id MIT -batch MIT -bcrypt-pbkdf BSD-3-Clause -better-assert MIT -big.js MIT -binary-extensions MIT -blob MIT -block-stream ISC -bluebird MIT -bn.js MIT -body-parser MIT -bonjour MIT -boolbase ISC -bootstrap MIT -brace-expansion MIT -braces MIT -brorand MIT -browserify-aes MIT -browserify-cipher MIT -browserify-des MIT -browserify-rsa MIT -browserify-sign ISC -browserify-zlib MIT -browserslist MIT -browserstack MIT -browserstack-local MIT -buffer MIT -buffer-alloc MIT -buffer-alloc-unsafe MIT -buffer-fill MIT -buffer-from MIT -buffer-indexof MIT -buffer-xor MIT -builtin-status-codes MIT -bytes MIT -cacache ISC -cache-base MIT -call-me-maybe MIT -caller-callsite MIT -caller-path MIT -callsite MIT -callsites MIT -camel-case MIT -camelcase MIT -camelcase-keys MIT -caniuse-api MIT -caniuse-db CC-BY-4.0 -caniuse-lite CC-BY-4.0 -canvg MIT -caseless Apache-2.0 -center-align MIT -chalk MIT -chokidar MIT -chownr ISC -cipher-base MIT -circular-json MIT -clap MIT -class-utils MIT -clean-css MIT -clipboard MIT -cliui ISC -clone MIT -clone-deep MIT -co MIT -coa MIT -code-frame MIT -code-point-at MIT -codemirror MIT -coffee MIT -coffee-requirejs MIT -collection-visit MIT -color MIT -color-convert MIT -color-name MIT -color-string MIT -colormin MIT -colors MIT -combine-lists MIT -combined-stream MIT -commander MIT -commondir MIT -component-bind MIT -component-emitter MIT -component-inherit MIT -compressible MIT -compression MIT -concat-map MIT -concat-stream MIT -connect MIT -connect-history-api-fallback MIT -console-browserify MIT -console-control-strings ISC -consolidate MIT -constants-browserify MIT -content-disposition MIT -content-type MIT -convert-source-map MIT -cookie MIT -cookie-signature MIT -copy-concurrently ISC -copy-descriptor MIT -copy-webpack-plugin MIT -core-js MIT -core-util-is MIT -cosmiconfig MIT -create-ecdh MIT -create-hash MIT -create-hmac MIT -cross-env MIT -cross-spawn MIT -crypto-browserify MIT -css-color-names MIT -css-declaration-sorter MIT -css-loader MIT -css-select BSD-like -css-select-base-adapter MIT -css-selector-tokenizer MIT -css-tree MIT -css-unit-converter MIT -css-what BSD-2-Clause -cssesc MIT -cssnano MIT -cssnano-preset-default MIT -cssnano-util-get-arguments MIT -cssnano-util-get-match MIT -cssnano-util-raw-cache MIT -cssnano-util-same-parent MIT -csso MIT -cssom MIT -cssstyle MIT -currently-unhandled MIT -custom-event MIT -cyclist MIT -d ISC -d3 BSD-3-Clause -dashdash MIT -date-format MIT -date-now MIT -dateformat MIT -dayjs MIT -de-indent MIT -debug MIT -decamelize MIT -decode-uri-component MIT -deep-equal MIT -deep-is MIT -define-properties MIT -define-property MIT -defined MIT -del MIT -delayed-stream MIT -delegate MIT -delegates MIT -depd MIT -des.js MIT -destroy MIT -detect-indent MIT -detect-node ISC -di MIT -diffie-hellman MIT -dir-glob MIT -dns-equal MIT -dns-packet MIT -dns-txt MIT -dom-converter MIT -dom-serialize MIT -dom-serializer MIT -domain-browser MIT -domelementtype BSD-2-Clause -domhandler BSD-2-Clause -domutils BSD-2-Clause -dot-prop MIT -dotenv BSD-2-Clause -duplexer BSD-2-Clause -duplexify MIT -ecc-jsbn MIT -echarts Apache License Version 2.0 -ee-first MIT -ejs Apache-2.0 -electron-to-chromium ISC -elliptic MIT -emojis-list MIT -encodeurl MIT -end-of-stream MIT -engine.io MIT -engine.io-client MIT -engine.io-parser MIT -enhanced-resolve MIT -ent MIT -entities BSD-2-Clause -env-parse ISC -errno MIT -error-ex MIT -es-abstract MIT -es-to-primitive MIT -es5-ext ISC -es6-iterator MIT -es6-map MIT -es6-promise MIT -es6-promisify MIT -es6-set MIT -es6-symbol MIT -es6-templates Apache 2 -es6-weak-map ISC -escape-html MIT -escape-string-regexp MIT -escodegen BSD-2-Clause -escope BSD-2-Clause -eslint-scope BSD-2-Clause -eslint-visitor-keys Apache-2.0 -esprima BSD-2-Clause -esrecurse BSD-2-Clause -estraverse BSD -esutils BSD-2-Clause -etag MIT -event-emitter MIT -event-stream MIT -eventemitter3 MIT -events MIT -eventsource MIT -evp_bytestokey MIT -execa MIT -expand-braces MIT -expand-brackets MIT -expand-range MIT -extend MIT -extend-shallow MIT -extglob MIT -extract-text-webpack-plugin MIT -extsprintf MIT -fast-deep-equal MIT -fast-glob MIT -fast-json-stable-stringify MIT -fast-levenshtein MIT -fastparse MIT -faye-websocket Apache-2.0 -file-loader MIT -fill-range MIT -finalhandler MIT -find-cache-dir MIT -find-up MIT -flatted ISC -flatten MIT -flush-write-stream MIT -follow-redirects MIT -for-in MIT -for-own MIT -forever-agent Apache-2.0 -form-data MIT -forwarded MIT -fragment-cache MIT -fresh MIT -from MIT -from2 MIT -fs-access MIT -fs-write-stream-atomic ISC -fs.realpath ISC -fs.stat MIT -fstream ISC -function-bind MIT -gauge ISC -gaze MIT -generator MIT -get-caller-file ISC -get-stdin MIT -get-stream MIT -get-value MIT -getpass MIT -glob ISC -glob-parent ISC -glob-to-regexp BSD -globals MIT -globby MIT -globule MIT -good-listener MIT -graceful-fs ISC -handle-thing MIT -handlebars MIT -har-schema ISC -har-validator MIT -has MIT -has-ansi MIT -has-binary2 MIT -has-cors MIT -has-flag MIT -has-symbols MIT -has-unicode ISC -has-value MIT -has-values MIT -hash-base MIT -hash-sum MIT -hash.js MIT -he MIT -helper-function-name MIT -helper-get-function-arity MIT -helper-split-export-declaration MIT -hex-color-regex MIT -highlight MIT -hmac-drbg MIT -home-or-tmp MIT -hosted-git-info ISC -hpack.js MIT -hsl-regex MIT -hsla-regex MIT -html-comment-regex MIT -html-entities MIT -html-loader MIT -html-minifier MIT -html-webpack-ext-plugin MIT -html-webpack-plugin MIT -html2canvas MIT -htmlparser2 MIT -http-deceiver MIT -http-errors MIT -http-parser-js MIT -http-proxy MIT -http-proxy-middleware MIT -http-signature MIT -https-browserify MIT -https-proxy-agent MIT -iconv-lite MIT -icss-replace-symbols ISC -icss-utils ISC -ieee754 BSD-3-Clause -iferr MIT -ignore MIT -import-cwd MIT -import-fresh MIT -import-from MIT -import-local MIT -imurmurhash MIT -in-publish ISC -indent-string MIT -indexes-of MIT -indexof MIT -inflight ISC -inherits ISC -internal-ip MIT -interpret MIT -invariant MIT -invert-kv MIT -ip MIT -ipaddr.js MIT -is-absolute-url MIT -is-accessor-descriptor MIT -is-arrayish MIT -is-binary-path MIT -is-buffer MIT -is-callable MIT -is-color-stop MIT -is-data-descriptor MIT -is-date-object MIT -is-descriptor MIT -is-directory MIT -is-extendable MIT -is-extglob MIT -is-finite MIT -is-fullwidth-code-point MIT -is-glob MIT -is-number MIT -is-obj MIT -is-path-cwd MIT -is-path-in-cwd MIT -is-path-inside MIT -is-plain-obj MIT -is-plain-object MIT -is-regex MIT -is-resolvable ISC -is-running BSD -is-stream MIT -is-svg MIT -is-symbol MIT -is-typedarray MIT -is-utf8 MIT -is-windows MIT -is-wsl MIT -isarray MIT -isbinaryfile MIT -isexe ISC -isobject MIT -isstream MIT -istanbul BSD-3-Clause -jasmine-core MIT -jquery MIT -js-base64 BSD-3-Clause -js-tokens MIT -js-yaml MIT -jsbn MIT -jsdom MIT -jsesc MIT -json-loader MIT -json-parse-better-errors MIT -json-schema cv2.1,BSD -json-schema-traverse MIT -json-stringify-safe ISC -json3 MIT -json5 MIT -jsplumb (MIT OR GPL-2.0) -jsprim MIT -karma MIT -karma-browserstack-launcher MIT -karma-chrome-launcher MIT -karma-coverage MIT -karma-jasmine MIT -karma-sourcemap-loader MIT -karma-spec-reporter MIT -karma-webpack MIT -killable ISC -kind-of MIT -last-call-webpack-plugin MIT -lazy-cache MIT -lcid MIT -levn MIT -load-json-file MIT -loader-runner MIT -loader-utils MIT -locate-path MIT -lodash MIT -lodash.camelcase MIT -lodash.memoize MIT -lodash.tail MIT -lodash.uniq MIT -log-symbols MIT -log4js Apache-2.0 -loglevel MIT -loglevelnext MIT -longest MIT -loose-envify MIT -loud-rejection MIT -lower-case MIT -lru-cache ISC -make-dir MIT -map-cache MIT -map-obj MIT -map-stream MIT -map-visit MIT -math-expression-evaluator MIT -md5.js MIT -mdn-data CC0-1.0 -media-typer MIT -mem MIT -memory-fs MIT -meow MIT -merge-descriptors MIT -merge2 MIT -methods MIT -micromatch MIT -miller-rabin MIT -mime MIT -mime-db MIT -mime-types MIT -mimic-fn MIT -minimalistic-assert ISC -minimalistic-crypto-utils MIT -minimatch ISC -minimist MIT -mississippi BSD-2-Clause -mixin-deep MIT -mixin-object MIT -mkdirp MIT -move-concurrently ISC -ms MIT -multicast-dns MIT -multicast-dns-service-types MIT -multirepo MIT -mylib ISC -nan MIT -nanomatch MIT -negotiator MIT -neo-async MIT -next-tick MIT -nice-try MIT -no-case MIT -node-forge (BSD-3-Clause OR GPL-2.0) -node-gyp MIT -node-libs-browser MIT -node-releases MIT -node-sass MIT -nopt ISC -normalize-package-data BSD-2-Clause -normalize-path MIT -normalize-range MIT -normalize-url MIT -npm-run-path MIT -npmlog ISC -nth-check BSD-2-Clause -null-check MIT -num2fraction MIT -number-is-nan MIT -nwmatcher MIT -oauth-sign Apache-2.0 -object-assign MIT -object-component MIT -object-copy MIT -object-keys MIT -object-visit MIT -object.assign MIT -object.getownpropertydescriptors MIT -object.pick MIT -object.values MIT -obuf MIT -on-finished MIT -on-headers MIT -once ISC -opn MIT -optimist MIT/X11 -optimize-css-assets-webpack-plugin MIT -optionator MIT -original MIT -os-browserify MIT -os-homedir MIT -os-locale MIT -os-tmpdir MIT -osenv ISC -p-finally MIT -p-limit MIT -p-locate MIT -p-map MIT -p-try MIT -package-a MIT -package-b MIT -pako (MIT AND Zlib) -parallel-transform MIT -param-case MIT -parse-asn1 ISC -parse-json MIT -parse5 MIT -parseqs MIT -parseuri MIT -parseurl MIT -pascalcase MIT -path-browserify MIT -path-dirname MIT -path-exists MIT -path-is-absolute MIT -path-is-inside (WTFPL OR MIT) -path-key MIT -path-parse MIT -path-to-regexp MIT -path-type MIT -pause-stream MIT,Apache2 -pbkdf2 MIT -performance-now MIT -pify MIT -pinkie MIT -pinkie-promise MIT -pkg-dir MIT -portfinder MIT -posix-character-classes MIT -postcss MIT -postcss-calc MIT -postcss-colormin MIT -postcss-convert-values MIT -postcss-discard-comments MIT -postcss-discard-duplicates MIT -postcss-discard-empty MIT -postcss-discard-overridden MIT -postcss-discard-unused MIT -postcss-filter-plugins MIT -postcss-load-config MIT -postcss-load-options MIT -postcss-load-plugins MIT -postcss-loader MIT -postcss-merge-idents MIT -postcss-merge-longhand MIT -postcss-merge-rules MIT -postcss-message-helpers MIT -postcss-minify-font-values MIT -postcss-minify-gradients MIT -postcss-minify-params MIT -postcss-minify-selectors MIT -postcss-modules-extract-imports ISC -postcss-modules-local-by-default MIT -postcss-modules-scope ISC -postcss-modules-values ISC -postcss-normalize-charset MIT -postcss-normalize-display-values MIT -postcss-normalize-positions MIT -postcss-normalize-repeat-style MIT -postcss-normalize-string MIT -postcss-normalize-timing-functions MIT -postcss-normalize-unicode MIT -postcss-normalize-url MIT -postcss-normalize-whitespace MIT -postcss-ordered-values MIT -postcss-reduce-idents MIT -postcss-reduce-initial MIT -postcss-reduce-transforms MIT -postcss-selector-parser MIT -postcss-svgo MIT -postcss-unique-selectors MIT -postcss-value-parser MIT -postcss-zindex MIT -prelude-ls MIT -prepend-http MIT -prettier MIT -pretty-error MIT -private MIT -process MIT -process-nextick-args MIT -promise-inflight ISC -proxy-addr MIT -prr MIT -ps-tree MIT -pseudomap ISC -psl MIT -public-encrypt MIT -pump MIT -pumpify MIT -punycode MIT -q MIT -qjobs MIT -qs BSD-3-Clause -query-string MIT -querystring MIT -querystring-es3 MIT -querystringify MIT -randombytes MIT -randomfill MIT -range-parser MIT -raw-body MIT -read-pkg MIT -read-pkg-up MIT -readable-stream MIT -readdir-enhanced MIT -readdirp MIT -recast MIT -redent MIT -reduce-css-calc MIT -reduce-function-call MIT -regenerate MIT -regenerator-runtime MIT -regenerator-transform BSD -regex-not MIT -regexpu-core MIT -regjsgen MIT -regjsparser BSD -relateurl MIT -remove-trailing-separator ISC -renderkid MIT -repeat-element MIT -repeat-string MIT -repeating MIT -request Apache-2.0 -require-directory MIT -require-from-string MIT -require-main-filename ISC -requires-port MIT -resolve MIT -resolve-cwd MIT -resolve-from MIT -resolve-url MIT -ret MIT -rfdc MIT -rgb-regex MIT -rgba-regex MIT -rgbcolor MIT OR SEE LICENSE IN FEEL-FREE.md -right-align MIT -rimraf ISC -ripemd160 MIT -run-queue ISC -safe-buffer MIT -safe-regex MIT -safer-buffer MIT -sass-graph MIT -sass-loader MIT -sax ISC -schema-utils MIT -scss-tokenizer MIT -select MIT -select-hose MIT -selfsigned MIT -semver ISC -send MIT -serialize-javascript BSD-3-Clause -serve-index MIT -serve-static MIT -set-blocking ISC -set-value MIT -setimmediate MIT -setprototypeof ISC -sha.js (MIT AND BSD-3-Clause) -shallow-clone MIT -shebang-command MIT -shebang-regex MIT -signal-exit ISC -simple-swizzle MIT -slash MIT -snapdragon MIT -snapdragon-node MIT -snapdragon-util MIT -socket.io MIT -socket.io-adapter MIT -socket.io-client MIT -socket.io-parser MIT -sockjs MIT -sockjs-client MIT -sort-keys MIT -source-list-map MIT -source-map BSD-3-Clause -source-map-resolve MIT -source-map-support MIT -source-map-url MIT -spdx-correct Apache-2.0 -spdx-exceptions CC-BY-3.0 -spdx-expression-parse MIT -spdx-license-ids CC0-1.0 -spdy MIT -spdy-transport MIT -split MIT -split-string MIT -sprintf-js BSD-3-Clause -sshpk MIT -ssri ISC -stable MIT -stackblur-canvas MIT -static-extend MIT -statuses MIT -stdout-stream MIT -stream-browserify MIT -stream-combiner MIT -stream-each MIT -stream-http MIT -stream-shift MIT -streamroller MIT -strict-uri-encode MIT -string-width MIT -string_decoder MIT -strip-ansi MIT -strip-bom MIT -strip-eof MIT -strip-indent MIT -stylehacks MIT -supports-color MIT -svgo MIT -symbol-tree MIT -tapable MIT -tar ISC -temp-fs MIT -template MIT -through MIT -through2 MIT -thunky MIT -time-stamp MIT -timers-browserify MIT -timsort MIT -tiny-emitter MIT -tmp MIT -to-array MIT -to-arraybuffer MIT -to-fast-properties MIT -to-object-path MIT -to-regex MIT -to-regex-range MIT -toidentifier MIT -tools MIT -toposort MIT -tough-cookie BSD-3-Clause -tr46 MIT -traverse MIT -trim-newlines MIT -trim-right MIT -true-case-path Apache-2.0 -tty-browserify MIT -tunnel-agent Apache-2.0 -tweetnacl The Unlicense -type ISC -type-check MIT -type-is MIT -typedarray MIT -types MIT -uglify-es BSD-2-Clause -uglify-js BSD-2-Clause -uglify-to-browserify MIT -uglifyjs-webpack-plugin MIT -ultron MIT -union-value MIT -uniq MIT -uniqs MIT -unique-filename ISC -unique-slug ISC -unpipe MIT -unquote MIT -unset-value MIT -upath MIT -upper-case MIT -uri-js BSD-2-Clause -urix MIT -url MIT -url-join MIT -url-loader MIT -url-parse MIT -use MIT -useragent MIT -util MIT -util-deprecate MIT -util.promisify MIT -utila MIT -utils-merge MIT -uuid MIT -validate-npm-package-license Apache-2.0 -vary MIT -vendors MIT -verror MIT -vm-browserify MIT -void-elements MIT -vue MIT -vue-hot-reload-api MIT -vue-loader MIT -vue-router MIT -vue-style-loader MIT -vue-template-compiler MIT -vue-template-es2015-compiler MIT -vuex MIT -vuex-router-sync MIT -watchpack MIT -wbuf MIT -webidl-conversions BSD-2-Clause -webpack MIT -webpack-dev-middleware MIT -webpack-dev-server MIT -webpack-log MIT -webpack-merge MIT -webpack-sources MIT -websocket-driver Apache-2.0 -websocket-extensions MIT -whatwg-url MIT -whet.extend MIT -which ISC -which-module ISC -wide-align ISC -window-size MIT -wordwrap MIT/X11 -worker-farm MIT -wrap-ansi MIT -wrappy ISC -ws MIT -xml-name-validator WTFPL -xmldom MIT,LGPL will remove -xmlhttprequest-ssl MIT -xtend MIT -y18n ISC -yallist ISC -yargs MIT -yargs-parser ISC -yeast MIT -zrender BSD -Required Resources - -Git Repositories - -https://github.com/analysys/EasyScheduler.git - -https://github.com/analysys/easyscheduler_docs.git - -Issue Tracking -The community would like to continue using GitHub Issues. -Continuous Integration tool -Travis (TODO) -Mailing Lists -EasyScheduler-dev: for development discussions -EasyScheduler-private: for PPMC discussions +The front-end UI currently relies on many components, which we will list separately at the end of the file. -EasyScheduler-notifications: for users notifications +### UI Dependency + +| Dependency | License | Comments | +| ------------------------------------------------------- | ------------------------------------ | ----------- | +| abab | ISC | | +| abbrev | ISC | | +| accepts | MIT | | +| acorn | MIT | | +| acorn-dynamic-import | MIT | | +| acorn-globals | MIT | | +| after | MIT | | +| agent-base | MIT | | +| ajv | MIT | | +| ajv-keywords | MIT | | +| align-text | MIT | | +| alphanum-sort | MIT | | +| amdefine | BSD-3-Clause OR MIT | | +| ansi-html | Apache-2.0 | | +| ansi-regex | MIT | | +| ansi-styles | MIT | | +| anymatch | ISC | | +| aproba | ISC | | +| are-we-there-yet | ISC | | +| argparse | MIT | | +| arr-diff | MIT | | +| arr-flatten | MIT | | +| arr-union | MIT | | +| array-equal | MIT | | +| array-find-index | MIT | | +| array-flatten | MIT | | +| array-includes | MIT | | +| array-slice | MIT | | +| array-union | MIT | | +| array-uniq | MIT | | +| array-unique | MIT | | +| arraybuffer.slice | MIT | | +| arrify | MIT | | +| asn1 | MIT | | +| asn1.js | MIT | | +| assert | MIT | | +| assert-plus | MIT | | +| assign-symbols | MIT | | +| ast-types | MIT | | +| async | MIT | | +| async-each | MIT | | +| async-foreach | MIT | | +| async-limiter | MIT | | +| asynckit | MIT | | +| atob | (MIT OR Apache-2.0) | | +| autoprefixer | MIT | | +| aws-sign2 | Apache-2.0 | | +| aws4 | MIT | | +| babel-code-frame | MIT | | +| babel-core | MIT | | +| babel-eslint | MIT | | +| babel-generator | MIT | | +| babel-helper-builder-binary-assignment-operator-visitor | MIT | | +| babel-helper-call-delegate | MIT | | +| babel-helper-define-map | MIT | | +| babel-helper-explode-assignable-expression | MIT | | +| babel-helper-function-name | MIT | | +| babel-helper-get-function-arity | MIT | | +| babel-helper-hoist-variables | MIT | | +| babel-helper-optimise-call-expression | MIT | | +| babel-helper-regex | MIT | | +| babel-helper-remap-async-to-generator | MIT | | +| babel-helper-replace-supers | MIT | | +| babel-helper-vue-jsx-merge-props | MIT | | +| babel-helpers | MIT | | +| babel-loader | MIT | | +| babel-messages | MIT | | +| babel-plugin-check-es2015-constants | MIT | | +| babel-plugin-syntax-async-functions | MIT | | +| babel-plugin-syntax-class-properties | MIT | | +| babel-plugin-syntax-dynamic-import | MIT | | +| babel-plugin-syntax-exponentiation-operator | MIT | | +| babel-plugin-syntax-jsx | MIT | | +| babel-plugin-syntax-object-rest-spread | MIT | | +| babel-plugin-syntax-trailing-function-commas | MIT | | +| babel-plugin-transform-async-to-generator | MIT | | +| babel-plugin-transform-class-properties | MIT | | +| babel-plugin-transform-es2015-arrow-functions | MIT | | +| babel-plugin-transform-es2015-block-scoped-functions | MIT | | +| babel-plugin-transform-es2015-block-scoping | MIT | | +| babel-plugin-transform-es2015-classes | MIT | | +| babel-plugin-transform-es2015-computed-properties | MIT | | +| babel-plugin-transform-es2015-destructuring | MIT | | +| babel-plugin-transform-es2015-duplicate-keys | MIT | | +| babel-plugin-transform-es2015-for-of | MIT | | +| babel-plugin-transform-es2015-function-name | MIT | | +| babel-plugin-transform-es2015-literals | MIT | | +| babel-plugin-transform-es2015-modules-amd | MIT | | +| babel-plugin-transform-es2015-modules-commonjs | MIT | | +| babel-plugin-transform-es2015-modules-systemjs | MIT | | +| babel-plugin-transform-es2015-modules-umd | MIT | | +| babel-plugin-transform-es2015-object-super | MIT | | +| babel-plugin-transform-es2015-parameters | MIT | | +| babel-plugin-transform-es2015-shorthand-properties | MIT | | +| babel-plugin-transform-es2015-spread | MIT | | +| babel-plugin-transform-es2015-sticky-regex | MIT | | +| babel-plugin-transform-es2015-template-literals | MIT | | +| babel-plugin-transform-es2015-typeof-symbol | MIT | | +| babel-plugin-transform-es2015-unicode-regex | MIT | | +| babel-plugin-transform-exponentiation-operator | MIT | | +| babel-plugin-transform-object-rest-spread | MIT | | +| babel-plugin-transform-regenerator | MIT | | +| babel-plugin-transform-remove-console | MIT | | +| babel-plugin-transform-runtime | MIT | | +| babel-plugin-transform-strict-mode | MIT | | +| babel-plugin-transform-vue-jsx | MIT | | +| babel-preset-env | MIT | | +| babel-register | MIT | | +| babel-runtime | MIT | | +| babel-template | MIT | | +| babel-traverse | MIT | | +| babel-types | MIT | | +| babylon | MIT | | +| backo2 | MIT | | +| balanced-match | MIT | | +| base | MIT | | +| base64-arraybuffer | MIT | | +| base64-js | MIT | | +| base64id | MIT | | +| batch | MIT | | +| bcrypt-pbkdf | BSD-3-Clause | | +| better-assert | MIT | | +| big.js | MIT | | +| binary-extensions | MIT | | +| blob | MIT | | +| block-stream | ISC | | +| bluebird | MIT | | +| bn.js | MIT | | +| body-parser | MIT | | +| bonjour | MIT | | +| boolbase | ISC | | +| bootstrap | MIT | | +| brace-expansion | MIT | | +| braces | MIT | | +| brorand | MIT | | +| browserify-aes | MIT | | +| browserify-cipher | MIT | | +| browserify-des | MIT | | +| browserify-rsa | MIT | | +| browserify-sign | ISC | | +| browserify-zlib | MIT | | +| browserslist | MIT | | +| browserstack | MIT | | +| browserstack-local | MIT | | +| buffer | MIT | | +| buffer-alloc | MIT | | +| buffer-alloc-unsafe | MIT | | +| buffer-fill | MIT | | +| buffer-from | MIT | | +| buffer-indexof | MIT | | +| buffer-xor | MIT | | +| builtin-status-codes | MIT | | +| bytes | MIT | | +| cacache | ISC | | +| cache-base | MIT | | +| call-me-maybe | MIT | | +| caller-callsite | MIT | | +| caller-path | MIT | | +| callsite | MIT | | +| callsites | MIT | | +| camel-case | MIT | | +| camelcase | MIT | | +| camelcase-keys | MIT | | +| caniuse-api | MIT | | +| caniuse-db | CC-BY-4.0 | | +| caniuse-lite | CC-BY-4.0 | | +| canvg | MIT | | +| caseless | Apache-2.0 | | +| center-align | MIT | | +| chalk | MIT | | +| chokidar | MIT | | +| chownr | ISC | | +| cipher-base | MIT | | +| circular-json | MIT | | +| clap | MIT | | +| class-utils | MIT | | +| clean-css | MIT | | +| clipboard | MIT | | +| cliui | ISC | | +| clone | MIT | | +| clone-deep | MIT | | +| co | MIT | | +| coa | MIT | | +| code-frame | MIT | | +| code-point-at | MIT | | +| codemirror | MIT | | +| coffee | MIT | | +| coffee-requirejs | MIT | | +| collection-visit | MIT | | +| color | MIT | | +| color-convert | MIT | | +| color-name | MIT | | +| color-string | MIT | | +| colormin | MIT | | +| colors | MIT | | +| combine-lists | MIT | | +| combined-stream | MIT | | +| commander | MIT | | +| commondir | MIT | | +| component-bind | MIT | | +| component-emitter | MIT | | +| component-inherit | MIT | | +| compressible | MIT | | +| compression | MIT | | +| concat-map | MIT | | +| concat-stream | MIT | | +| connect | MIT | | +| connect-history-api-fallback | MIT | | +| console-browserify | MIT | | +| console-control-strings | ISC | | +| consolidate | MIT | | +| constants-browserify | MIT | | +| content-disposition | MIT | | +| content-type | MIT | | +| convert-source-map | MIT | | +| cookie | MIT | | +| cookie-signature | MIT | | +| copy-concurrently | ISC | | +| copy-descriptor | MIT | | +| copy-webpack-plugin | MIT | | +| core-js | MIT | | +| core-util-is | MIT | | +| cosmiconfig | MIT | | +| create-ecdh | MIT | | +| create-hash | MIT | | +| create-hmac | MIT | | +| cross-env | MIT | | +| cross-spawn | MIT | | +| crypto-browserify | MIT | | +| css-color-names | MIT | | +| css-declaration-sorter | MIT | | +| css-loader | MIT | | +| css-select | BSD-like | | +| css-select-base-adapter | MIT | | +| css-selector-tokenizer | MIT | | +| css-tree | MIT | | +| css-unit-converter | MIT | | +| css-what | BSD-2-Clause | | +| cssesc | MIT | | +| cssnano | MIT | | +| cssnano-preset-default | MIT | | +| cssnano-util-get-arguments | MIT | | +| cssnano-util-get-match | MIT | | +| cssnano-util-raw-cache | MIT | | +| cssnano-util-same-parent | MIT | | +| csso | MIT | | +| cssom | MIT | | +| cssstyle | MIT | | +| currently-unhandled | MIT | | +| custom-event | MIT | | +| cyclist | MIT | | +| d | ISC | | +| d3 | BSD-3-Clause | | +| dashdash | MIT | | +| date-format | MIT | | +| date-now | MIT | | +| dateformat | MIT | | +| dayjs | MIT | | +| de-indent | MIT | | +| debug | MIT | | +| decamelize | MIT | | +| decode-uri-component | MIT | | +| deep-equal | MIT | | +| deep-is | MIT | | +| define-properties | MIT | | +| define-property | MIT | | +| defined | MIT | | +| del | MIT | | +| delayed-stream | MIT | | +| delegate | MIT | | +| delegates | MIT | | +| depd | MIT | | +| des.js | MIT | | +| destroy | MIT | | +| detect-indent | MIT | | +| detect-node | ISC | | +| di | MIT | | +| diffie-hellman | MIT | | +| dir-glob | MIT | | +| dns-equal | MIT | | +| dns-packet | MIT | | +| dns-txt | MIT | | +| dom-converter | MIT | | +| dom-serialize | MIT | | +| dom-serializer | MIT | | +| domain-browser | MIT | | +| domelementtype | BSD-2-Clause | | +| domhandler | BSD-2-Clause | | +| domutils | BSD-2-Clause | | +| dot-prop | MIT | | +| dotenv | BSD-2-Clause | | +| duplexer | BSD-2-Clause | | +| duplexify | MIT | | +| ecc-jsbn | MIT | | +| echarts | Apache License Version 2.0 | | +| ee-first | MIT | | +| ejs | Apache-2.0 | | +| electron-to-chromium | ISC | | +| elliptic | MIT | | +| emojis-list | MIT | | +| encodeurl | MIT | | +| end-of-stream | MIT | | +| engine.io | MIT | | +| engine.io-client | MIT | | +| engine.io-parser | MIT | | +| enhanced-resolve | MIT | | +| ent | MIT | | +| entities | BSD-2-Clause | | +| env-parse | ISC | | +| errno | MIT | | +| error-ex | MIT | | +| es-abstract | MIT | | +| es-to-primitive | MIT | | +| es5-ext | ISC | | +| es6-iterator | MIT | | +| es6-map | MIT | | +| es6-promise | MIT | | +| es6-promisify | MIT | | +| es6-set | MIT | | +| es6-symbol | MIT | | +| es6-templates | Apache 2 | | +| es6-weak-map | ISC | | +| escape-html | MIT | | +| escape-string-regexp | MIT | | +| escodegen | BSD-2-Clause | | +| escope | BSD-2-Clause | | +| eslint-scope | BSD-2-Clause | | +| eslint-visitor-keys | Apache-2.0 | | +| esprima | BSD-2-Clause | | +| esrecurse | BSD-2-Clause | | +| estraverse | BSD | | +| esutils | BSD-2-Clause | | +| etag | MIT | | +| event-emitter | MIT | | +| event-stream | MIT | | +| eventemitter3 | MIT | | +| events | MIT | | +| eventsource | MIT | | +| evp_bytestokey | MIT | | +| execa | MIT | | +| expand-braces | MIT | | +| expand-brackets | MIT | | +| expand-range | MIT | | +| extend | MIT | | +| extend-shallow | MIT | | +| extglob | MIT | | +| extract-text-webpack-plugin | MIT | | +| extsprintf | MIT | | +| fast-deep-equal | MIT | | +| fast-glob | MIT | | +| fast-json-stable-stringify | MIT | | +| fast-levenshtein | MIT | | +| fastparse | MIT | | +| faye-websocket | Apache-2.0 | | +| file-loader | MIT | | +| fill-range | MIT | | +| finalhandler | MIT | | +| find-cache-dir | MIT | | +| find-up | MIT | | +| flatted | ISC | | +| flatten | MIT | | +| flush-write-stream | MIT | | +| follow-redirects | MIT | | +| for-in | MIT | | +| for-own | MIT | | +| forever-agent | Apache-2.0 | | +| form-data | MIT | | +| forwarded | MIT | | +| fragment-cache | MIT | | +| fresh | MIT | | +| from | MIT | | +| from2 | MIT | | +| fs-access | MIT | | +| fs-write-stream-atomic | ISC | | +| fs.realpath | ISC | | +| fs.stat | MIT | | +| fstream | ISC | | +| function-bind | MIT | | +| gauge | ISC | | +| gaze | MIT | | +| generator | MIT | | +| get-caller-file | ISC | | +| get-stdin | MIT | | +| get-stream | MIT | | +| get-value | MIT | | +| getpass | MIT | | +| glob | ISC | | +| glob-parent | ISC | | +| glob-to-regexp | BSD | | +| globals | MIT | | +| globby | MIT | | +| globule | MIT | | +| good-listener | MIT | | +| graceful-fs | ISC | | +| handle-thing | MIT | | +| handlebars | MIT | | +| har-schema | ISC | | +| har-validator | MIT | | +| has | MIT | | +| has-ansi | MIT | | +| has-binary2 | MIT | | +| has-cors | MIT | | +| has-flag | MIT | | +| has-symbols | MIT | | +| has-unicode | ISC | | +| has-value | MIT | | +| has-values | MIT | | +| hash-base | MIT | | +| hash-sum | MIT | | +| hash.js | MIT | | +| he | MIT | | +| helper-function-name | MIT | | +| helper-get-function-arity | MIT | | +| helper-split-export-declaration | MIT | | +| hex-color-regex | MIT | | +| highlight | MIT | | +| hmac-drbg | MIT | | +| home-or-tmp | MIT | | +| hosted-git-info | ISC | | +| hpack.js | MIT | | +| hsl-regex | MIT | | +| hsla-regex | MIT | | +| html-comment-regex | MIT | | +| html-entities | MIT | | +| html-loader | MIT | | +| html-minifier | MIT | | +| html-webpack-ext-plugin | MIT | | +| html-webpack-plugin | MIT | | +| html2canvas | MIT | | +| htmlparser2 | MIT | | +| http-deceiver | MIT | | +| http-errors | MIT | | +| http-parser-js | MIT | | +| http-proxy | MIT | | +| http-proxy-middleware | MIT | | +| http-signature | MIT | | +| https-browserify | MIT | | +| https-proxy-agent | MIT | | +| iconv-lite | MIT | | +| icss-replace-symbols | ISC | | +| icss-utils | ISC | | +| ieee754 | BSD-3-Clause | | +| iferr | MIT | | +| ignore | MIT | | +| import-cwd | MIT | | +| import-fresh | MIT | | +| import-from | MIT | | +| import-local | MIT | | +| imurmurhash | MIT | | +| in-publish | ISC | | +| indent-string | MIT | | +| indexes-of | MIT | | +| indexof | MIT | | +| inflight | ISC | | +| inherits | ISC | | +| internal-ip | MIT | | +| interpret | MIT | | +| invariant | MIT | | +| invert-kv | MIT | | +| ip | MIT | | +| ipaddr.js | MIT | | +| is-absolute-url | MIT | | +| is-accessor-descriptor | MIT | | +| is-arrayish | MIT | | +| is-binary-path | MIT | | +| is-buffer | MIT | | +| is-callable | MIT | | +| is-color-stop | MIT | | +| is-data-descriptor | MIT | | +| is-date-object | MIT | | +| is-descriptor | MIT | | +| is-directory | MIT | | +| is-extendable | MIT | | +| is-extglob | MIT | | +| is-finite | MIT | | +| is-fullwidth-code-point | MIT | | +| is-glob | MIT | | +| is-number | MIT | | +| is-obj | MIT | | +| is-path-cwd | MIT | | +| is-path-in-cwd | MIT | | +| is-path-inside | MIT | | +| is-plain-obj | MIT | | +| is-plain-object | MIT | | +| is-regex | MIT | | +| is-resolvable | ISC | | +| is-running | BSD | | +| is-stream | MIT | | +| is-svg | MIT | | +| is-symbol | MIT | | +| is-typedarray | MIT | | +| is-utf8 | MIT | | +| is-windows | MIT | | +| is-wsl | MIT | | +| isarray | MIT | | +| isbinaryfile | MIT | | +| isexe | ISC | | +| isobject | MIT | | +| isstream | MIT | | +| istanbul | BSD-3-Clause | | +| jasmine-core | MIT | | +| jquery | MIT | | +| js-base64 | BSD-3-Clause | | +| js-tokens | MIT | | +| js-yaml | MIT | | +| jsbn | MIT | | +| jsdom | MIT | | +| jsesc | MIT | | +| json-loader | MIT | | +| json-parse-better-errors | MIT | | +| json-schema | cv2.1,BSD | | +| json-schema-traverse | MIT | | +| json-stringify-safe | ISC | | +| json3 | MIT | | +| json5 | MIT | | +| jsplumb | (MIT OR GPL-2.0) | | +| jsprim | MIT | | +| karma | MIT | | +| karma-browserstack-launcher | MIT | | +| karma-chrome-launcher | MIT | | +| karma-coverage | MIT | | +| karma-jasmine | MIT | | +| karma-sourcemap-loader | MIT | | +| karma-spec-reporter | MIT | | +| karma-webpack | MIT | | +| killable | ISC | | +| kind-of | MIT | | +| last-call-webpack-plugin | MIT | | +| lazy-cache | MIT | | +| lcid | MIT | | +| levn | MIT | | +| load-json-file | MIT | | +| loader-runner | MIT | | +| loader-utils | MIT | | +| locate-path | MIT | | +| lodash | MIT | | +| lodash.camelcase | MIT | | +| lodash.memoize | MIT | | +| lodash.tail | MIT | | +| lodash.uniq | MIT | | +| log-symbols | MIT | | +| log4js | Apache-2.0 | | +| loglevel | MIT | | +| loglevelnext | MIT | | +| longest | MIT | | +| loose-envify | MIT | | +| loud-rejection | MIT | | +| lower-case | MIT | | +| lru-cache | ISC | | +| make-dir | MIT | | +| map-cache | MIT | | +| map-obj | MIT | | +| map-stream | MIT | | +| map-visit | MIT | | +| math-expression-evaluator | MIT | | +| md5.js | MIT | | +| mdn-data | CC0-1.0 | | +| media-typer | MIT | | +| mem | MIT | | +| memory-fs | MIT | | +| meow | MIT | | +| merge-descriptors | MIT | | +| merge2 | MIT | | +| methods | MIT | | +| micromatch | MIT | | +| miller-rabin | MIT | | +| mime | MIT | | +| mime-db | MIT | | +| mime-types | MIT | | +| mimic-fn | MIT | | +| minimalistic-assert | ISC | | +| minimalistic-crypto-utils | MIT | | +| minimatch | ISC | | +| minimist | MIT | | +| mississippi | BSD-2-Clause | | +| mixin-deep | MIT | | +| mixin-object | MIT | | +| mkdirp | MIT | | +| move-concurrently | ISC | | +| ms | MIT | | +| multicast-dns | MIT | | +| multicast-dns-service-types | MIT | | +| multirepo | MIT | | +| mylib | ISC | | +| nan | MIT | | +| nanomatch | MIT | | +| negotiator | MIT | | +| neo-async | MIT | | +| next-tick | MIT | | +| nice-try | MIT | | +| no-case | MIT | | +| node-forge | (BSD-3-Clause OR GPL-2.0) | | +| node-gyp | MIT | | +| node-libs-browser | MIT | | +| node-releases | MIT | | +| node-sass | MIT | | +| nopt | ISC | | +| normalize-package-data | BSD-2-Clause | | +| normalize-path | MIT | | +| normalize-range | MIT | | +| normalize-url | MIT | | +| npm-run-path | MIT | | +| npmlog | ISC | | +| nth-check | BSD-2-Clause | | +| null-check | MIT | | +| num2fraction | MIT | | +| number-is-nan | MIT | | +| nwmatcher | MIT | | +| oauth-sign | Apache-2.0 | | +| object-assign | MIT | | +| object-component | MIT | | +| object-copy | MIT | | +| object-keys | MIT | | +| object-visit | MIT | | +| object.assign | MIT | | +| object.getownpropertydescriptors | MIT | | +| object.pick | MIT | | +| object.values | MIT | | +| obuf | MIT | | +| on-finished | MIT | | +| on-headers | MIT | | +| once | ISC | | +| opn | MIT | | +| optimist | MIT/X11 | | +| optimize-css-assets-webpack-plugin | MIT | | +| optionator | MIT | | +| original | MIT | | +| os-browserify | MIT | | +| os-homedir | MIT | | +| os-locale | MIT | | +| os-tmpdir | MIT | | +| osenv | ISC | | +| p-finally | MIT | | +| p-limit | MIT | | +| p-locate | MIT | | +| p-map | MIT | | +| p-try | MIT | | +| package-a | MIT | | +| package-b | MIT | | +| pako | (MIT AND Zlib) | | +| parallel-transform | MIT | | +| param-case | MIT | | +| parse-asn1 | ISC | | +| parse-json | MIT | | +| parse5 | MIT | | +| parseqs | MIT | | +| parseuri | MIT | | +| parseurl | MIT | | +| pascalcase | MIT | | +| path-browserify | MIT | | +| path-dirname | MIT | | +| path-exists | MIT | | +| path-is-absolute | MIT | | +| path-is-inside | (WTFPL OR MIT) | | +| path-key | MIT | | +| path-parse | MIT | | +| path-to-regexp | MIT | | +| path-type | MIT | | +| pause-stream | MIT,Apache2 | | +| pbkdf2 | MIT | | +| performance-now | MIT | | +| pify | MIT | | +| pinkie | MIT | | +| pinkie-promise | MIT | | +| pkg-dir | MIT | | +| portfinder | MIT | | +| posix-character-classes | MIT | | +| postcss | MIT | | +| postcss-calc | MIT | | +| postcss-colormin | MIT | | +| postcss-convert-values | MIT | | +| postcss-discard-comments | MIT | | +| postcss-discard-duplicates | MIT | | +| postcss-discard-empty | MIT | | +| postcss-discard-overridden | MIT | | +| postcss-discard-unused | MIT | | +| postcss-filter-plugins | MIT | | +| postcss-load-config | MIT | | +| postcss-load-options | MIT | | +| postcss-load-plugins | MIT | | +| postcss-loader | MIT | | +| postcss-merge-idents | MIT | | +| postcss-merge-longhand | MIT | | +| postcss-merge-rules | MIT | | +| postcss-message-helpers | MIT | | +| postcss-minify-font-values | MIT | | +| postcss-minify-gradients | MIT | | +| postcss-minify-params | MIT | | +| postcss-minify-selectors | MIT | | +| postcss-modules-extract-imports | ISC | | +| postcss-modules-local-by-default | MIT | | +| postcss-modules-scope | ISC | | +| postcss-modules-values | ISC | | +| postcss-normalize-charset | MIT | | +| postcss-normalize-display-values | MIT | | +| postcss-normalize-positions | MIT | | +| postcss-normalize-repeat-style | MIT | | +| postcss-normalize-string | MIT | | +| postcss-normalize-timing-functions | MIT | | +| postcss-normalize-unicode | MIT | | +| postcss-normalize-url | MIT | | +| postcss-normalize-whitespace | MIT | | +| postcss-ordered-values | MIT | | +| postcss-reduce-idents | MIT | | +| postcss-reduce-initial | MIT | | +| postcss-reduce-transforms | MIT | | +| postcss-selector-parser | MIT | | +| postcss-svgo | MIT | | +| postcss-unique-selectors | MIT | | +| postcss-value-parser | MIT | | +| postcss-zindex | MIT | | +| prelude-ls | MIT | | +| prepend-http | MIT | | +| prettier | MIT | | +| pretty-error | MIT | | +| private | MIT | | +| process | MIT | | +| process-nextick-args | MIT | | +| promise-inflight | ISC | | +| proxy-addr | MIT | | +| prr | MIT | | +| ps-tree | MIT | | +| pseudomap | ISC | | +| psl | MIT | | +| public-encrypt | MIT | | +| pump | MIT | | +| pumpify | MIT | | +| punycode | MIT | | +| q | MIT | | +| qjobs | MIT | | +| qs | BSD-3-Clause | | +| query-string | MIT | | +| querystring | MIT | | +| querystring-es3 | MIT | | +| querystringify | MIT | | +| randombytes | MIT | | +| randomfill | MIT | | +| range-parser | MIT | | +| raw-body | MIT | | +| read-pkg | MIT | | +| read-pkg-up | MIT | | +| readable-stream | MIT | | +| readdir-enhanced | MIT | | +| readdirp | MIT | | +| recast | MIT | | +| redent | MIT | | +| reduce-css-calc | MIT | | +| reduce-function-call | MIT | | +| regenerate | MIT | | +| regenerator-runtime | MIT | | +| regenerator-transform | BSD | | +| regex-not | MIT | | +| regexpu-core | MIT | | +| regjsgen | MIT | | +| regjsparser | BSD | | +| relateurl | MIT | | +| remove-trailing-separator | ISC | | +| renderkid | MIT | | +| repeat-element | MIT | | +| repeat-string | MIT | | +| repeating | MIT | | +| request | Apache-2.0 | | +| require-directory | MIT | | +| require-from-string | MIT | | +| require-main-filename | ISC | | +| requires-port | MIT | | +| resolve | MIT | | +| resolve-cwd | MIT | | +| resolve-from | MIT | | +| resolve-url | MIT | | +| ret | MIT | | +| rfdc | MIT | | +| rgb-regex | MIT | | +| rgba-regex | MIT | | +| rgbcolor | MIT OR SEE LICENSE IN FEEL-FREE.md | | +| right-align | MIT | | +| rimraf | ISC | | +| ripemd160 | MIT | | +| run-queue | ISC | | +| safe-buffer | MIT | | +| safe-regex | MIT | | +| safer-buffer | MIT | | +| sass-graph | MIT | | +| sass-loader | MIT | | +| sax | ISC | | +| schema-utils | MIT | | +| scss-tokenizer | MIT | | +| select | MIT | | +| select-hose | MIT | | +| selfsigned | MIT | | +| semver | ISC | | +| send | MIT | | +| serialize-javascript | BSD-3-Clause | | +| serve-index | MIT | | +| serve-static | MIT | | +| set-blocking | ISC | | +| set-value | MIT | | +| setimmediate | MIT | | +| setprototypeof | ISC | | +| sha.js | (MIT AND BSD-3-Clause) | | +| shallow-clone | MIT | | +| shebang-command | MIT | | +| shebang-regex | MIT | | +| signal-exit | ISC | | +| simple-swizzle | MIT | | +| slash | MIT | | +| snapdragon | MIT | | +| snapdragon-node | MIT | | +| snapdragon-util | MIT | | +| socket.io | MIT | | +| socket.io-adapter | MIT | | +| socket.io-client | MIT | | +| socket.io-parser | MIT | | +| sockjs | MIT | | +| sockjs-client | MIT | | +| sort-keys | MIT | | +| source-list-map | MIT | | +| source-map | BSD-3-Clause | | +| source-map-resolve | MIT | | +| source-map-support | MIT | | +| source-map-url | MIT | | +| spdx-correct | Apache-2.0 | | +| spdx-exceptions | CC-BY-3.0 | | +| spdx-expression-parse | MIT | | +| spdx-license-ids | CC0-1.0 | | +| spdy | MIT | | +| spdy-transport | MIT | | +| split | MIT | | +| split-string | MIT | | +| sprintf-js | BSD-3-Clause | | +| sshpk | MIT | | +| ssri | ISC | | +| stable | MIT | | +| stackblur-canvas | MIT | | +| static-extend | MIT | | +| statuses | MIT | | +| stdout-stream | MIT | | +| stream-browserify | MIT | | +| stream-combiner | MIT | | +| stream-each | MIT | | +| stream-http | MIT | | +| stream-shift | MIT | | +| streamroller | MIT | | +| strict-uri-encode | MIT | | +| string-width | MIT | | +| string_decoder | MIT | | +| strip-ansi | MIT | | +| strip-bom | MIT | | +| strip-eof | MIT | | +| strip-indent | MIT | | +| stylehacks | MIT | | +| supports-color | MIT | | +| svgo | MIT | | +| symbol-tree | MIT | | +| tapable | MIT | | +| tar | ISC | | +| temp-fs | MIT | | +| template | MIT | | +| through | MIT | | +| through2 | MIT | | +| thunky | MIT | | +| time-stamp | MIT | | +| timers-browserify | MIT | | +| timsort | MIT | | +| tiny-emitter | MIT | | +| tmp | MIT | | +| to-array | MIT | | +| to-arraybuffer | MIT | | +| to-fast-properties | MIT | | +| to-object-path | MIT | | +| to-regex | MIT | | +| to-regex-range | MIT | | +| toidentifier | MIT | | +| tools | MIT | | +| toposort | MIT | | +| tough-cookie | BSD-3-Clause | | +| tr46 | MIT | | +| traverse | MIT | | +| trim-newlines | MIT | | +| trim-right | MIT | | +| true-case-path | Apache-2.0 | | +| tty-browserify | MIT | | +| tunnel-agent | Apache-2.0 | | +| tweetnacl | The Unlicense | | +| type | ISC | | +| type-check | MIT | | +| type-is | MIT | | +| typedarray | MIT | | +| types | MIT | | +| uglify-es | BSD-2-Clause | | +| uglify-js | BSD-2-Clause | | +| uglify-to-browserify | MIT | | +| uglifyjs-webpack-plugin | MIT | | +| ultron | MIT | | +| union-value | MIT | | +| uniq | MIT | | +| uniqs | MIT | | +| unique-filename | ISC | | +| unique-slug | ISC | | +| unpipe | MIT | | +| unquote | MIT | | +| unset-value | MIT | | +| upath | MIT | | +| upper-case | MIT | | +| uri-js | BSD-2-Clause | | +| urix | MIT | | +| url | MIT | | +| url-join | MIT | | +| url-loader | MIT | | +| url-parse | MIT | | +| use | MIT | | +| useragent | MIT | | +| util | MIT | | +| util-deprecate | MIT | | +| util.promisify | MIT | | +| utila | MIT | | +| utils-merge | MIT | | +| uuid | MIT | | +| validate-npm-package-license | Apache-2.0 | | +| vary | MIT | | +| vendors | MIT | | +| verror | MIT | | +| vm-browserify | MIT | | +| void-elements | MIT | | +| vue | MIT | | +| vue-hot-reload-api | MIT | | +| vue-loader | MIT | | +| vue-router | MIT | | +| vue-style-loader | MIT | | +| vue-template-compiler | MIT | | +| vue-template-es2015-compiler | MIT | | +| vuex | MIT | | +| vuex-router-sync | MIT | | +| watchpack | MIT | | +| wbuf | MIT | | +| webidl-conversions | BSD-2-Clause | | +| webpack | MIT | | +| webpack-dev-middleware | MIT | | +| webpack-dev-server | MIT | | +| webpack-log | MIT | | +| webpack-merge | MIT | | +| webpack-sources | MIT | | +| websocket-driver | Apache-2.0 | | +| websocket-extensions | MIT | | +| whatwg-url | MIT | | +| whet.extend | MIT | | +| which | ISC | | +| which-module | ISC | | +| wide-align | ISC | | +| window-size | MIT | | +| wordwrap | MIT/X11 | | +| worker-farm | MIT | | +| wrap-ansi | MIT | | +| wrappy | ISC | | +| ws | MIT | | +| xml-name-validator | WTFPL | | +| xmldom | MIT,LGPL | will remove | +| xmlhttprequest-ssl | MIT | | +| xtend | MIT | | +| y18n | ISC | | +| yallist | ISC | | +| yargs | MIT | | +| yargs-parser | ISC | | +| yeast | MIT | | +| zrender | BSD | | + + + +## Required Resources + +### Git Repositories + +- +- + +### Issue Tracking -Initial Committers +The community would like to continue using GitHub Issues. -William-GuoWei +### Continuous Integration tool -Lidong Dai +Travis (TODO) -Zhanwei Qiao +### Mailing Lists -Liang Bao +- EasyScheduler-dev: for development discussions +- EasyScheduler-private: for PPMC discussions +- EasyScheduler-notifications: for users notifications -Gang Li +## Initial Committers -Zijian Gong +- William-GuoWei +- Lidong Dai +- Zhanwei Qiao +- Liang Bao +- Gang Li +- Zijian Gong +- Jun Gao +- Baoqi Wu -Jun Gao +## Affiliations -Baoqi Wu +- Analysys: William-GuoWei,Zhanwei Qiao,Liang Bao,Gang Li,Jun Gao,Lidong Dai -Affiliations +- Hydee: Zijian Gong -Analysys: William-GuoWei,Zhanwei Qiao,Liang Bao,Gang Li,Jun Gao,Lidong Dai +- Guandata: Baoqi Wu -Hydee: Zijian Gong + -Guandata: Baoqi Wu +## Sponsors -Sponsors +### Champion -Champion +- Sheng Wu ( Apache Software Foundation Member [wusheng@apache.org](mailto:wusheng@apache.org)) -Sheng Wu ( Apache Software Foundation Member wusheng@apache.org) +### Mentors -Mentors +- Sheng Wu ( Apache Software Foundation Member [wusheng@apache.org](mailto:wusheng@apache.org)) -Sheng Wu ( Apache Software Foundation Member wusheng@apache.org) +- ShaoFeng Shi ( Apache Kylin committer & PMC, Apache Incubator PMC, [shaofengshi@apache.org](mailto:wusheng@apache.org)) -ShaoFeng Shi ( Apache Kylin committer & PMC, Apache Incubator PMC, shaofengshi@apache.org) +- Liang Chen ( Apache Software Foundation Member chenliang613@apache.org](mailto:chenliang613@apache.org)) -Liang Chen ( Apache Software Foundation Member chenliang613@apache.org](mailto:chenliang613@apache.org)) + -Sponsoring Entity +### Sponsoring Entity We are expecting the Apache Incubator could sponsor this project. From d58638c972699d7705947cff6c447be554d7a5ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=94=E5=8D=A0=E5=8D=AB?= <825193156@qq.com> Date: Tue, 13 Aug 2019 11:12:27 +0800 Subject: [PATCH 6/8] =?UTF-8?q?bug=20fix=20#688=EF=BC=8Ca=20user=20generat?= =?UTF-8?q?ed=20multiple=20ip=20session,=20the=20query=20error=20(#689)=20?= =?UTF-8?q?(#693)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dockerfile/Dockerfile | 146 ++++++++++ .../conf/escheduler/conf/alert.properties | 30 ++ .../conf/escheduler/conf/alert_logback.xml | 31 +++ .../escheduler/conf/apiserver_logback.xml | 42 +++ .../escheduler/conf/application.properties | 19 ++ .../conf/application_master.properties | 1 + .../escheduler/conf/common/common.properties | 42 +++ .../conf/common/hadoop/hadoop.properties | 18 ++ .../conf/config/install_config.conf | 3 + .../escheduler/conf/config/run_config.conf | 4 + .../conf/dao/data_source.properties | 53 ++++ .../escheduler/conf/env/.escheduler_env.sh | 3 + .../escheduler/conf/i18n/messages.properties | 229 +++++++++++++++ .../conf/i18n/messages_en_US.properties | 229 +++++++++++++++ .../conf/i18n/messages_zh_CN.properties | 227 +++++++++++++++ .../mail_templates/alert_mail_template.ftl | 1 + .../conf/escheduler/conf/master.properties | 21 ++ .../conf/escheduler/conf/master_logback.xml | 34 +++ .../conf/escheduler/conf/quartz.properties | 39 +++ .../conf/escheduler/conf/worker.properties | 15 + .../conf/escheduler/conf/worker_logback.xml | 53 ++++ .../conf/escheduler/conf/zookeeper.properties | 25 ++ dockerfile/conf/maven/settings.xml | 263 ++++++++++++++++++ dockerfile/conf/nginx/default.conf | 31 +++ dockerfile/conf/zookeeper/zoo.cfg | 28 ++ dockerfile/hooks/build | 8 + dockerfile/hooks/push | 8 + dockerfile/startup.sh | 81 ++++++ .../api/service/SessionService.java | 29 +- .../escheduler/dao/mapper/SessionMapper.java | 23 +- .../escheduler/server/utils/ParamUtils.java | 1 - 31 files changed, 1712 insertions(+), 25 deletions(-) create mode 100644 dockerfile/Dockerfile create mode 100644 dockerfile/conf/escheduler/conf/alert.properties create mode 100644 dockerfile/conf/escheduler/conf/alert_logback.xml create mode 100644 dockerfile/conf/escheduler/conf/apiserver_logback.xml create mode 100644 dockerfile/conf/escheduler/conf/application.properties create mode 100644 dockerfile/conf/escheduler/conf/application_master.properties create mode 100644 dockerfile/conf/escheduler/conf/common/common.properties create mode 100644 dockerfile/conf/escheduler/conf/common/hadoop/hadoop.properties create mode 100644 dockerfile/conf/escheduler/conf/config/install_config.conf create mode 100644 dockerfile/conf/escheduler/conf/config/run_config.conf create mode 100644 dockerfile/conf/escheduler/conf/dao/data_source.properties create mode 100644 dockerfile/conf/escheduler/conf/env/.escheduler_env.sh create mode 100644 dockerfile/conf/escheduler/conf/i18n/messages.properties create mode 100644 dockerfile/conf/escheduler/conf/i18n/messages_en_US.properties create mode 100644 dockerfile/conf/escheduler/conf/i18n/messages_zh_CN.properties create mode 100644 dockerfile/conf/escheduler/conf/mail_templates/alert_mail_template.ftl create mode 100644 dockerfile/conf/escheduler/conf/master.properties create mode 100644 dockerfile/conf/escheduler/conf/master_logback.xml create mode 100644 dockerfile/conf/escheduler/conf/quartz.properties create mode 100644 dockerfile/conf/escheduler/conf/worker.properties create mode 100644 dockerfile/conf/escheduler/conf/worker_logback.xml create mode 100644 dockerfile/conf/escheduler/conf/zookeeper.properties create mode 100644 dockerfile/conf/maven/settings.xml create mode 100644 dockerfile/conf/nginx/default.conf create mode 100644 dockerfile/conf/zookeeper/zoo.cfg create mode 100644 dockerfile/hooks/build create mode 100644 dockerfile/hooks/push create mode 100644 dockerfile/startup.sh diff --git a/dockerfile/Dockerfile b/dockerfile/Dockerfile new file mode 100644 index 0000000000..d194fd7bdb --- /dev/null +++ b/dockerfile/Dockerfile @@ -0,0 +1,146 @@ +FROM ubuntu:18.04 + +MAINTAINER journey "825193156@qq.com" + +ENV LANG=C.UTF-8 + +ARG version +ARG tar_version + +#1,安装jdk + +RUN apt-get update \ + && apt-get -y install openjdk-8-jdk \ + && rm -rf /var/lib/apt/lists/* + +ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64 +ENV PATH $JAVA_HOME/bin:$PATH + + +#安装wget +RUN apt-get update && \ + apt-get -y install wget +#2,安装ZK +#RUN cd /opt && \ +# wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz && \ +# tar -zxvf zookeeper-3.4.6.tar.gz && \ +# mv zookeeper-3.4.6 zookeeper && \ +# rm -rf ./zookeeper-*tar.gz && \ +# mkdir -p /tmp/zookeeper && \ +# rm -rf /opt/zookeeper/conf/zoo_sample.cfg + +RUN cd /opt && \ + wget https://www-us.apache.org/dist/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz && \ + tar -zxvf zookeeper-3.4.14.tar.gz && \ + mv zookeeper-3.4.14 zookeeper && \ + rm -rf ./zookeeper-*tar.gz && \ + mkdir -p /tmp/zookeeper && \ + rm -rf /opt/zookeeper/conf/zoo_sample.cfg + +ADD ./conf/zookeeper/zoo.cfg /opt/zookeeper/conf +ENV ZK_HOME=/opt/zookeeper +ENV PATH $PATH:$ZK_HOME/bin + +#3,安装maven +RUN cd /opt && \ + wget http://apache-mirror.rbc.ru/pub/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz && \ + tar -zxvf apache-maven-3.3.9-bin.tar.gz && \ + mv apache-maven-3.3.9 maven && \ + rm -rf ./apache-maven-*tar.gz && \ + rm -rf /opt/maven/conf/settings.xml +ADD ./conf/maven/settings.xml /opt/maven/conf +ENV MAVEN_HOME=/opt/maven +ENV PATH $PATH:$MAVEN_HOME/bin + +#4,安装node +RUN cd /opt && \ + wget https://nodejs.org/download/release/v8.9.4/node-v8.9.4-linux-x64.tar.gz && \ + tar -zxvf node-v8.9.4-linux-x64.tar.gz && \ + mv node-v8.9.4-linux-x64 node && \ + rm -rf ./node-v8.9.4-*tar.gz +ENV NODE_HOME=/opt/node +ENV PATH $PATH:$NODE_HOME/bin + +#5,下载escheduler +RUN cd /opt && \ + wget https://github.com/analysys/EasyScheduler/archive/${version}.tar.gz && \ + tar -zxvf ${version}.tar.gz && \ + mv EasyScheduler-${version} easyscheduler_source && \ + rm -rf ./${version}.tar.gz + +#6,后端编译 +RUN cd /opt/easyscheduler_source && \ + mvn -U clean package assembly:assembly -Dmaven.test.skip=true + +#7,前端编译 +RUN chmod -R 777 /opt/easyscheduler_source/escheduler-ui && \ + cd /opt/easyscheduler_source/escheduler-ui && \ + rm -rf /opt/easyscheduler_source/escheduler-ui/node_modules && \ + npm install node-sass --unsafe-perm && \ + npm install && \ + npm run build +#8,安装mysql +RUN echo "deb http://cn.archive.ubuntu.com/ubuntu/ xenial main restricted universe multiverse" >> /etc/apt/sources.list + +RUN echo "mysql-server mysql-server/root_password password root" | debconf-set-selections +RUN echo "mysql-server mysql-server/root_password_again password root" | debconf-set-selections + +RUN apt-get update && \ + apt-get -y install mysql-server-5.7 && \ + mkdir -p /var/lib/mysql && \ + mkdir -p /var/run/mysqld && \ + mkdir -p /var/log/mysql && \ + chown -R mysql:mysql /var/lib/mysql && \ + chown -R mysql:mysql /var/run/mysqld && \ + chown -R mysql:mysql /var/log/mysql + + +# UTF-8 and bind-address +RUN sed -i -e "$ a [client]\n\n[mysql]\n\n[mysqld]" /etc/mysql/my.cnf && \ + sed -i -e "s/\(\[client\]\)/\1\ndefault-character-set = utf8/g" /etc/mysql/my.cnf && \ + sed -i -e "s/\(\[mysql\]\)/\1\ndefault-character-set = utf8/g" /etc/mysql/my.cnf && \ + sed -i -e "s/\(\[mysqld\]\)/\1\ninit_connect='SET NAMES utf8'\ncharacter-set-server = utf8\ncollation-server=utf8_general_ci\nbind-address = 0.0.0.0/g" /etc/mysql/my.cnf + + +#9,安装nginx +RUN apt-get update && \ + apt-get install -y nginx && \ + rm -rf /var/lib/apt/lists/* && \ + echo "\ndaemon off;" >> /etc/nginx/nginx.conf && \ + chown -R www-data:www-data /var/lib/nginx + +#10,修改escheduler配置文件 +#后端配置 +RUN mkdir -p /opt/escheduler && \ + tar -zxvf /opt/easyscheduler_source/target/escheduler-${tar_version}.tar.gz -C /opt/escheduler && \ + rm -rf /opt/escheduler/conf +ADD ./conf/escheduler/conf /opt/escheduler/conf +#前端nginx配置 +ADD ./conf/nginx/default.conf /etc/nginx/conf.d + +#11,开放端口 +EXPOSE 2181 2888 3888 3306 80 12345 8888 + +#12,安装sudo,python,vim,ping和ssh +RUN apt-get update && \ + apt-get -y install sudo && \ + apt-get -y install python && \ + apt-get -y install vim && \ + apt-get -y install iputils-ping && \ + apt-get -y install net-tools && \ + apt-get -y install openssh-server && \ + apt-get -y install python-pip && \ + pip install kazoo + +COPY ./startup.sh /root/startup.sh +#13,修改权限和设置软连 +RUN chmod +x /root/startup.sh && \ + chmod +x /opt/escheduler/script/create_escheduler.sh && \ + chmod +x /opt/zookeeper/bin/zkServer.sh && \ + chmod +x /opt/escheduler/bin/escheduler-daemon.sh && \ + rm -rf /bin/sh && \ + ln -s /bin/bash /bin/sh && \ + mkdir -p /tmp/xls + + +ENTRYPOINT ["/root/startup.sh"] diff --git a/dockerfile/conf/escheduler/conf/alert.properties b/dockerfile/conf/escheduler/conf/alert.properties new file mode 100644 index 0000000000..df7d8372d7 --- /dev/null +++ b/dockerfile/conf/escheduler/conf/alert.properties @@ -0,0 +1,30 @@ +#alert type is EMAIL/SMS +alert.type=EMAIL + +# mail server configuration +mail.protocol=SMTP +mail.server.host=smtp.office365.com +mail.server.port=587 +mail.sender=qiaozhanwei@outlook.com +mail.passwd=eschedulerBJEG + +# TLS +mail.smtp.starttls.enable=true +# SSL +mail.smtp.ssl.enable=false + +#xls file path,need create if not exist +xls.file.path=/tmp/xls + +# Enterprise WeChat configuration +enterprise.wechat.corp.id=xxxxxxx +enterprise.wechat.secret=xxxxxxx +enterprise.wechat.agent.id=xxxxxxx +enterprise.wechat.users=xxxxxxx +enterprise.wechat.token.url=https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$corpId&corpsecret=$secret +enterprise.wechat.push.url=https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$token +enterprise.wechat.team.send.msg={\"toparty\":\"$toParty\",\"agentid\":\"$agentId\",\"msgtype\":\"text\",\"text\":{\"content\":\"$msg\"},\"safe\":\"0\"} +enterprise.wechat.user.send.msg={\"touser\":\"$toUser\",\"agentid\":\"$agentId\",\"msgtype\":\"markdown\",\"markdown\":{\"content\":\"$msg\"}} + + + diff --git a/dockerfile/conf/escheduler/conf/alert_logback.xml b/dockerfile/conf/escheduler/conf/alert_logback.xml new file mode 100644 index 0000000000..c4ca8e9d1f --- /dev/null +++ b/dockerfile/conf/escheduler/conf/alert_logback.xml @@ -0,0 +1,31 @@ + + + + + + + [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n + + UTF-8 + + + + + ${log.base}/escheduler-alert.log + + ${log.base}/escheduler-alert.%d{yyyy-MM-dd_HH}.%i.log + 20 + 64MB + + + + [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n + + UTF-8 + + + + + + + \ No newline at end of file diff --git a/dockerfile/conf/escheduler/conf/apiserver_logback.xml b/dockerfile/conf/escheduler/conf/apiserver_logback.xml new file mode 100644 index 0000000000..43e6af951a --- /dev/null +++ b/dockerfile/conf/escheduler/conf/apiserver_logback.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n + + UTF-8 + + + + + + + INFO + + ${log.base}/escheduler-api-server.log + + ${log.base}/escheduler-api-server.%d{yyyy-MM-dd_HH}.%i.log + 168 + 64MB + + + + + [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n + + UTF-8 + + + + + + + + \ No newline at end of file diff --git a/dockerfile/conf/escheduler/conf/application.properties b/dockerfile/conf/escheduler/conf/application.properties new file mode 100644 index 0000000000..b817c18a4a --- /dev/null +++ b/dockerfile/conf/escheduler/conf/application.properties @@ -0,0 +1,19 @@ +# server port +server.port=12345 + +# session config +server.servlet.session.timeout=7200 + +server.servlet.context-path=/escheduler/ + +# file size limit for upload +spring.servlet.multipart.max-file-size=1024MB +spring.servlet.multipart.max-request-size=1024MB + +#post content +server.jetty.max-http-post-size=5000000 + +spring.messages.encoding=UTF-8 + +#i18n classpath folder , file prefix messages, if have many files, use "," seperator +spring.messages.basename=i18n/messages diff --git a/dockerfile/conf/escheduler/conf/application_master.properties b/dockerfile/conf/escheduler/conf/application_master.properties new file mode 100644 index 0000000000..cc4774ae94 --- /dev/null +++ b/dockerfile/conf/escheduler/conf/application_master.properties @@ -0,0 +1 @@ +logging.config=classpath:master_logback.xml diff --git a/dockerfile/conf/escheduler/conf/common/common.properties b/dockerfile/conf/escheduler/conf/common/common.properties new file mode 100644 index 0000000000..15af284597 --- /dev/null +++ b/dockerfile/conf/escheduler/conf/common/common.properties @@ -0,0 +1,42 @@ +#task queue implementation, default "zookeeper" +escheduler.queue.impl=zookeeper + +# user data directory path, self configuration, please make sure the directory exists and have read write permissions +data.basedir.path=/tmp/escheduler + +# directory path for user data download. self configuration, please make sure the directory exists and have read write permissions +data.download.basedir.path=/tmp/escheduler/download + +# process execute directory. self configuration, please make sure the directory exists and have read write permissions +process.exec.basepath=/tmp/escheduler/exec + +# Users who have permission to create directories under the HDFS root path +hdfs.root.user=hdfs + +# data base dir, resource file will store to this hadoop hdfs path, self configuration, please make sure the directory exists on hdfs and have read write permissions。"/escheduler" is recommended +data.store2hdfs.basepath=/escheduler + +# resource upload startup type : HDFS,S3,NONE +res.upload.startup.type=NONE + +# whether kerberos starts +hadoop.security.authentication.startup.state=false + +# java.security.krb5.conf path +java.security.krb5.conf.path=/opt/krb5.conf + +# loginUserFromKeytab user +login.user.keytab.username=hdfs-mycluster@ESZ.COM + +# loginUserFromKeytab path +login.user.keytab.path=/opt/hdfs.headless.keytab + +# system env path. self configuration, please make sure the directory and file exists and have read write execute permissions +escheduler.env.path=/opt/escheduler/conf/env/.escheduler_env.sh + +#resource.view.suffixs +resource.view.suffixs=txt,log,sh,conf,cfg,py,java,sql,hql,xml + +# is development state? default "false" +development.state=true + diff --git a/dockerfile/conf/escheduler/conf/common/hadoop/hadoop.properties b/dockerfile/conf/escheduler/conf/common/hadoop/hadoop.properties new file mode 100644 index 0000000000..81452a83a2 --- /dev/null +++ b/dockerfile/conf/escheduler/conf/common/hadoop/hadoop.properties @@ -0,0 +1,18 @@ +# ha or single namenode,If namenode ha needs to copy core-site.xml and hdfs-site.xml +# to the conf directory,support s3,for example : s3a://escheduler +fs.defaultFS=hdfs://mycluster:8020 + +# s3 need,s3 endpoint +fs.s3a.endpoint=http://192.168.199.91:9010 + +# s3 need,s3 access key +fs.s3a.access.key=A3DXS30FO22544RE + +# s3 need,s3 secret key +fs.s3a.secret.key=OloCLq3n+8+sdPHUhJ21XrSxTC+JK + +#resourcemanager ha note this need ips , this empty if single +yarn.resourcemanager.ha.rm.ids=192.168.xx.xx,192.168.xx.xx + +# If it is a single resourcemanager, you only need to configure one host name. If it is resourcemanager HA, the default configuration is fine +yarn.application.status.address=http://ark1:8088/ws/v1/cluster/apps/%s \ No newline at end of file diff --git a/dockerfile/conf/escheduler/conf/config/install_config.conf b/dockerfile/conf/escheduler/conf/config/install_config.conf new file mode 100644 index 0000000000..43b955d4f1 --- /dev/null +++ b/dockerfile/conf/escheduler/conf/config/install_config.conf @@ -0,0 +1,3 @@ +installPath=/data1_1T/escheduler +deployUser=escheduler +ips=ark0,ark1,ark2,ark3,ark4 diff --git a/dockerfile/conf/escheduler/conf/config/run_config.conf b/dockerfile/conf/escheduler/conf/config/run_config.conf new file mode 100644 index 0000000000..f4cfd832c4 --- /dev/null +++ b/dockerfile/conf/escheduler/conf/config/run_config.conf @@ -0,0 +1,4 @@ +masters=ark0,ark1 +workers=ark2,ark3,ark4 +alertServer=ark3 +apiServers=ark1 \ No newline at end of file diff --git a/dockerfile/conf/escheduler/conf/dao/data_source.properties b/dockerfile/conf/escheduler/conf/dao/data_source.properties new file mode 100644 index 0000000000..0dce2943e4 --- /dev/null +++ b/dockerfile/conf/escheduler/conf/dao/data_source.properties @@ -0,0 +1,53 @@ +# base spring data source configuration +spring.datasource.type=com.alibaba.druid.pool.DruidDataSource +spring.datasource.driver-class-name=com.mysql.jdbc.Driver +spring.datasource.url=jdbc:mysql://127.0.0.1:3306/escheduler?characterEncoding=UTF-8 +spring.datasource.username=root +spring.datasource.password=root@123 + +# connection configuration +spring.datasource.initialSize=5 +# min connection number +spring.datasource.minIdle=5 +# max connection number +spring.datasource.maxActive=50 + +# max wait time for get a connection in milliseconds. if configuring maxWait, fair locks are enabled by default and concurrency efficiency decreases. +# If necessary, unfair locks can be used by configuring the useUnfairLock attribute to true. +spring.datasource.maxWait=60000 + +# milliseconds for check to close free connections +spring.datasource.timeBetweenEvictionRunsMillis=60000 + +# the Destroy thread detects the connection interval and closes the physical connection in milliseconds if the connection idle time is greater than or equal to minEvictableIdleTimeMillis. +spring.datasource.timeBetweenConnectErrorMillis=60000 + +# the longest time a connection remains idle without being evicted, in milliseconds +spring.datasource.minEvictableIdleTimeMillis=300000 + +#the SQL used to check whether the connection is valid requires a query statement. If validation Query is null, testOnBorrow, testOnReturn, and testWhileIdle will not work. +spring.datasource.validationQuery=SELECT 1 +#check whether the connection is valid for timeout, in seconds +spring.datasource.validationQueryTimeout=3 + +# when applying for a connection, if it is detected that the connection is idle longer than time Between Eviction Runs Millis, +# validation Query is performed to check whether the connection is valid +spring.datasource.testWhileIdle=true + +#execute validation to check if the connection is valid when applying for a connection +spring.datasource.testOnBorrow=true +#execute validation to check if the connection is valid when the connection is returned +spring.datasource.testOnReturn=false +spring.datasource.defaultAutoCommit=true +spring.datasource.keepAlive=true + +# open PSCache, specify count PSCache for every connection +spring.datasource.poolPreparedStatements=true +spring.datasource.maxPoolPreparedStatementPerConnectionSize=20 + +# data quality analysis is not currently in use. please ignore the following configuration +# task record flag +task.record.flag=false +task.record.datasource.url=jdbc:mysql://192.168.xx.xx:3306/etl?characterEncoding=UTF-8 +task.record.datasource.username=xx +task.record.datasource.password=xx diff --git a/dockerfile/conf/escheduler/conf/env/.escheduler_env.sh b/dockerfile/conf/escheduler/conf/env/.escheduler_env.sh new file mode 100644 index 0000000000..75362d494d --- /dev/null +++ b/dockerfile/conf/escheduler/conf/env/.escheduler_env.sh @@ -0,0 +1,3 @@ +export PYTHON_HOME=/usr/bin/python +export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 +export PATH=$PYTHON_HOME:$JAVA_HOME/bin:$PATH \ No newline at end of file diff --git a/dockerfile/conf/escheduler/conf/i18n/messages.properties b/dockerfile/conf/escheduler/conf/i18n/messages.properties new file mode 100644 index 0000000000..a663c71013 --- /dev/null +++ b/dockerfile/conf/escheduler/conf/i18n/messages.properties @@ -0,0 +1,229 @@ +QUERY_SCHEDULE_LIST_NOTES=query schedule list +EXECUTE_PROCESS_TAG=execute process related operation +PROCESS_INSTANCE_EXECUTOR_TAG=process instance executor related operation +RUN_PROCESS_INSTANCE_NOTES=run process instance +START_NODE_LIST=start node list(node name) +TASK_DEPEND_TYPE=task depend type +COMMAND_TYPE=command type +RUN_MODE=run mode +TIMEOUT=timeout +EXECUTE_ACTION_TO_PROCESS_INSTANCE_NOTES=execute action to process instance +EXECUTE_TYPE=execute type +START_CHECK_PROCESS_DEFINITION_NOTES=start check process definition +GET_RECEIVER_CC_NOTES=query receiver cc +DESC=description +GROUP_NAME=group name +GROUP_TYPE=group type +QUERY_ALERT_GROUP_LIST_NOTES=query alert group list +UPDATE_ALERT_GROUP_NOTES=update alert group +DELETE_ALERT_GROUP_BY_ID_NOTES=delete alert group by id +VERIFY_ALERT_GROUP_NAME_NOTES=verify alert group name, check alert group exist or not +GRANT_ALERT_GROUP_NOTES=grant alert group +USER_IDS=user id list +ALERT_GROUP_TAG=alert group related operation +CREATE_ALERT_GROUP_NOTES=create alert group +WORKER_GROUP_TAG=worker group related operation +SAVE_WORKER_GROUP_NOTES=create worker group +WORKER_GROUP_NAME=worker group name +WORKER_IP_LIST=worker ip list, eg. 192.168.1.1,192.168.1.2 +QUERY_WORKER_GROUP_PAGING_NOTES=query worker group paging +QUERY_WORKER_GROUP_LIST_NOTES=query worker group list +DELETE_WORKER_GROUP_BY_ID_NOTES=delete worker group by id +DATA_ANALYSIS_TAG=analysis related operation of task state +COUNT_TASK_STATE_NOTES=count task state +COUNT_PROCESS_INSTANCE_NOTES=count process instance state +COUNT_PROCESS_DEFINITION_BY_USER_NOTES=count process definition by user +COUNT_COMMAND_STATE_NOTES=count command state +COUNT_QUEUE_STATE_NOTES=count the running status of the task in the queue\ + +ACCESS_TOKEN_TAG=access token related operation +MONITOR_TAG=monitor related operation +MASTER_LIST_NOTES=master server list +WORKER_LIST_NOTES=worker server list +QUERY_DATABASE_STATE_NOTES=query database state +QUERY_ZOOKEEPER_STATE_NOTES=QUERY ZOOKEEPER STATE +TASK_STATE=task instance state +SOURCE_TABLE=SOURCE TABLE +DEST_TABLE=dest table +TASK_DATE=task date +QUERY_HISTORY_TASK_RECORD_LIST_PAGING_NOTES=query history task record list paging +DATA_SOURCE_TAG=data source related operation +CREATE_DATA_SOURCE_NOTES=create data source +DATA_SOURCE_NAME=data source name +DATA_SOURCE_NOTE=data source desc +DB_TYPE=database type +DATA_SOURCE_HOST=DATA SOURCE HOST +DATA_SOURCE_PORT=data source port +DATABASE_NAME=database name +QUEUE_TAG=queue related operation +QUERY_QUEUE_LIST_NOTES=query queue list +QUERY_QUEUE_LIST_PAGING_NOTES=query queue list paging +CREATE_QUEUE_NOTES=create queue +YARN_QUEUE_NAME=yarn(hadoop) queue name +QUEUE_ID=queue id +TENANT_DESC=tenant desc +QUERY_TENANT_LIST_PAGING_NOTES=query tenant list paging +QUERY_TENANT_LIST_NOTES=query tenant list +UPDATE_TENANT_NOTES=update tenant +DELETE_TENANT_NOTES=delete tenant +RESOURCES_TAG=resource center related operation +CREATE_RESOURCE_NOTES=create resource +RESOURCE_TYPE=resource file type +RESOURCE_NAME=resource name +RESOURCE_DESC=resource file desc +RESOURCE_FILE=resource file +RESOURCE_ID=resource id +QUERY_RESOURCE_LIST_NOTES=query resource list +DELETE_RESOURCE_BY_ID_NOTES=delete resource by id +VIEW_RESOURCE_BY_ID_NOTES=view resource by id +ONLINE_CREATE_RESOURCE_NOTES=online create resource +SUFFIX=resource file suffix +CONTENT=resource file content +UPDATE_RESOURCE_NOTES=edit resource file online +DOWNLOAD_RESOURCE_NOTES=download resource file +CREATE_UDF_FUNCTION_NOTES=create udf function +UDF_TYPE=UDF type +FUNC_NAME=function name +CLASS_NAME=package and class name +ARG_TYPES=arguments +UDF_DESC=udf desc +VIEW_UDF_FUNCTION_NOTES=view udf function +UPDATE_UDF_FUNCTION_NOTES=update udf function +QUERY_UDF_FUNCTION_LIST_PAGING_NOTES=query udf function list paging +VERIFY_UDF_FUNCTION_NAME_NOTES=verify udf function name +DELETE_UDF_FUNCTION_NOTES=delete udf function +AUTHORIZED_FILE_NOTES=authorized file +UNAUTHORIZED_FILE_NOTES=unauthorized file +AUTHORIZED_UDF_FUNC_NOTES=authorized udf func +UNAUTHORIZED_UDF_FUNC_NOTES=unauthorized udf func +VERIFY_QUEUE_NOTES=verify queue +TENANT_TAG=tenant related operation +CREATE_TENANT_NOTES=create tenant +TENANT_CODE=tenant code +TENANT_NAME=tenant name +QUEUE_NAME=queue name +PASSWORD=password +DATA_SOURCE_OTHER=jdbc connection params, format:{"key1":"value1",...} +PROJECT_TAG=project related operation +CREATE_PROJECT_NOTES=create project +PROJECT_DESC=project description +UPDATE_PROJECT_NOTES=update project +PROJECT_ID=project id +QUERY_PROJECT_BY_ID_NOTES=query project info by project id +QUERY_PROJECT_LIST_PAGING_NOTES=QUERY PROJECT LIST PAGING +DELETE_PROJECT_BY_ID_NOTES=delete project by id +QUERY_UNAUTHORIZED_PROJECT_NOTES=query unauthorized project +QUERY_AUTHORIZED_PROJECT_NOTES=query authorized project +TASK_RECORD_TAG=task record related operation +QUERY_TASK_RECORD_LIST_PAGING_NOTES=query task record list paging +CREATE_TOKEN_NOTES=create token ,note: please login first +QUERY_ACCESS_TOKEN_LIST_NOTES=query access token list paging +SCHEDULE=schedule +WARNING_TYPE=warning type(sending strategy) +WARNING_GROUP_ID=warning group id +FAILURE_STRATEGY=failure strategy +RECEIVERS=receivers +RECEIVERS_CC=receivers cc +WORKER_GROUP_ID=worker server group id +PROCESS_INSTANCE_PRIORITY=process instance priority +UPDATE_SCHEDULE_NOTES=update schedule +SCHEDULE_ID=schedule id +ONLINE_SCHEDULE_NOTES=online schedule +OFFLINE_SCHEDULE_NOTES=offline schedule +QUERY_SCHEDULE_NOTES=query schedule +QUERY_SCHEDULE_LIST_PAGING_NOTES=query schedule list paging +LOGIN_TAG=User login related operations +USER_NAME=user name +PROJECT_NAME=project name +CREATE_PROCESS_DEFINITION_NOTES=create process definition +PROCESS_DEFINITION_NAME=process definition name +PROCESS_DEFINITION_JSON=process definition detail info (json format) +PROCESS_DEFINITION_LOCATIONS=process definition node locations info (json format) +PROCESS_INSTANCE_LOCATIONS=process instance node locations info (json format) +PROCESS_DEFINITION_CONNECTS=process definition node connects info (json format) +PROCESS_INSTANCE_CONNECTS=process instance node connects info (json format) +PROCESS_DEFINITION_DESC=process definition desc +PROCESS_DEFINITION_TAG=process definition related opertation +SIGNOUT_NOTES=logout +USER_PASSWORD=user password +UPDATE_PROCESS_INSTANCE_NOTES=update process instance +QUERY_PROCESS_INSTANCE_LIST_NOTES=query process instance list +VERIFY_PROCCESS_DEFINITION_NAME_NOTES=verify proccess definition name +LOGIN_NOTES=user login +UPDATE_PROCCESS_DEFINITION_NOTES=update proccess definition +PROCESS_DEFINITION_ID=process definition id +RELEASE_PROCCESS_DEFINITION_NOTES=release proccess definition +QUERY_PROCCESS_DEFINITION_BY_ID_NOTES=query proccess definition by id +QUERY_PROCCESS_DEFINITION_LIST_NOTES=query proccess definition list +QUERY_PROCCESS_DEFINITION_LIST_PAGING_NOTES=query proccess definition list paging +PAGE_NO=page no +PROCESS_INSTANCE_ID=process instance id +PROCESS_INSTANCE_JSON=process instance info(json format) +SCHEDULE_TIME=schedule time +SYNC_DEFINE=update the information of the process instance to the process definition\ + +RECOVERY_PROCESS_INSTANCE_FLAG=whether to recovery process instance +SEARCH_VAL=search val +USER_ID=user id +PAGE_SIZE=page size +LIMIT=limit +VIEW_TREE_NOTES=view tree +GET_NODE_LIST_BY_DEFINITION_ID_NOTES=get task node list by process definition id +PROCESS_DEFINITION_ID_LIST=process definition id list +QUERY_PROCESS_INSTANCE_BY_ID_NOTES=query process instance by process instance id +DELETE_PROCESS_INSTANCE_BY_ID_NOTES=delete process instance by process instance id +TASK_ID=task instance id +SKIP_LINE_NUM=skip line num +QUERY_TASK_INSTANCE_LOG_NOTES=query task instance log +DOWNLOAD_TASK_INSTANCE_LOG_NOTES=download task instance log +USERS_TAG=users related operation +SCHEDULER_TAG=scheduler related operation +CREATE_SCHEDULE_NOTES=create schedule +CREATE_USER_NOTES=create user +TENANT_ID=tenant id +QUEUE=queue +EMAIL=email +PHONE=phone +QUERY_USER_LIST_NOTES=query user list +UPDATE_USER_NOTES=update user +DELETE_USER_BY_ID_NOTES=delete user by id +GRANT_PROJECT_NOTES=GRANT PROJECT +PROJECT_IDS=project ids(string format, multiple projects separated by ",") +GRANT_RESOURCE_NOTES=grant resource file +RESOURCE_IDS=resource ids(string format, multiple resources separated by ",") +GET_USER_INFO_NOTES=get user info +LIST_USER_NOTES=list user +VERIFY_USER_NAME_NOTES=verify user name +UNAUTHORIZED_USER_NOTES=cancel authorization +ALERT_GROUP_ID=alert group id +AUTHORIZED_USER_NOTES=authorized user +GRANT_UDF_FUNC_NOTES=grant udf function +UDF_IDS=udf ids(string format, multiple udf functions separated by ",") +GRANT_DATASOURCE_NOTES=grant datasource +DATASOURCE_IDS=datasource ids(string format, multiple datasources separated by ",") +QUERY_SUBPROCESS_INSTANCE_BY_TASK_ID_NOTES=query subprocess instance by task instance id +QUERY_PARENT_PROCESS_INSTANCE_BY_SUB_PROCESS_INSTANCE_ID_NOTES=query parent process instance info by sub process instance id +QUERY_PROCESS_INSTANCE_GLOBAL_VARIABLES_AND_LOCAL_VARIABLES_NOTES=query process instance global variables and local variables +VIEW_GANTT_NOTES=view gantt +SUB_PROCESS_INSTANCE_ID=sub process instance id +TASK_NAME=task instance name +TASK_INSTANCE_TAG=task instance related operation +LOGGER_TAG=log related operation +PROCESS_INSTANCE_TAG=process instance related operation +EXECUTION_STATUS=runing status for workflow and task nodes +HOST=ip address of running task +START_DATE=start date +END_DATE=end date +QUERY_TASK_LIST_BY_PROCESS_INSTANCE_ID_NOTES=query task list by process instance id +UPDATE_DATA_SOURCE_NOTES=update data source +DATA_SOURCE_ID=DATA SOURCE ID +QUERY_DATA_SOURCE_NOTES=query data source by id +QUERY_DATA_SOURCE_LIST_BY_TYPE_NOTES=query data source list by database type +QUERY_DATA_SOURCE_LIST_PAGING_NOTES=query data source list paging +CONNECT_DATA_SOURCE_NOTES=CONNECT DATA SOURCE +CONNECT_DATA_SOURCE_TEST_NOTES=connect data source test +DELETE_DATA_SOURCE_NOTES=delete data source +VERIFY_DATA_SOURCE_NOTES=verify data source +UNAUTHORIZED_DATA_SOURCE_NOTES=unauthorized data source +AUTHORIZED_DATA_SOURCE_NOTES=authorized data source +DELETE_SCHEDULER_BY_ID_NOTES=delete scheduler by id diff --git a/dockerfile/conf/escheduler/conf/i18n/messages_en_US.properties b/dockerfile/conf/escheduler/conf/i18n/messages_en_US.properties new file mode 100644 index 0000000000..a663c71013 --- /dev/null +++ b/dockerfile/conf/escheduler/conf/i18n/messages_en_US.properties @@ -0,0 +1,229 @@ +QUERY_SCHEDULE_LIST_NOTES=query schedule list +EXECUTE_PROCESS_TAG=execute process related operation +PROCESS_INSTANCE_EXECUTOR_TAG=process instance executor related operation +RUN_PROCESS_INSTANCE_NOTES=run process instance +START_NODE_LIST=start node list(node name) +TASK_DEPEND_TYPE=task depend type +COMMAND_TYPE=command type +RUN_MODE=run mode +TIMEOUT=timeout +EXECUTE_ACTION_TO_PROCESS_INSTANCE_NOTES=execute action to process instance +EXECUTE_TYPE=execute type +START_CHECK_PROCESS_DEFINITION_NOTES=start check process definition +GET_RECEIVER_CC_NOTES=query receiver cc +DESC=description +GROUP_NAME=group name +GROUP_TYPE=group type +QUERY_ALERT_GROUP_LIST_NOTES=query alert group list +UPDATE_ALERT_GROUP_NOTES=update alert group +DELETE_ALERT_GROUP_BY_ID_NOTES=delete alert group by id +VERIFY_ALERT_GROUP_NAME_NOTES=verify alert group name, check alert group exist or not +GRANT_ALERT_GROUP_NOTES=grant alert group +USER_IDS=user id list +ALERT_GROUP_TAG=alert group related operation +CREATE_ALERT_GROUP_NOTES=create alert group +WORKER_GROUP_TAG=worker group related operation +SAVE_WORKER_GROUP_NOTES=create worker group +WORKER_GROUP_NAME=worker group name +WORKER_IP_LIST=worker ip list, eg. 192.168.1.1,192.168.1.2 +QUERY_WORKER_GROUP_PAGING_NOTES=query worker group paging +QUERY_WORKER_GROUP_LIST_NOTES=query worker group list +DELETE_WORKER_GROUP_BY_ID_NOTES=delete worker group by id +DATA_ANALYSIS_TAG=analysis related operation of task state +COUNT_TASK_STATE_NOTES=count task state +COUNT_PROCESS_INSTANCE_NOTES=count process instance state +COUNT_PROCESS_DEFINITION_BY_USER_NOTES=count process definition by user +COUNT_COMMAND_STATE_NOTES=count command state +COUNT_QUEUE_STATE_NOTES=count the running status of the task in the queue\ + +ACCESS_TOKEN_TAG=access token related operation +MONITOR_TAG=monitor related operation +MASTER_LIST_NOTES=master server list +WORKER_LIST_NOTES=worker server list +QUERY_DATABASE_STATE_NOTES=query database state +QUERY_ZOOKEEPER_STATE_NOTES=QUERY ZOOKEEPER STATE +TASK_STATE=task instance state +SOURCE_TABLE=SOURCE TABLE +DEST_TABLE=dest table +TASK_DATE=task date +QUERY_HISTORY_TASK_RECORD_LIST_PAGING_NOTES=query history task record list paging +DATA_SOURCE_TAG=data source related operation +CREATE_DATA_SOURCE_NOTES=create data source +DATA_SOURCE_NAME=data source name +DATA_SOURCE_NOTE=data source desc +DB_TYPE=database type +DATA_SOURCE_HOST=DATA SOURCE HOST +DATA_SOURCE_PORT=data source port +DATABASE_NAME=database name +QUEUE_TAG=queue related operation +QUERY_QUEUE_LIST_NOTES=query queue list +QUERY_QUEUE_LIST_PAGING_NOTES=query queue list paging +CREATE_QUEUE_NOTES=create queue +YARN_QUEUE_NAME=yarn(hadoop) queue name +QUEUE_ID=queue id +TENANT_DESC=tenant desc +QUERY_TENANT_LIST_PAGING_NOTES=query tenant list paging +QUERY_TENANT_LIST_NOTES=query tenant list +UPDATE_TENANT_NOTES=update tenant +DELETE_TENANT_NOTES=delete tenant +RESOURCES_TAG=resource center related operation +CREATE_RESOURCE_NOTES=create resource +RESOURCE_TYPE=resource file type +RESOURCE_NAME=resource name +RESOURCE_DESC=resource file desc +RESOURCE_FILE=resource file +RESOURCE_ID=resource id +QUERY_RESOURCE_LIST_NOTES=query resource list +DELETE_RESOURCE_BY_ID_NOTES=delete resource by id +VIEW_RESOURCE_BY_ID_NOTES=view resource by id +ONLINE_CREATE_RESOURCE_NOTES=online create resource +SUFFIX=resource file suffix +CONTENT=resource file content +UPDATE_RESOURCE_NOTES=edit resource file online +DOWNLOAD_RESOURCE_NOTES=download resource file +CREATE_UDF_FUNCTION_NOTES=create udf function +UDF_TYPE=UDF type +FUNC_NAME=function name +CLASS_NAME=package and class name +ARG_TYPES=arguments +UDF_DESC=udf desc +VIEW_UDF_FUNCTION_NOTES=view udf function +UPDATE_UDF_FUNCTION_NOTES=update udf function +QUERY_UDF_FUNCTION_LIST_PAGING_NOTES=query udf function list paging +VERIFY_UDF_FUNCTION_NAME_NOTES=verify udf function name +DELETE_UDF_FUNCTION_NOTES=delete udf function +AUTHORIZED_FILE_NOTES=authorized file +UNAUTHORIZED_FILE_NOTES=unauthorized file +AUTHORIZED_UDF_FUNC_NOTES=authorized udf func +UNAUTHORIZED_UDF_FUNC_NOTES=unauthorized udf func +VERIFY_QUEUE_NOTES=verify queue +TENANT_TAG=tenant related operation +CREATE_TENANT_NOTES=create tenant +TENANT_CODE=tenant code +TENANT_NAME=tenant name +QUEUE_NAME=queue name +PASSWORD=password +DATA_SOURCE_OTHER=jdbc connection params, format:{"key1":"value1",...} +PROJECT_TAG=project related operation +CREATE_PROJECT_NOTES=create project +PROJECT_DESC=project description +UPDATE_PROJECT_NOTES=update project +PROJECT_ID=project id +QUERY_PROJECT_BY_ID_NOTES=query project info by project id +QUERY_PROJECT_LIST_PAGING_NOTES=QUERY PROJECT LIST PAGING +DELETE_PROJECT_BY_ID_NOTES=delete project by id +QUERY_UNAUTHORIZED_PROJECT_NOTES=query unauthorized project +QUERY_AUTHORIZED_PROJECT_NOTES=query authorized project +TASK_RECORD_TAG=task record related operation +QUERY_TASK_RECORD_LIST_PAGING_NOTES=query task record list paging +CREATE_TOKEN_NOTES=create token ,note: please login first +QUERY_ACCESS_TOKEN_LIST_NOTES=query access token list paging +SCHEDULE=schedule +WARNING_TYPE=warning type(sending strategy) +WARNING_GROUP_ID=warning group id +FAILURE_STRATEGY=failure strategy +RECEIVERS=receivers +RECEIVERS_CC=receivers cc +WORKER_GROUP_ID=worker server group id +PROCESS_INSTANCE_PRIORITY=process instance priority +UPDATE_SCHEDULE_NOTES=update schedule +SCHEDULE_ID=schedule id +ONLINE_SCHEDULE_NOTES=online schedule +OFFLINE_SCHEDULE_NOTES=offline schedule +QUERY_SCHEDULE_NOTES=query schedule +QUERY_SCHEDULE_LIST_PAGING_NOTES=query schedule list paging +LOGIN_TAG=User login related operations +USER_NAME=user name +PROJECT_NAME=project name +CREATE_PROCESS_DEFINITION_NOTES=create process definition +PROCESS_DEFINITION_NAME=process definition name +PROCESS_DEFINITION_JSON=process definition detail info (json format) +PROCESS_DEFINITION_LOCATIONS=process definition node locations info (json format) +PROCESS_INSTANCE_LOCATIONS=process instance node locations info (json format) +PROCESS_DEFINITION_CONNECTS=process definition node connects info (json format) +PROCESS_INSTANCE_CONNECTS=process instance node connects info (json format) +PROCESS_DEFINITION_DESC=process definition desc +PROCESS_DEFINITION_TAG=process definition related opertation +SIGNOUT_NOTES=logout +USER_PASSWORD=user password +UPDATE_PROCESS_INSTANCE_NOTES=update process instance +QUERY_PROCESS_INSTANCE_LIST_NOTES=query process instance list +VERIFY_PROCCESS_DEFINITION_NAME_NOTES=verify proccess definition name +LOGIN_NOTES=user login +UPDATE_PROCCESS_DEFINITION_NOTES=update proccess definition +PROCESS_DEFINITION_ID=process definition id +RELEASE_PROCCESS_DEFINITION_NOTES=release proccess definition +QUERY_PROCCESS_DEFINITION_BY_ID_NOTES=query proccess definition by id +QUERY_PROCCESS_DEFINITION_LIST_NOTES=query proccess definition list +QUERY_PROCCESS_DEFINITION_LIST_PAGING_NOTES=query proccess definition list paging +PAGE_NO=page no +PROCESS_INSTANCE_ID=process instance id +PROCESS_INSTANCE_JSON=process instance info(json format) +SCHEDULE_TIME=schedule time +SYNC_DEFINE=update the information of the process instance to the process definition\ + +RECOVERY_PROCESS_INSTANCE_FLAG=whether to recovery process instance +SEARCH_VAL=search val +USER_ID=user id +PAGE_SIZE=page size +LIMIT=limit +VIEW_TREE_NOTES=view tree +GET_NODE_LIST_BY_DEFINITION_ID_NOTES=get task node list by process definition id +PROCESS_DEFINITION_ID_LIST=process definition id list +QUERY_PROCESS_INSTANCE_BY_ID_NOTES=query process instance by process instance id +DELETE_PROCESS_INSTANCE_BY_ID_NOTES=delete process instance by process instance id +TASK_ID=task instance id +SKIP_LINE_NUM=skip line num +QUERY_TASK_INSTANCE_LOG_NOTES=query task instance log +DOWNLOAD_TASK_INSTANCE_LOG_NOTES=download task instance log +USERS_TAG=users related operation +SCHEDULER_TAG=scheduler related operation +CREATE_SCHEDULE_NOTES=create schedule +CREATE_USER_NOTES=create user +TENANT_ID=tenant id +QUEUE=queue +EMAIL=email +PHONE=phone +QUERY_USER_LIST_NOTES=query user list +UPDATE_USER_NOTES=update user +DELETE_USER_BY_ID_NOTES=delete user by id +GRANT_PROJECT_NOTES=GRANT PROJECT +PROJECT_IDS=project ids(string format, multiple projects separated by ",") +GRANT_RESOURCE_NOTES=grant resource file +RESOURCE_IDS=resource ids(string format, multiple resources separated by ",") +GET_USER_INFO_NOTES=get user info +LIST_USER_NOTES=list user +VERIFY_USER_NAME_NOTES=verify user name +UNAUTHORIZED_USER_NOTES=cancel authorization +ALERT_GROUP_ID=alert group id +AUTHORIZED_USER_NOTES=authorized user +GRANT_UDF_FUNC_NOTES=grant udf function +UDF_IDS=udf ids(string format, multiple udf functions separated by ",") +GRANT_DATASOURCE_NOTES=grant datasource +DATASOURCE_IDS=datasource ids(string format, multiple datasources separated by ",") +QUERY_SUBPROCESS_INSTANCE_BY_TASK_ID_NOTES=query subprocess instance by task instance id +QUERY_PARENT_PROCESS_INSTANCE_BY_SUB_PROCESS_INSTANCE_ID_NOTES=query parent process instance info by sub process instance id +QUERY_PROCESS_INSTANCE_GLOBAL_VARIABLES_AND_LOCAL_VARIABLES_NOTES=query process instance global variables and local variables +VIEW_GANTT_NOTES=view gantt +SUB_PROCESS_INSTANCE_ID=sub process instance id +TASK_NAME=task instance name +TASK_INSTANCE_TAG=task instance related operation +LOGGER_TAG=log related operation +PROCESS_INSTANCE_TAG=process instance related operation +EXECUTION_STATUS=runing status for workflow and task nodes +HOST=ip address of running task +START_DATE=start date +END_DATE=end date +QUERY_TASK_LIST_BY_PROCESS_INSTANCE_ID_NOTES=query task list by process instance id +UPDATE_DATA_SOURCE_NOTES=update data source +DATA_SOURCE_ID=DATA SOURCE ID +QUERY_DATA_SOURCE_NOTES=query data source by id +QUERY_DATA_SOURCE_LIST_BY_TYPE_NOTES=query data source list by database type +QUERY_DATA_SOURCE_LIST_PAGING_NOTES=query data source list paging +CONNECT_DATA_SOURCE_NOTES=CONNECT DATA SOURCE +CONNECT_DATA_SOURCE_TEST_NOTES=connect data source test +DELETE_DATA_SOURCE_NOTES=delete data source +VERIFY_DATA_SOURCE_NOTES=verify data source +UNAUTHORIZED_DATA_SOURCE_NOTES=unauthorized data source +AUTHORIZED_DATA_SOURCE_NOTES=authorized data source +DELETE_SCHEDULER_BY_ID_NOTES=delete scheduler by id diff --git a/dockerfile/conf/escheduler/conf/i18n/messages_zh_CN.properties b/dockerfile/conf/escheduler/conf/i18n/messages_zh_CN.properties new file mode 100644 index 0000000000..b0d6694d2b --- /dev/null +++ b/dockerfile/conf/escheduler/conf/i18n/messages_zh_CN.properties @@ -0,0 +1,227 @@ +QUERY_SCHEDULE_LIST_NOTES=查询定时列表 +PROCESS_INSTANCE_EXECUTOR_TAG=流程实例执行相关操作 +RUN_PROCESS_INSTANCE_NOTES=运行流程实例 +START_NODE_LIST=开始节点列表(节点name) +TASK_DEPEND_TYPE=任务依赖类型 +COMMAND_TYPE=指令类型 +RUN_MODE=运行模式 +TIMEOUT=超时时间 +EXECUTE_ACTION_TO_PROCESS_INSTANCE_NOTES=执行流程实例的各种操作(暂停、停止、重跑、恢复等) +EXECUTE_TYPE=执行类型 +START_CHECK_PROCESS_DEFINITION_NOTES=检查流程定义 +DESC=备注(描述) +GROUP_NAME=组名称 +GROUP_TYPE=组类型 +QUERY_ALERT_GROUP_LIST_NOTES=告警组列表\ + +UPDATE_ALERT_GROUP_NOTES=编辑(更新)告警组 +DELETE_ALERT_GROUP_BY_ID_NOTES=删除告警组通过ID +VERIFY_ALERT_GROUP_NAME_NOTES=检查告警组是否存在 +GRANT_ALERT_GROUP_NOTES=授权告警组 +USER_IDS=用户ID列表 +ALERT_GROUP_TAG=告警组相关操作 +WORKER_GROUP_TAG=Worker分组管理 +SAVE_WORKER_GROUP_NOTES=创建Worker分组\ + +WORKER_GROUP_NAME=Worker分组名称 +WORKER_IP_LIST=Worker ip列表,注意:多个IP地址以逗号分割\ + +QUERY_WORKER_GROUP_PAGING_NOTES=Worker分组管理 +QUERY_WORKER_GROUP_LIST_NOTES=查询worker group分组 +DELETE_WORKER_GROUP_BY_ID_NOTES=删除worker group通过ID +DATA_ANALYSIS_TAG=任务状态分析相关操作 +COUNT_TASK_STATE_NOTES=任务状态统计 +COUNT_PROCESS_INSTANCE_NOTES=统计流程实例状态 +COUNT_PROCESS_DEFINITION_BY_USER_NOTES=统计用户创建的流程定义 +COUNT_COMMAND_STATE_NOTES=统计命令状态 +COUNT_QUEUE_STATE_NOTES=统计队列里任务状态 +ACCESS_TOKEN_TAG=access token相关操作,需要先登录 +MONITOR_TAG=监控相关操作 +MASTER_LIST_NOTES=master服务列表 +WORKER_LIST_NOTES=worker服务列表 +QUERY_DATABASE_STATE_NOTES=查询数据库状态 +QUERY_ZOOKEEPER_STATE_NOTES=查询Zookeeper状态 +TASK_STATE=任务实例状态 +SOURCE_TABLE=源表 +DEST_TABLE=目标表 +TASK_DATE=任务时间 +QUERY_HISTORY_TASK_RECORD_LIST_PAGING_NOTES=分页查询历史任务记录列表 +DATA_SOURCE_TAG=数据源相关操作 +CREATE_DATA_SOURCE_NOTES=创建数据源 +DATA_SOURCE_NAME=数据源名称 +DATA_SOURCE_NOTE=数据源描述 +DB_TYPE=数据源类型 +DATA_SOURCE_HOST=IP主机名 +DATA_SOURCE_PORT=数据源端口 +DATABASE_NAME=数据库名 +QUEUE_TAG=队列相关操作 +QUERY_QUEUE_LIST_NOTES=查询队列列表 +QUERY_QUEUE_LIST_PAGING_NOTES=分页查询队列列表 +CREATE_QUEUE_NOTES=创建队列 +YARN_QUEUE_NAME=hadoop yarn队列名 +QUEUE_ID=队列ID +TENANT_DESC=租户描述 +QUERY_TENANT_LIST_PAGING_NOTES=分页查询租户列表 +QUERY_TENANT_LIST_NOTES=查询租户列表 +UPDATE_TENANT_NOTES=更新租户 +DELETE_TENANT_NOTES=删除租户 +RESOURCES_TAG=资源中心相关操作 +CREATE_RESOURCE_NOTES=创建资源 +RESOURCE_TYPE=资源文件类型 +RESOURCE_NAME=资源文件名称 +RESOURCE_DESC=资源文件描述 +RESOURCE_FILE=资源文件 +RESOURCE_ID=资源ID +QUERY_RESOURCE_LIST_NOTES=查询资源列表 +DELETE_RESOURCE_BY_ID_NOTES=删除资源通过ID +VIEW_RESOURCE_BY_ID_NOTES=浏览资源通通过ID +ONLINE_CREATE_RESOURCE_NOTES=在线创建资源 +SUFFIX=资源文件后缀 +CONTENT=资源文件内容 +UPDATE_RESOURCE_NOTES=在线更新资源文件 +DOWNLOAD_RESOURCE_NOTES=下载资源文件 +CREATE_UDF_FUNCTION_NOTES=创建UDF函数 +UDF_TYPE=UDF类型 +FUNC_NAME=函数名称 +CLASS_NAME=包名类名 +ARG_TYPES=参数 +UDF_DESC=udf描述,使用说明 +VIEW_UDF_FUNCTION_NOTES=查看udf函数 +UPDATE_UDF_FUNCTION_NOTES=更新udf函数 +QUERY_UDF_FUNCTION_LIST_PAGING_NOTES=分页查询udf函数列表 +VERIFY_UDF_FUNCTION_NAME_NOTES=验证udf函数名 +DELETE_UDF_FUNCTION_NOTES=删除UDF函数 +AUTHORIZED_FILE_NOTES=授权文件 +UNAUTHORIZED_FILE_NOTES=取消授权文件 +AUTHORIZED_UDF_FUNC_NOTES=授权udf函数 +UNAUTHORIZED_UDF_FUNC_NOTES=取消udf函数授权 +VERIFY_QUEUE_NOTES=验证队列 +TENANT_TAG=租户相关操作 +CREATE_TENANT_NOTES=创建租户 +TENANT_CODE=租户编码 +TENANT_NAME=租户名称 +QUEUE_NAME=队列名 +PASSWORD=密码 +DATA_SOURCE_OTHER=jdbc连接参数,格式为:{"key1":"value1",...} +PROJECT_TAG=项目相关操作 +CREATE_PROJECT_NOTES=创建项目 +PROJECT_DESC=项目描述 +UPDATE_PROJECT_NOTES=更新项目 +PROJECT_ID=项目ID +QUERY_PROJECT_BY_ID_NOTES=通过项目ID查询项目信息 +QUERY_PROJECT_LIST_PAGING_NOTES=分页查询项目列表 +DELETE_PROJECT_BY_ID_NOTES=删除项目通过ID +QUERY_UNAUTHORIZED_PROJECT_NOTES=查询未授权的项目 +QUERY_AUTHORIZED_PROJECT_NOTES=查询授权项目 +TASK_RECORD_TAG=任务记录相关操作 +QUERY_TASK_RECORD_LIST_PAGING_NOTES=分页查询任务记录列表 +CREATE_TOKEN_NOTES=创建token,注意需要先登录 +QUERY_ACCESS_TOKEN_LIST_NOTES=分页查询access token列表 +SCHEDULE=定时 +WARNING_TYPE=发送策略 +WARNING_GROUP_ID=发送组ID +FAILURE_STRATEGY=失败策略 +RECEIVERS=收件人 +RECEIVERS_CC=收件人(抄送) +WORKER_GROUP_ID=Worker Server分组ID +PROCESS_INSTANCE_PRIORITY=流程实例优先级 +UPDATE_SCHEDULE_NOTES=更新定时 +SCHEDULE_ID=定时ID +ONLINE_SCHEDULE_NOTES=定时上线 +OFFLINE_SCHEDULE_NOTES=定时下线 +QUERY_SCHEDULE_NOTES=查询定时 +QUERY_SCHEDULE_LIST_PAGING_NOTES=分页查询定时 +LOGIN_TAG=用户登录相关操作 +USER_NAME=用户名 +PROJECT_NAME=项目名称 +CREATE_PROCESS_DEFINITION_NOTES=创建流程定义 +PROCESS_DEFINITION_NAME=流程定义名称 +PROCESS_DEFINITION_JSON=流程定义详细信息(json格式) +PROCESS_DEFINITION_LOCATIONS=流程定义节点坐标位置信息(json格式) +PROCESS_INSTANCE_LOCATIONS=流程实例节点坐标位置信息(json格式) +PROCESS_DEFINITION_CONNECTS=流程定义节点图标连接信息(json格式) +PROCESS_INSTANCE_CONNECTS=流程实例节点图标连接信息(json格式) +PROCESS_DEFINITION_DESC=流程定义描述信息 +PROCESS_DEFINITION_TAG=流程定义相关操作 +SIGNOUT_NOTES=退出登录 +USER_PASSWORD=用户密码 +UPDATE_PROCESS_INSTANCE_NOTES=更新流程实例 +QUERY_PROCESS_INSTANCE_LIST_NOTES=查询流程实例列表 +VERIFY_PROCCESS_DEFINITION_NAME_NOTES=验证流程定义名字 +LOGIN_NOTES=用户登录 +UPDATE_PROCCESS_DEFINITION_NOTES=更新流程定义 +PROCESS_DEFINITION_ID=流程定义ID +RELEASE_PROCCESS_DEFINITION_NOTES=发布流程定义 +QUERY_PROCCESS_DEFINITION_BY_ID_NOTES=查询流程定义通过流程定义ID +QUERY_PROCCESS_DEFINITION_LIST_NOTES=查询流程定义列表 +QUERY_PROCCESS_DEFINITION_LIST_PAGING_NOTES=分页查询流程定义列表 +PAGE_NO=页码号 +PROCESS_INSTANCE_ID=流程实例ID +PROCESS_INSTANCE_JSON=流程实例信息(json格式) +SCHEDULE_TIME=定时时间 +SYNC_DEFINE=更新流程实例的信息是否同步到流程定义 +RECOVERY_PROCESS_INSTANCE_FLAG=是否恢复流程实例 +SEARCH_VAL=搜索值 +USER_ID=用户ID +PAGE_SIZE=页大小 +LIMIT=显示多少条 +VIEW_TREE_NOTES=树状图 +GET_NODE_LIST_BY_DEFINITION_ID_NOTES=获得任务节点列表通过流程定义ID +PROCESS_DEFINITION_ID_LIST=流程定义id列表 +QUERY_PROCESS_INSTANCE_BY_ID_NOTES=查询流程实例通过流程实例ID +DELETE_PROCESS_INSTANCE_BY_ID_NOTES=删除流程实例通过流程实例ID +TASK_ID=任务实例ID +SKIP_LINE_NUM=忽略行数 +QUERY_TASK_INSTANCE_LOG_NOTES=查询任务实例日志 +DOWNLOAD_TASK_INSTANCE_LOG_NOTES=下载任务实例日志 +USERS_TAG=用户相关操作 +SCHEDULER_TAG=定时相关操作 +CREATE_SCHEDULE_NOTES=创建定时 +CREATE_USER_NOTES=创建用户 +TENANT_ID=租户ID +QUEUE=使用的队列 +EMAIL=邮箱 +PHONE=手机号 +QUERY_USER_LIST_NOTES=查询用户列表 +UPDATE_USER_NOTES=更新用户 +DELETE_USER_BY_ID_NOTES=删除用户通过ID +GRANT_PROJECT_NOTES=授权项目 +PROJECT_IDS=项目IDS(字符串格式,多个项目以","分割) +GRANT_RESOURCE_NOTES=授权资源文件 +RESOURCE_IDS=资源ID列表(字符串格式,多个资源ID以","分割) +GET_USER_INFO_NOTES=获取用户信息 +LIST_USER_NOTES=用户列表 +VERIFY_USER_NAME_NOTES=验证用户名 +UNAUTHORIZED_USER_NOTES=取消授权 +ALERT_GROUP_ID=报警组ID +AUTHORIZED_USER_NOTES=授权用户 +GRANT_UDF_FUNC_NOTES=授权udf函数 +UDF_IDS=udf函数id列表(字符串格式,多个udf函数ID以","分割) +GRANT_DATASOURCE_NOTES=授权数据源 +DATASOURCE_IDS=数据源ID列表(字符串格式,多个数据源ID以","分割) +QUERY_SUBPROCESS_INSTANCE_BY_TASK_ID_NOTES=查询子流程实例通过任务实例ID +QUERY_PARENT_PROCESS_INSTANCE_BY_SUB_PROCESS_INSTANCE_ID_NOTES=查询父流程实例信息通过子流程实例ID +QUERY_PROCESS_INSTANCE_GLOBAL_VARIABLES_AND_LOCAL_VARIABLES_NOTES=查询流程实例全局变量和局部变量 +VIEW_GANTT_NOTES=浏览Gantt图 +SUB_PROCESS_INSTANCE_ID=子流程是咧ID +TASK_NAME=任务实例名 +TASK_INSTANCE_TAG=任务实例相关操作 +LOGGER_TAG=日志相关操作 +PROCESS_INSTANCE_TAG=流程实例相关操作 +EXECUTION_STATUS=工作流和任务节点的运行状态 +HOST=运行任务的主机IP地址 +START_DATE=开始时间 +END_DATE=结束时间 +QUERY_TASK_LIST_BY_PROCESS_INSTANCE_ID_NOTES=通过流程实例ID查询任务列表 +UPDATE_DATA_SOURCE_NOTES=更新数据源 +DATA_SOURCE_ID=数据源ID +QUERY_DATA_SOURCE_NOTES=查询数据源通过ID +QUERY_DATA_SOURCE_LIST_BY_TYPE_NOTES=查询数据源列表通过数据源类型 +QUERY_DATA_SOURCE_LIST_PAGING_NOTES=分页查询数据源列表 +CONNECT_DATA_SOURCE_NOTES=连接数据源 +CONNECT_DATA_SOURCE_TEST_NOTES=连接数据源测试 +DELETE_DATA_SOURCE_NOTES=删除数据源 +VERIFY_DATA_SOURCE_NOTES=验证数据源 +UNAUTHORIZED_DATA_SOURCE_NOTES=未授权的数据源 +AUTHORIZED_DATA_SOURCE_NOTES=授权的数据源 +DELETE_SCHEDULER_BY_ID_NOTES=根据定时id删除定时数据 diff --git a/dockerfile/conf/escheduler/conf/mail_templates/alert_mail_template.ftl b/dockerfile/conf/escheduler/conf/mail_templates/alert_mail_template.ftl new file mode 100644 index 0000000000..0ff763fa28 --- /dev/null +++ b/dockerfile/conf/escheduler/conf/mail_templates/alert_mail_template.ftl @@ -0,0 +1 @@ + easyscheduler<#if title??> ${title}<#if content??> ${content}
\ No newline at end of file diff --git a/dockerfile/conf/escheduler/conf/master.properties b/dockerfile/conf/escheduler/conf/master.properties new file mode 100644 index 0000000000..9080defc7b --- /dev/null +++ b/dockerfile/conf/escheduler/conf/master.properties @@ -0,0 +1,21 @@ +# master execute thread num +master.exec.threads=100 + +# master execute task number in parallel +master.exec.task.number=20 + +# master heartbeat interval +master.heartbeat.interval=10 + +# master commit task retry times +master.task.commit.retryTimes=5 + +# master commit task interval +master.task.commit.interval=100 + + +# only less than cpu avg load, master server can work. default value : the number of cpu cores * 2 +master.max.cpuload.avg=10 + +# only larger than reserved memory, master server can work. default value : physical memory * 1/10, unit is G. +master.reserved.memory=1 diff --git a/dockerfile/conf/escheduler/conf/master_logback.xml b/dockerfile/conf/escheduler/conf/master_logback.xml new file mode 100644 index 0000000000..d93878218e --- /dev/null +++ b/dockerfile/conf/escheduler/conf/master_logback.xml @@ -0,0 +1,34 @@ + + + + + + + [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n + + UTF-8 + + + + + ${log.base}/escheduler-master.log + + INFO + + + ${log.base}/escheduler-master.%d{yyyy-MM-dd_HH}.%i.log + 168 + 200MB + + + + [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n + + UTF-8 + + + + + + + \ No newline at end of file diff --git a/dockerfile/conf/escheduler/conf/quartz.properties b/dockerfile/conf/escheduler/conf/quartz.properties new file mode 100644 index 0000000000..21c5feb321 --- /dev/null +++ b/dockerfile/conf/escheduler/conf/quartz.properties @@ -0,0 +1,39 @@ +#============================================================================ +# Configure Main Scheduler Properties +#============================================================================ +org.quartz.scheduler.instanceName = EasyScheduler +org.quartz.scheduler.instanceId = AUTO +org.quartz.scheduler.makeSchedulerThreadDaemon = true +org.quartz.jobStore.useProperties = false + +#============================================================================ +# Configure ThreadPool +#============================================================================ + +org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool +org.quartz.threadPool.makeThreadsDaemons = true +org.quartz.threadPool.threadCount = 25 +org.quartz.threadPool.threadPriority = 5 + +#============================================================================ +# Configure JobStore +#============================================================================ + +org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX +org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate +org.quartz.jobStore.tablePrefix = QRTZ_ +org.quartz.jobStore.isClustered = true +org.quartz.jobStore.misfireThreshold = 60000 +org.quartz.jobStore.clusterCheckinInterval = 5000 +org.quartz.jobStore.dataSource = myDs + +#============================================================================ +# Configure Datasources +#============================================================================ + +org.quartz.dataSource.myDs.driver = com.mysql.jdbc.Driver +org.quartz.dataSource.myDs.URL=jdbc:mysql://127.0.0.1:3306/escheduler?characterEncoding=utf8 +org.quartz.dataSource.myDs.user=root +org.quartz.dataSource.myDs.password=root@123 +org.quartz.dataSource.myDs.maxConnections = 10 +org.quartz.dataSource.myDs.validationQuery = select 1 \ No newline at end of file diff --git a/dockerfile/conf/escheduler/conf/worker.properties b/dockerfile/conf/escheduler/conf/worker.properties new file mode 100644 index 0000000000..e58bd86dcf --- /dev/null +++ b/dockerfile/conf/escheduler/conf/worker.properties @@ -0,0 +1,15 @@ +# worker execute thread num +worker.exec.threads=100 + +# worker heartbeat interval +worker.heartbeat.interval=10 + +# submit the number of tasks at a time +worker.fetch.task.num = 3 + + +# only less than cpu avg load, worker server can work. default value : the number of cpu cores * 2 +#worker.max.cpuload.avg=10 + +# only larger than reserved memory, worker server can work. default value : physical memory * 1/6, unit is G. +worker.reserved.memory=1 \ No newline at end of file diff --git a/dockerfile/conf/escheduler/conf/worker_logback.xml b/dockerfile/conf/escheduler/conf/worker_logback.xml new file mode 100644 index 0000000000..32914ec84f --- /dev/null +++ b/dockerfile/conf/escheduler/conf/worker_logback.xml @@ -0,0 +1,53 @@ + + + + + + + [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n + + UTF-8 + + + + + INFO + + + ${log.base}/{processDefinitionId}/{processInstanceId}/{taskInstanceId}.log + + + [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n + + UTF-8 + + true + + + + ${log.base}/escheduler-worker.log + + INFO + + + + ${log.base}/escheduler-worker.%d{yyyy-MM-dd_HH}.%i.log + 168 + 200MB + +       + + + [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n + + UTF-8 + +    + + + + + + + + \ No newline at end of file diff --git a/dockerfile/conf/escheduler/conf/zookeeper.properties b/dockerfile/conf/escheduler/conf/zookeeper.properties new file mode 100644 index 0000000000..5f14df49b7 --- /dev/null +++ b/dockerfile/conf/escheduler/conf/zookeeper.properties @@ -0,0 +1,25 @@ +#zookeeper cluster +zookeeper.quorum=127.0.0.1:2181 + +#escheduler root directory +zookeeper.escheduler.root=/escheduler + +#zookeeper server dirctory +zookeeper.escheduler.dead.servers=/escheduler/dead-servers +zookeeper.escheduler.masters=/escheduler/masters +zookeeper.escheduler.workers=/escheduler/workers + +#zookeeper lock dirctory +zookeeper.escheduler.lock.masters=/escheduler/lock/masters +zookeeper.escheduler.lock.workers=/escheduler/lock/workers + +#escheduler failover directory +zookeeper.escheduler.lock.failover.masters=/escheduler/lock/failover/masters +zookeeper.escheduler.lock.failover.workers=/escheduler/lock/failover/workers +zookeeper.escheduler.lock.failover.startup.masters=/escheduler/lock/failover/startup-masters + +#escheduler failover directory +zookeeper.session.timeout=300 +zookeeper.connection.timeout=300 +zookeeper.retry.sleep=1000 +zookeeper.retry.maxtime=5 \ No newline at end of file diff --git a/dockerfile/conf/maven/settings.xml b/dockerfile/conf/maven/settings.xml new file mode 100644 index 0000000000..6bdea4a1bf --- /dev/null +++ b/dockerfile/conf/maven/settings.xml @@ -0,0 +1,263 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + nexus-aliyun + central + Nexus aliyun + http://maven.aliyun.com/nexus/content/groups/public + + + + + + + + + + + + diff --git a/dockerfile/conf/nginx/default.conf b/dockerfile/conf/nginx/default.conf new file mode 100644 index 0000000000..2d43c32b63 --- /dev/null +++ b/dockerfile/conf/nginx/default.conf @@ -0,0 +1,31 @@ +server { + listen 8888; + server_name localhost; + #charset koi8-r; + #access_log /var/log/nginx/host.access.log main; + location / { + root /opt/easyscheduler_source/escheduler-ui/dist; + index index.html index.html; + } + location /escheduler { + proxy_pass http://127.0.0.1:12345; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header x_real_ipP $remote_addr; + proxy_set_header remote_addr $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_http_version 1.1; + proxy_connect_timeout 300s; + proxy_read_timeout 300s; + proxy_send_timeout 300s; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + } + #error_page 404 /404.html; + # redirect server error pages to the static page /50x.html + # + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root /usr/share/nginx/html; + } +} diff --git a/dockerfile/conf/zookeeper/zoo.cfg b/dockerfile/conf/zookeeper/zoo.cfg new file mode 100644 index 0000000000..a5a2c0bbe3 --- /dev/null +++ b/dockerfile/conf/zookeeper/zoo.cfg @@ -0,0 +1,28 @@ +# The number of milliseconds of each tick +tickTime=2000 +# The number of ticks that the initial +# synchronization phase can take +initLimit=10 +# The number of ticks that can pass between +# sending a request and getting an acknowledgement +syncLimit=5 +# the directory where the snapshot is stored. +# do not use /tmp for storage, /tmp here is just +# example sakes. +dataDir=/tmp/zookeeper +# the port at which the clients will connect +clientPort=2181 +# the maximum number of client connections. +# increase this if you need to handle more clients +#maxClientCnxns=60 +# +# Be sure to read the maintenance section of the +# administrator guide before turning on autopurge. +# +# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance +# +# The number of snapshots to retain in dataDir +#autopurge.snapRetainCount=3 +# Purge task interval in hours +# Set to "0" to disable auto purge feature +#autopurge.purgeInterval=1 diff --git a/dockerfile/hooks/build b/dockerfile/hooks/build new file mode 100644 index 0000000000..779c38e66f --- /dev/null +++ b/dockerfile/hooks/build @@ -0,0 +1,8 @@ +#!/bin/bash + +echo "------ escheduler start - build -------" +printenv + +docker build --build-arg version=$version --build-arg tar_version=$tar_version -t $DOCKER_REPO:$version . + +echo "------ escheduler end - build -------" diff --git a/dockerfile/hooks/push b/dockerfile/hooks/push new file mode 100644 index 0000000000..7b98da1a8d --- /dev/null +++ b/dockerfile/hooks/push @@ -0,0 +1,8 @@ +#!/bin/bash + +echo "------ push start -------" +printenv + +docker push $DOCKER_REPO:$version + +echo "------ push end -------" diff --git a/dockerfile/startup.sh b/dockerfile/startup.sh new file mode 100644 index 0000000000..b6f6b8622b --- /dev/null +++ b/dockerfile/startup.sh @@ -0,0 +1,81 @@ +#! /bin/bash + +set -e +if [ `netstat -anop|grep mysql|wc -l` -gt 0 ];then + echo "MySQL is Running." +else + MYSQL_ROOT_PWD="root@123" + ESZ_DB="escheduler" + echo "启动mysql服务" + chown -R mysql:mysql /var/lib/mysql /var/run/mysqld + find /var/lib/mysql -type f -exec touch {} \; && service mysql restart $ sleep 10 + if [ ! -f /nohup.out ];then + echo "设置mysql密码" + mysql --user=root --password=root -e "UPDATE mysql.user set authentication_string=password('$MYSQL_ROOT_PWD') where user='root'; FLUSH PRIVILEGES;" + + echo "设置mysql权限" + mysql --user=root --password=$MYSQL_ROOT_PWD -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '$MYSQL_ROOT_PWD' WITH GRANT OPTION; FLUSH PRIVILEGES;" + echo "创建escheduler数据库" + mysql --user=root --password=$MYSQL_ROOT_PWD -e "CREATE DATABASE IF NOT EXISTS \`$ESZ_DB\` CHARACTER SET utf8 COLLATE utf8_general_ci; FLUSH PRIVILEGES;" + echo "导入mysql数据" + nohup /opt/escheduler/script/create_escheduler.sh & + sleep 90 + fi + + if [ `mysql --user=root --password=$MYSQL_ROOT_PWD -s -r -e "SELECT count(TABLE_NAME) FROM information_schema.TABLES WHERE TABLE_SCHEMA='escheduler';" | grep -v count` -eq 38 ];then + echo "\`$ESZ_DB\` 表个数正确" + else + echo "\`$ESZ_DB\` 表个数不正确" + mysql --user=root --password=$MYSQL_ROOT_PWD -e "DROP DATABASE \`$ESZ_DB\`;" + echo "创建escheduler数据库" + mysql --user=root --password=$MYSQL_ROOT_PWD -e "CREATE DATABASE IF NOT EXISTS \`$ESZ_DB\` CHARACTER SET utf8 COLLATE utf8_general_ci; FLUSH PRIVILEGES;" + echo "导入mysql数据" + nohup /opt/escheduler/script/create_escheduler.sh & + sleep 90 + fi +fi + +/opt/zookeeper/bin/zkServer.sh restart + +sleep 10 + +echo "启动api-server" +/opt/escheduler/bin/escheduler-daemon.sh stop api-server +/opt/escheduler/bin/escheduler-daemon.sh start api-server + + + +echo "启动master-server" +/opt/escheduler/bin/escheduler-daemon.sh stop master-server +python /opt/escheduler/script/del_zk_node.py 127.0.0.1 /escheduler/masters +/opt/escheduler/bin/escheduler-daemon.sh start master-server + +echo "启动worker-server" +/opt/escheduler/bin/escheduler-daemon.sh stop worker-server +python /opt/escheduler/script/del_zk_node.py 127.0.0.1 /escheduler/workers +/opt/escheduler/bin/escheduler-daemon.sh start worker-server + + +echo "启动logger-server" +/opt/escheduler/bin/escheduler-daemon.sh stop logger-server +/opt/escheduler/bin/escheduler-daemon.sh start logger-server + + +echo "启动alert-server" +/opt/escheduler/bin/escheduler-daemon.sh stop alert-server +/opt/escheduler/bin/escheduler-daemon.sh start alert-server + + + + + +echo "启动nginx" +/etc/init.d/nginx stop +nginx & + + +while true +do + sleep 101 +done +exec "$@" diff --git a/escheduler-api/src/main/java/cn/escheduler/api/service/SessionService.java b/escheduler-api/src/main/java/cn/escheduler/api/service/SessionService.java index e57535cf7a..af523823a4 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/service/SessionService.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/service/SessionService.java @@ -19,6 +19,7 @@ package cn.escheduler.api.service; import cn.escheduler.api.controller.BaseController; import cn.escheduler.api.utils.Constants; +import cn.escheduler.common.utils.CollectionUtils; import cn.escheduler.dao.mapper.SessionMapper; import cn.escheduler.dao.model.Session; import cn.escheduler.dao.model.User; @@ -31,6 +32,7 @@ import org.springframework.stereotype.Service; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import java.util.Date; +import java.util.List; import java.util.UUID; /** @@ -68,7 +70,7 @@ public class SessionService extends BaseService{ String ip = BaseController.getClientIpAddress(request); logger.info("get session: {}, ip: {}", sessionId, ip); - return sessionMapper.queryByIdAndIp(sessionId); + return sessionMapper.queryBySessionId(sessionId); } /** @@ -79,14 +81,26 @@ public class SessionService extends BaseService{ * @return */ public String createSession(User user, String ip) { + Session session = null; + // logined - Session session = sessionMapper.queryByUserIdAndIp(user.getId()); + List sessionList = sessionMapper.queryByUserId(user.getId()); + + + Date now = new Date(); /** * if you have logged in and are still valid, return directly */ - if (session != null) { + if (CollectionUtils.isNotEmpty(sessionList)) { + // is session list greater 1 , delete other ,get one + if (sessionList.size() > 1){ + for (int i=1 ; i < sessionList.size();i++){ + sessionMapper.deleteById(sessionList.get(i).getId()); + } + } + session = sessionList.get(0); if (now.getTime() - session.getLastLoginTime().getTime() <= Constants.SESSION_TIME_OUT * 1000) { /** * updateProcessInstance the latest login time @@ -126,8 +140,11 @@ public class SessionService extends BaseService{ /** * query session by user id and ip */ - Session session = sessionMapper.queryByUserIdAndIp(loginUser.getId()); - //delete session - sessionMapper.deleteById(session.getId()); + List sessionList = sessionMapper.queryByUserId(loginUser.getId()); + + for (Session session : sessionList){ + //delete session + sessionMapper.deleteById(session.getId()); + } } } diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/SessionMapper.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/SessionMapper.java index 748ee474f7..1137817c47 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/SessionMapper.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/SessionMapper.java @@ -22,6 +22,7 @@ import org.apache.ibatis.type.JdbcType; import java.sql.Timestamp; import java.util.Date; +import java.util.List; /** * session mapper @@ -57,20 +58,6 @@ public interface SessionMapper { int update(@Param("sessionId") String sessionId, @Param("loginTime") Date loginTime); - /** - * query by session id - * @param sessionId - * @return - */ - @Results(value = {@Result(property = "id", column = "id", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "userId", column = "user_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), - @Result(property = "ip", column = "ip", javaType = String.class, jdbcType = JdbcType.VARCHAR), - @Result(property = "lastLoginTime", column = "last_login_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) - }) - @SelectProvider(type = SessionMapperProvider.class, method = "queryById") - Session queryById(@Param("sessionId") int sessionId); - - /** * query by session id and ip * @@ -83,8 +70,8 @@ public interface SessionMapper { @Result(property = "ip", column = "ip", javaType = String.class, jdbcType = JdbcType.VARCHAR), @Result(property = "lastLoginTime", column = "last_login_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) }) - @SelectProvider(type = SessionMapperProvider.class, method = "queryByIdAndIp") - Session queryByIdAndIp(@Param("sessionId") String sessionId); + @SelectProvider(type = SessionMapperProvider.class, method = "queryBySessionId") + Session queryBySessionId(@Param("sessionId") String sessionId); /** @@ -98,7 +85,7 @@ public interface SessionMapper { @Result(property = "ip", column = "ip", javaType = String.class, jdbcType = JdbcType.VARCHAR), @Result(property = "lastLoginTime", column = "last_login_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE) }) - @SelectProvider(type = SessionMapperProvider.class, method = "queryByUserIdAndIp") - Session queryByUserIdAndIp(@Param("userId") int userId); + @SelectProvider(type = SessionMapperProvider.class, method = "queryByUserId") + List queryByUserId(@Param("userId") int userId); } diff --git a/escheduler-server/src/main/java/cn/escheduler/server/utils/ParamUtils.java b/escheduler-server/src/main/java/cn/escheduler/server/utils/ParamUtils.java index e3041ffd9d..b16e9f3092 100644 --- a/escheduler-server/src/main/java/cn/escheduler/server/utils/ParamUtils.java +++ b/escheduler-server/src/main/java/cn/escheduler/server/utils/ParamUtils.java @@ -44,7 +44,6 @@ public class ParamUtils { CommandType commandType, Date scheduleTime){ if (globalParams == null - && globalParams == null && localParams == null){ return null; } From 7bdf414a5615fc98fda4855c60a6c56872b96802 Mon Sep 17 00:00:00 2001 From: easyscheduler Date: Tue, 13 Aug 2019 11:20:20 +0800 Subject: [PATCH 7/8] Update EasyScheduler Proposal.md --- docs/en_US/EasyScheduler Proposal.md | 77 +++++++++------------------- 1 file changed, 25 insertions(+), 52 deletions(-) diff --git a/docs/en_US/EasyScheduler Proposal.md b/docs/en_US/EasyScheduler Proposal.md index ca6c35e573..40da17f0db 100644 --- a/docs/en_US/EasyScheduler Proposal.md +++ b/docs/en_US/EasyScheduler Proposal.md @@ -6,37 +6,13 @@ EasyScheduler is a distributed ETL scheduling engine with powerful DAG visualiza ## Proposal -EasyScheduler provides many easy-to-use features to accelerate the engineer enficiency on data ETL workflow job. We propose a new concept of 'instance of process' and 'instance of task' to let developers to tuning their jobs on the running state of workflow instead of changing the task's template. EasyScheduler DAG UI also let data engineer easily add or change a ETL job in a complex schedulnig system. Its main objectives are as follows: +EasyScheduler provides many easy-to-use features to accelerate the engineer enficiency on data ETL workflow job. We propose a new concept of 'instance of process' and 'instance of task' to let developers to tuning their jobs on the running state of workflow instead of changing the task's template. Its main objectives are as follows: -- Define the complex tasks' dependencies & triggers in a DAG graph by dragging and dropping . DAG graph can also show the running state of task in real time. - -- Define the process result dependencies besides DAG dependencies, e.g. weekly job depends on the success of last 7 daily job. - -- Support cluster HA, and implement distributed Master clusters and Worker clusters base on Zookeeper services. - -- Support multi-tenant - -- Support automatical failure job retry and recovery from specified nodes by pre-define rules. - -- Support parallel or serial backfilling data instead of duplicated maintainence work. - -- Support many data task types: Shell, MapReduce, Spark, SQL (mysql, postgresql, hive, sparksql), Python, Sub_Process, Stored Procedure, etc. - -- Support process running history tree/gantt chart display, support task status statistics, process status statistics. - -- Support process scheduling, manual scheduling, also support manual pause/stop/recovery, killing task on runnning time. - -- Support define process priority, task priority and relative task timeout alarm. - -- Support process global parameters and node specified parameter settings. - -- Support online upload/download/manage resource files and also support online file creation and editing. - -- Support task log online viewing and scrolling, online download log, etc. - -- Support online viewing of `Master/Worker` cpu load, memory, etc. - - +- Define the complex tasks' dependencies & triggers in a DAG graph by dragging and dropping. +- Support cluster HA. +- Support multi-tenant and parallel or serial backfilling data. +- Support automatical failure job retry and recovery. +- Support many data task types and process priority, task priority and relative task timeout alarm. For now, EasyScheduler has a fairly huge community in China. It is also widely adopted by many [companies and organizations](https://github.com/analysys/EasyScheduler/issues/57) as its ETL scheduling tool. @@ -47,18 +23,18 @@ Analysys submits this proposal to donate EasyScheduler's source codes and all re The codes are already under Apache License Version 2.0. - Code base: https://www.github.com/analysys/easyscheduler -- Documentations: +- English Documentations: +- Chinese Documentations: ## Background We want to find a data processing tool with the following features: -- Easy to use,developers can build a ETL process with a very simple drag and drop operation. not only for ETL developers,people who can't write ETL code also can use this tool for ETL operation such as system adminitrator. -- Support HA and automatically change master and worker node to keep whole system stable. +- Easy to use,developers can build a ETL process with a very simple drag and drop operation. not only for ETL developers,people who can't write code also can use this tool for ETL operation such as system adminitrator. - Solving the problem of "complex task dependencies" , and it can monitor the ETL running status. - Support multi-tenant. -- Support many task types: Shell, MR, Spark, SQL (mysql, postgresql, hive, sparksql), Python, Sub_Process, Procedure, etc. -- Linear scalability. +- Support many task types: Shell, MR, Spark, SQL (mysql, postgresql, hive, sparksql), Python, Sub_Process, Procedure, etc. +- Support HA and linear scalability. For the above reasons, we realized that no existing product met our requirements, so we decided to develop this tool ourselves. We designed EasyScheduler at the end of 2017. The first internal use version was completed in May 2018. We then iterated several internal versions and the system gradually became stabilized. @@ -96,9 +72,7 @@ Thus, it is very unlikely that EasyScheduler becomes orphaned. ### Inexperience with Open Source -The core developers are all active users and followers of open source. They are already committers and contributors to the EasyScheduler Github project. All have been involved with the source code that has been released under an open source license, and several of them also have experience developing code in an open source environment, they are also active in presto, alluxio and other projects. - -Therefore, we believe we have enough experience to deal with open source. +EasyScheduler's core developers have been running it as a community-oriented open source project for some time, several of them already have experience working with open source communities, they are also active in presto, alluxio and other projects.At the same time, we will learn more open source experience from the excellent apache open source project to make up for this shortcoming. ### Homogenous Developers @@ -122,20 +96,18 @@ However, we prefer that the community provided by the Apache Software Foundation ## Documentation -A complete set of Sharding-Sphere documentations is provided on shardingsphere.io in both English and Simplified Chinese. +A complete set of EasyScheduler documentations is provided on github in both English and Simplified Chinese. -- [English](https://github.com/analysys/easyscheduler_docs/en_US) -- [Chinese](https://github.com/analysys/easyscheduler_docs/zh_CN) +- [English](https://github.com/analysys/easyscheduler_docs) +- [Chinese](https://github.com/analysys/easyscheduler_docs_cn) ## Initial Source -The project consists of two distinct codebases: core and document. The address of two existed git repositories are as follows: +The project consists of three distinct codebases: core and document. The address of two existed git repositories are as follows: - - - - - +- ## Source and Intellectual Property Submission Plan @@ -1405,6 +1377,7 @@ The front-end UI currently relies on many components, which we will list separat - - +- ### Issue Tracking @@ -1422,14 +1395,14 @@ Travis (TODO) ## Initial Committers -- William-GuoWei -- Lidong Dai -- Zhanwei Qiao +- William-GuoWei(guowei20m@outlook.com) +- Lidong Dai(lidong.dai@outlook.com) +- Zhanwei Qiao(qiaozhanwei@outlook.com) - Liang Bao - Gang Li -- Zijian Gong +- Zijian Gong(quanquansy@gmail.com) - Jun Gao -- Baoqi Wu +- Baoqi Wu(wubaoqi@gmail.com) ## Affiliations @@ -1449,11 +1422,11 @@ Travis (TODO) ### Mentors -- Sheng Wu ( Apache Software Foundation Member [wusheng@apache.org](mailto:wusheng@apache.org)) +- Sheng Wu ( Apache Incubator PMC, [wusheng@apache.org](mailto:wusheng@apache.org)) - ShaoFeng Shi ( Apache Kylin committer & PMC, Apache Incubator PMC, [shaofengshi@apache.org](mailto:wusheng@apache.org)) -- Liang Chen ( Apache Software Foundation Member chenliang613@apache.org](mailto:chenliang613@apache.org)) +- Liang Chen ( Apache Software Foundation Member, chenliang613@apache.org](mailto:chenliang613@apache.org)) From f687626469497741328fea8a88719c14ade4ab67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=94=E5=8D=A0=E5=8D=AB?= <825193156@qq.com> Date: Tue, 13 Aug 2019 15:23:43 +0800 Subject: [PATCH 8/8] worker code optimization and filtering the log of one task to the log of another task (#696) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * bug fix #688,a user generated multiple ip session, the query error (#689) * Dockerfile update * worker code optimization * filtering the log of one task to the log of another task --- dockerfile/dockerfile-1.0.x/Dockerfile | 145 ---------- .../conf/escheduler/conf/alert.properties | 21 -- .../conf/escheduler/conf/alert_logback.xml | 31 --- .../escheduler/conf/apiserver_logback.xml | 42 --- .../escheduler/conf/application.properties | 16 -- .../conf/application_master.properties | 1 - .../escheduler/conf/common/common.properties | 27 -- .../conf/common/hadoop/hadoop.properties | 8 - .../conf/config/install_config.conf | 3 - .../escheduler/conf/config/run_config.conf | 4 - .../conf/dao/data_source.properties | 53 ---- .../escheduler/conf/env/.escheduler_env.sh | 4 - .../mail_templates/alert_mail_template.ftl | 1 - .../conf/escheduler/conf/master.properties | 21 -- .../conf/escheduler/conf/master_logback.xml | 34 --- .../conf/escheduler/conf/quartz.properties | 39 --- .../conf/escheduler/conf/worker.properties | 15 - .../conf/escheduler/conf/worker_logback.xml | 53 ---- .../conf/escheduler/conf/zookeeper.properties | 25 -- .../dockerfile-1.0.x/conf/maven/settings.xml | 263 ------------------ .../dockerfile-1.0.x/conf/nginx/default.conf | 31 --- .../dockerfile-1.0.x/conf/zookeeper/zoo.cfg | 28 -- dockerfile/dockerfile-1.0.x/hooks/build | 8 - dockerfile/dockerfile-1.0.x/hooks/push | 8 - dockerfile/dockerfile-1.0.x/startup.sh | 79 ------ dockerfile/dockerfile-1.1.x/Dockerfile | 146 ---------- .../conf/escheduler/conf/alert.properties | 30 -- .../conf/escheduler/conf/alert_logback.xml | 31 --- .../escheduler/conf/apiserver_logback.xml | 42 --- .../escheduler/conf/application.properties | 19 -- .../conf/application_master.properties | 1 - .../escheduler/conf/common/common.properties | 42 --- .../conf/common/hadoop/hadoop.properties | 18 -- .../conf/config/install_config.conf | 3 - .../escheduler/conf/config/run_config.conf | 4 - .../conf/dao/data_source.properties | 53 ---- .../escheduler/conf/env/.escheduler_env.sh | 3 - .../escheduler/conf/i18n/messages.properties | 229 --------------- .../conf/i18n/messages_en_US.properties | 229 --------------- .../conf/i18n/messages_zh_CN.properties | 227 --------------- .../mail_templates/alert_mail_template.ftl | 1 - .../conf/escheduler/conf/master.properties | 21 -- .../conf/escheduler/conf/master_logback.xml | 34 --- .../conf/escheduler/conf/quartz.properties | 39 --- .../conf/escheduler/conf/worker.properties | 15 - .../conf/escheduler/conf/worker_logback.xml | 53 ---- .../conf/escheduler/conf/zookeeper.properties | 25 -- .../dockerfile-1.1.x/conf/maven/settings.xml | 263 ------------------ .../dockerfile-1.1.x/conf/nginx/default.conf | 31 --- .../dockerfile-1.1.x/conf/zookeeper/zoo.cfg | 28 -- dockerfile/dockerfile-1.1.x/hooks/build | 8 - dockerfile/dockerfile-1.1.x/hooks/push | 8 - dockerfile/dockerfile-1.1.x/startup.sh | 80 ------ dockerfile/startup.sh | 2 +- .../escheduler/dao/mapper/TenantMapper.java | 2 + .../dao/mapper/TenantMapperProvider.java | 9 +- .../java/cn/escheduler/dao/model/Tenant.java | 16 ++ .../escheduler/server/rpc/LoggerServer.java | 72 ++++- .../server/worker/WorkerServer.java | 21 +- .../server/worker/runner/FetchTaskThread.java | 72 ++++- .../worker/runner/TaskScheduleThread.java | 2 +- 61 files changed, 147 insertions(+), 2692 deletions(-) delete mode 100644 dockerfile/dockerfile-1.0.x/Dockerfile delete mode 100644 dockerfile/dockerfile-1.0.x/conf/escheduler/conf/alert.properties delete mode 100644 dockerfile/dockerfile-1.0.x/conf/escheduler/conf/alert_logback.xml delete mode 100644 dockerfile/dockerfile-1.0.x/conf/escheduler/conf/apiserver_logback.xml delete mode 100644 dockerfile/dockerfile-1.0.x/conf/escheduler/conf/application.properties delete mode 100644 dockerfile/dockerfile-1.0.x/conf/escheduler/conf/application_master.properties delete mode 100644 dockerfile/dockerfile-1.0.x/conf/escheduler/conf/common/common.properties delete mode 100644 dockerfile/dockerfile-1.0.x/conf/escheduler/conf/common/hadoop/hadoop.properties delete mode 100644 dockerfile/dockerfile-1.0.x/conf/escheduler/conf/config/install_config.conf delete mode 100644 dockerfile/dockerfile-1.0.x/conf/escheduler/conf/config/run_config.conf delete mode 100644 dockerfile/dockerfile-1.0.x/conf/escheduler/conf/dao/data_source.properties delete mode 100644 dockerfile/dockerfile-1.0.x/conf/escheduler/conf/env/.escheduler_env.sh delete mode 100644 dockerfile/dockerfile-1.0.x/conf/escheduler/conf/mail_templates/alert_mail_template.ftl delete mode 100644 dockerfile/dockerfile-1.0.x/conf/escheduler/conf/master.properties delete mode 100644 dockerfile/dockerfile-1.0.x/conf/escheduler/conf/master_logback.xml delete mode 100644 dockerfile/dockerfile-1.0.x/conf/escheduler/conf/quartz.properties delete mode 100644 dockerfile/dockerfile-1.0.x/conf/escheduler/conf/worker.properties delete mode 100644 dockerfile/dockerfile-1.0.x/conf/escheduler/conf/worker_logback.xml delete mode 100644 dockerfile/dockerfile-1.0.x/conf/escheduler/conf/zookeeper.properties delete mode 100644 dockerfile/dockerfile-1.0.x/conf/maven/settings.xml delete mode 100644 dockerfile/dockerfile-1.0.x/conf/nginx/default.conf delete mode 100644 dockerfile/dockerfile-1.0.x/conf/zookeeper/zoo.cfg delete mode 100644 dockerfile/dockerfile-1.0.x/hooks/build delete mode 100644 dockerfile/dockerfile-1.0.x/hooks/push delete mode 100644 dockerfile/dockerfile-1.0.x/startup.sh delete mode 100644 dockerfile/dockerfile-1.1.x/Dockerfile delete mode 100644 dockerfile/dockerfile-1.1.x/conf/escheduler/conf/alert.properties delete mode 100644 dockerfile/dockerfile-1.1.x/conf/escheduler/conf/alert_logback.xml delete mode 100644 dockerfile/dockerfile-1.1.x/conf/escheduler/conf/apiserver_logback.xml delete mode 100644 dockerfile/dockerfile-1.1.x/conf/escheduler/conf/application.properties delete mode 100644 dockerfile/dockerfile-1.1.x/conf/escheduler/conf/application_master.properties delete mode 100644 dockerfile/dockerfile-1.1.x/conf/escheduler/conf/common/common.properties delete mode 100644 dockerfile/dockerfile-1.1.x/conf/escheduler/conf/common/hadoop/hadoop.properties delete mode 100644 dockerfile/dockerfile-1.1.x/conf/escheduler/conf/config/install_config.conf delete mode 100644 dockerfile/dockerfile-1.1.x/conf/escheduler/conf/config/run_config.conf delete mode 100644 dockerfile/dockerfile-1.1.x/conf/escheduler/conf/dao/data_source.properties delete mode 100644 dockerfile/dockerfile-1.1.x/conf/escheduler/conf/env/.escheduler_env.sh delete mode 100644 dockerfile/dockerfile-1.1.x/conf/escheduler/conf/i18n/messages.properties delete mode 100644 dockerfile/dockerfile-1.1.x/conf/escheduler/conf/i18n/messages_en_US.properties delete mode 100644 dockerfile/dockerfile-1.1.x/conf/escheduler/conf/i18n/messages_zh_CN.properties delete mode 100644 dockerfile/dockerfile-1.1.x/conf/escheduler/conf/mail_templates/alert_mail_template.ftl delete mode 100644 dockerfile/dockerfile-1.1.x/conf/escheduler/conf/master.properties delete mode 100644 dockerfile/dockerfile-1.1.x/conf/escheduler/conf/master_logback.xml delete mode 100644 dockerfile/dockerfile-1.1.x/conf/escheduler/conf/quartz.properties delete mode 100644 dockerfile/dockerfile-1.1.x/conf/escheduler/conf/worker.properties delete mode 100644 dockerfile/dockerfile-1.1.x/conf/escheduler/conf/worker_logback.xml delete mode 100644 dockerfile/dockerfile-1.1.x/conf/escheduler/conf/zookeeper.properties delete mode 100644 dockerfile/dockerfile-1.1.x/conf/maven/settings.xml delete mode 100644 dockerfile/dockerfile-1.1.x/conf/nginx/default.conf delete mode 100644 dockerfile/dockerfile-1.1.x/conf/zookeeper/zoo.cfg delete mode 100644 dockerfile/dockerfile-1.1.x/hooks/build delete mode 100644 dockerfile/dockerfile-1.1.x/hooks/push delete mode 100644 dockerfile/dockerfile-1.1.x/startup.sh diff --git a/dockerfile/dockerfile-1.0.x/Dockerfile b/dockerfile/dockerfile-1.0.x/Dockerfile deleted file mode 100644 index cebf7d5114..0000000000 --- a/dockerfile/dockerfile-1.0.x/Dockerfile +++ /dev/null @@ -1,145 +0,0 @@ -FROM ubuntu:18.04 - -MAINTAINER journey "825193156@qq.com" - -ENV LANG=C.UTF-8 - -ARG version - -#1,安装jdk - -RUN apt-get update \ - && apt-get -y install openjdk-8-jdk \ - && rm -rf /var/lib/apt/lists/* - -ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64 -ENV PATH $JAVA_HOME/bin:$PATH - - -#安装wget -RUN apt-get update && \ - apt-get -y install wget -#2,安装ZK -#RUN cd /opt && \ -# wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz && \ -# tar -zxvf zookeeper-3.4.6.tar.gz && \ -# mv zookeeper-3.4.6 zookeeper && \ -# rm -rf ./zookeeper-*tar.gz && \ -# mkdir -p /tmp/zookeeper && \ -# rm -rf /opt/zookeeper/conf/zoo_sample.cfg - -RUN cd /opt && \ - wget https://www-us.apache.org/dist/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz && \ - tar -zxvf zookeeper-3.4.14.tar.gz && \ - mv zookeeper-3.4.14 zookeeper && \ - rm -rf ./zookeeper-*tar.gz && \ - mkdir -p /tmp/zookeeper && \ - rm -rf /opt/zookeeper/conf/zoo_sample.cfg - -ADD ./conf/zookeeper/zoo.cfg /opt/zookeeper/conf -ENV ZK_HOME=/opt/zookeeper -ENV PATH $PATH:$ZK_HOME/bin - -#3,安装maven -RUN cd /opt && \ - wget http://apache-mirror.rbc.ru/pub/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz && \ - tar -zxvf apache-maven-3.3.9-bin.tar.gz && \ - mv apache-maven-3.3.9 maven && \ - rm -rf ./apache-maven-*tar.gz && \ - rm -rf /opt/maven/conf/settings.xml -ADD ./conf/maven/settings.xml /opt/maven/conf -ENV MAVEN_HOME=/opt/maven -ENV PATH $PATH:$MAVEN_HOME/bin - -#4,安装node -RUN cd /opt && \ - wget https://nodejs.org/download/release/v8.9.4/node-v8.9.4-linux-x64.tar.gz && \ - tar -zxvf node-v8.9.4-linux-x64.tar.gz && \ - mv node-v8.9.4-linux-x64 node && \ - rm -rf ./node-v8.9.4-*tar.gz -ENV NODE_HOME=/opt/node -ENV PATH $PATH:$NODE_HOME/bin - -#5,下载escheduler -RUN cd /opt && \ - wget https://github.com/analysys/EasyScheduler/archive/${version}.tar.gz && \ - tar -zxvf ${version}.tar.gz && \ - mv EasyScheduler-${version} easyscheduler_source && \ - rm -rf ./${version}.tar.gz - -#6,后端编译 -RUN cd /opt/easyscheduler_source && \ - mvn -U clean package assembly:assembly -Dmaven.test.skip=true - -#7,前端编译 -RUN chmod -R 777 /opt/easyscheduler_source/escheduler-ui && \ - cd /opt/easyscheduler_source/escheduler-ui && \ - rm -rf /opt/easyscheduler_source/escheduler-ui/node_modules && \ - npm install node-sass --unsafe-perm && \ - npm install && \ - npm run build -#8,安装mysql -RUN echo "deb http://cn.archive.ubuntu.com/ubuntu/ xenial main restricted universe multiverse" >> /etc/apt/sources.list - -RUN echo "mysql-server mysql-server/root_password password root" | debconf-set-selections -RUN echo "mysql-server mysql-server/root_password_again password root" | debconf-set-selections - -RUN apt-get update && \ - apt-get -y install mysql-server-5.7 && \ - mkdir -p /var/lib/mysql && \ - mkdir -p /var/run/mysqld && \ - mkdir -p /var/log/mysql && \ - chown -R mysql:mysql /var/lib/mysql && \ - chown -R mysql:mysql /var/run/mysqld && \ - chown -R mysql:mysql /var/log/mysql - - -# UTF-8 and bind-address -RUN sed -i -e "$ a [client]\n\n[mysql]\n\n[mysqld]" /etc/mysql/my.cnf && \ - sed -i -e "s/\(\[client\]\)/\1\ndefault-character-set = utf8/g" /etc/mysql/my.cnf && \ - sed -i -e "s/\(\[mysql\]\)/\1\ndefault-character-set = utf8/g" /etc/mysql/my.cnf && \ - sed -i -e "s/\(\[mysqld\]\)/\1\ninit_connect='SET NAMES utf8'\ncharacter-set-server = utf8\ncollation-server=utf8_general_ci\nbind-address = 0.0.0.0/g" /etc/mysql/my.cnf - - -#9,安装nginx -RUN apt-get update && \ - apt-get install -y nginx && \ - rm -rf /var/lib/apt/lists/* && \ - echo "\ndaemon off;" >> /etc/nginx/nginx.conf && \ - chown -R www-data:www-data /var/lib/nginx - -#10,修改escheduler配置文件 -#后端配置 -RUN mkdir -p /opt/escheduler && \ - tar -zxvf /opt/easyscheduler_source/target/escheduler-${version}.tar.gz -C /opt/escheduler && \ - rm -rf /opt/escheduler/conf -ADD ./conf/escheduler/conf /opt/escheduler/conf -#前端nginx配置 -ADD ./conf/nginx/default.conf /etc/nginx/conf.d - -#11,开放端口 -EXPOSE 2181 2888 3888 3306 80 12345 8888 - -#12,安装sudo,python,vim,ping和ssh -RUN apt-get update && \ - apt-get -y install sudo && \ - apt-get -y install python && \ - apt-get -y install vim && \ - apt-get -y install iputils-ping && \ - apt-get -y install net-tools && \ - apt-get -y install openssh-server && \ - apt-get -y install python-pip && \ - pip install kazoo - -COPY ./startup.sh /root/startup.sh -#13,修改权限和设置软连 -RUN chmod +x /root/startup.sh && \ - chmod +x /opt/escheduler/script/create_escheduler.sh && \ - chmod +x /opt/zookeeper/bin/zkServer.sh && \ - chmod +x /opt/escheduler/bin/escheduler-daemon.sh && \ - rm -rf /bin/sh && \ - ln -s /bin/bash /bin/sh && \ - mkdir -p /tmp/xls - - -ENTRYPOINT ["/root/startup.sh"] diff --git a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/alert.properties b/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/alert.properties deleted file mode 100644 index 0b97c0d397..0000000000 --- a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/alert.properties +++ /dev/null @@ -1,21 +0,0 @@ -#alert type is EMAIL/SMS -alert.type=EMAIL - -# mail server configuration -mail.protocol=SMTP -mail.server.host=smtp.office365.com -mail.server.port=587 -mail.sender=qiaozhanwei@outlook.com -mail.passwd=eschedulerBJEG - -# TLS -mail.smtp.starttls.enable=true -# SSL -mail.smtp.ssl.enable=false - -#xls file path,need create if not exist -xls.file.path=/tmp/xls - - - - diff --git a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/alert_logback.xml b/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/alert_logback.xml deleted file mode 100644 index c4ca8e9d1f..0000000000 --- a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/alert_logback.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n - - UTF-8 - - - - - ${log.base}/escheduler-alert.log - - ${log.base}/escheduler-alert.%d{yyyy-MM-dd_HH}.%i.log - 20 - 64MB - - - - [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n - - UTF-8 - - - - - - - \ No newline at end of file diff --git a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/apiserver_logback.xml b/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/apiserver_logback.xml deleted file mode 100644 index 43e6af951a..0000000000 --- a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/apiserver_logback.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n - - UTF-8 - - - - - - - INFO - - ${log.base}/escheduler-api-server.log - - ${log.base}/escheduler-api-server.%d{yyyy-MM-dd_HH}.%i.log - 168 - 64MB - - - - - [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n - - UTF-8 - - - - - - - - \ No newline at end of file diff --git a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/application.properties b/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/application.properties deleted file mode 100644 index bf003bfdda..0000000000 --- a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/application.properties +++ /dev/null @@ -1,16 +0,0 @@ -# server port -server.port=12345 - -# session config -server.session.timeout=7200 - - -server.context-path=/escheduler/ - -# file size limit for upload -spring.http.multipart.max-file-size=1024MB -spring.http.multipart.max-request-size=1024MB - -#post content -server.max-http-post-size=5000000 - diff --git a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/application_master.properties b/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/application_master.properties deleted file mode 100644 index cc4774ae94..0000000000 --- a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/application_master.properties +++ /dev/null @@ -1 +0,0 @@ -logging.config=classpath:master_logback.xml diff --git a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/common/common.properties b/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/common/common.properties deleted file mode 100644 index 698c27d446..0000000000 --- a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/common/common.properties +++ /dev/null @@ -1,27 +0,0 @@ -#task queue implementation, default "zookeeper" -escheduler.queue.impl=zookeeper - -# user data directory path, self configuration, please make sure the directory exists and have read write permissions -data.basedir.path=/tmp/escheduler - -# directory path for user data download. self configuration, please make sure the directory exists and have read write permissions -data.download.basedir.path=/tmp/escheduler/download - -# process execute directory. self configuration, please make sure the directory exists and have read write permissions -process.exec.basepath=/tmp/escheduler/exec - -# data base dir, resource file will store to this hadoop hdfs path, self configuration, please make sure the directory exists on hdfs and have read write permissions。"/escheduler" is recommended -data.store2hdfs.basepath=/escheduler - -# whether hdfs starts -hdfs.startup.state=false - -# system env path. self configuration, please make sure the directory and file exists and have read write execute permissions -escheduler.env.path=/opt/escheduler/conf/env/.escheduler_env.sh - -#resource.view.suffixs -resource.view.suffixs=txt,log,sh,conf,cfg,py,java,sql,hql,xml - -# is development state? default "false" -development.state=false - diff --git a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/common/hadoop/hadoop.properties b/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/common/hadoop/hadoop.properties deleted file mode 100644 index f210ae7533..0000000000 --- a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/common/hadoop/hadoop.properties +++ /dev/null @@ -1,8 +0,0 @@ -# ha or single namenode,If namenode ha needs to copy core-site.xml and hdfs-site.xml to the conf directory -fs.defaultFS=hdfs://mycluster:8020 - -#resourcemanager ha note this need ips , this empty if single -yarn.resourcemanager.ha.rm.ids=192.168.xx.xx,192.168.xx.xx - -# If it is a single resourcemanager, you only need to configure one host name. If it is resourcemanager HA, the default configuration is fine -yarn.application.status.address=http://ark1:8088/ws/v1/cluster/apps/%s \ No newline at end of file diff --git a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/config/install_config.conf b/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/config/install_config.conf deleted file mode 100644 index 43b955d4f1..0000000000 --- a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/config/install_config.conf +++ /dev/null @@ -1,3 +0,0 @@ -installPath=/data1_1T/escheduler -deployUser=escheduler -ips=ark0,ark1,ark2,ark3,ark4 diff --git a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/config/run_config.conf b/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/config/run_config.conf deleted file mode 100644 index f4cfd832c4..0000000000 --- a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/config/run_config.conf +++ /dev/null @@ -1,4 +0,0 @@ -masters=ark0,ark1 -workers=ark2,ark3,ark4 -alertServer=ark3 -apiServers=ark1 \ No newline at end of file diff --git a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/dao/data_source.properties b/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/dao/data_source.properties deleted file mode 100644 index 0dce2943e4..0000000000 --- a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/dao/data_source.properties +++ /dev/null @@ -1,53 +0,0 @@ -# base spring data source configuration -spring.datasource.type=com.alibaba.druid.pool.DruidDataSource -spring.datasource.driver-class-name=com.mysql.jdbc.Driver -spring.datasource.url=jdbc:mysql://127.0.0.1:3306/escheduler?characterEncoding=UTF-8 -spring.datasource.username=root -spring.datasource.password=root@123 - -# connection configuration -spring.datasource.initialSize=5 -# min connection number -spring.datasource.minIdle=5 -# max connection number -spring.datasource.maxActive=50 - -# max wait time for get a connection in milliseconds. if configuring maxWait, fair locks are enabled by default and concurrency efficiency decreases. -# If necessary, unfair locks can be used by configuring the useUnfairLock attribute to true. -spring.datasource.maxWait=60000 - -# milliseconds for check to close free connections -spring.datasource.timeBetweenEvictionRunsMillis=60000 - -# the Destroy thread detects the connection interval and closes the physical connection in milliseconds if the connection idle time is greater than or equal to minEvictableIdleTimeMillis. -spring.datasource.timeBetweenConnectErrorMillis=60000 - -# the longest time a connection remains idle without being evicted, in milliseconds -spring.datasource.minEvictableIdleTimeMillis=300000 - -#the SQL used to check whether the connection is valid requires a query statement. If validation Query is null, testOnBorrow, testOnReturn, and testWhileIdle will not work. -spring.datasource.validationQuery=SELECT 1 -#check whether the connection is valid for timeout, in seconds -spring.datasource.validationQueryTimeout=3 - -# when applying for a connection, if it is detected that the connection is idle longer than time Between Eviction Runs Millis, -# validation Query is performed to check whether the connection is valid -spring.datasource.testWhileIdle=true - -#execute validation to check if the connection is valid when applying for a connection -spring.datasource.testOnBorrow=true -#execute validation to check if the connection is valid when the connection is returned -spring.datasource.testOnReturn=false -spring.datasource.defaultAutoCommit=true -spring.datasource.keepAlive=true - -# open PSCache, specify count PSCache for every connection -spring.datasource.poolPreparedStatements=true -spring.datasource.maxPoolPreparedStatementPerConnectionSize=20 - -# data quality analysis is not currently in use. please ignore the following configuration -# task record flag -task.record.flag=false -task.record.datasource.url=jdbc:mysql://192.168.xx.xx:3306/etl?characterEncoding=UTF-8 -task.record.datasource.username=xx -task.record.datasource.password=xx diff --git a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/env/.escheduler_env.sh b/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/env/.escheduler_env.sh deleted file mode 100644 index 5b4c3e1b8d..0000000000 --- a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/env/.escheduler_env.sh +++ /dev/null @@ -1,4 +0,0 @@ -export PYTHON_HOME=/usr/bin/python -export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 - -export PATH=$PYTHON_HOME:$JAVA_HOME/bin:$PATH \ No newline at end of file diff --git a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/mail_templates/alert_mail_template.ftl b/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/mail_templates/alert_mail_template.ftl deleted file mode 100644 index 0ff763fa28..0000000000 --- a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/mail_templates/alert_mail_template.ftl +++ /dev/null @@ -1 +0,0 @@ - easyscheduler<#if title??> ${title}<#if content??> ${content}
\ No newline at end of file diff --git a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/master.properties b/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/master.properties deleted file mode 100644 index 9080defc7b..0000000000 --- a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/master.properties +++ /dev/null @@ -1,21 +0,0 @@ -# master execute thread num -master.exec.threads=100 - -# master execute task number in parallel -master.exec.task.number=20 - -# master heartbeat interval -master.heartbeat.interval=10 - -# master commit task retry times -master.task.commit.retryTimes=5 - -# master commit task interval -master.task.commit.interval=100 - - -# only less than cpu avg load, master server can work. default value : the number of cpu cores * 2 -master.max.cpuload.avg=10 - -# only larger than reserved memory, master server can work. default value : physical memory * 1/10, unit is G. -master.reserved.memory=1 diff --git a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/master_logback.xml b/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/master_logback.xml deleted file mode 100644 index d93878218e..0000000000 --- a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/master_logback.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n - - UTF-8 - - - - - ${log.base}/escheduler-master.log - - INFO - - - ${log.base}/escheduler-master.%d{yyyy-MM-dd_HH}.%i.log - 168 - 200MB - - - - [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n - - UTF-8 - - - - - - - \ No newline at end of file diff --git a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/quartz.properties b/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/quartz.properties deleted file mode 100644 index 3479379418..0000000000 --- a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/quartz.properties +++ /dev/null @@ -1,39 +0,0 @@ -#============================================================================ -# Configure Main Scheduler Properties -#============================================================================ -org.quartz.scheduler.instanceName = EasyScheduler -org.quartz.scheduler.instanceId = AUTO -org.quartz.scheduler.makeSchedulerThreadDaemon = true -org.quartz.jobStore.useProperties = false - -#============================================================================ -# Configure ThreadPool -#============================================================================ - -org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool -org.quartz.threadPool.makeThreadsDaemons = true -org.quartz.threadPool.threadCount = 25 -org.quartz.threadPool.threadPriority = 5 - -#============================================================================ -# Configure JobStore -#============================================================================ - -org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX -org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate -org.quartz.jobStore.tablePrefix = QRTZ_ -org.quartz.jobStore.isClustered = true -org.quartz.jobStore.misfireThreshold = 60000 -org.quartz.jobStore.clusterCheckinInterval = 5000 -org.quartz.jobStore.dataSource = myDs - -#============================================================================ -# Configure Datasources -#============================================================================ - -org.quartz.dataSource.myDs.driver = com.mysql.jdbc.Driver -org.quartz.dataSource.myDs.URL = jdbc:mysql://127.0.0.1:3306/escheduler?characterEncoding=utf8 -org.quartz.dataSource.myDs.user = root -org.quartz.dataSource.myDs.password = root@123 -org.quartz.dataSource.myDs.maxConnections = 10 -org.quartz.dataSource.myDs.validationQuery = select 1 diff --git a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/worker.properties b/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/worker.properties deleted file mode 100644 index e58bd86dcf..0000000000 --- a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/worker.properties +++ /dev/null @@ -1,15 +0,0 @@ -# worker execute thread num -worker.exec.threads=100 - -# worker heartbeat interval -worker.heartbeat.interval=10 - -# submit the number of tasks at a time -worker.fetch.task.num = 3 - - -# only less than cpu avg load, worker server can work. default value : the number of cpu cores * 2 -#worker.max.cpuload.avg=10 - -# only larger than reserved memory, worker server can work. default value : physical memory * 1/6, unit is G. -worker.reserved.memory=1 \ No newline at end of file diff --git a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/worker_logback.xml b/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/worker_logback.xml deleted file mode 100644 index 32914ec84f..0000000000 --- a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/worker_logback.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n - - UTF-8 - - - - - INFO - - - ${log.base}/{processDefinitionId}/{processInstanceId}/{taskInstanceId}.log - - - [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n - - UTF-8 - - true - - - - ${log.base}/escheduler-worker.log - - INFO - - - - ${log.base}/escheduler-worker.%d{yyyy-MM-dd_HH}.%i.log - 168 - 200MB - -       - - - [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n - - UTF-8 - -    - - - - - - - - \ No newline at end of file diff --git a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/zookeeper.properties b/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/zookeeper.properties deleted file mode 100644 index 092688a153..0000000000 --- a/dockerfile/dockerfile-1.0.x/conf/escheduler/conf/zookeeper.properties +++ /dev/null @@ -1,25 +0,0 @@ -#zookeeper cluster -zookeeper.quorum=127.0.0.1:2181 - -#escheduler root directory -zookeeper.escheduler.root=/escheduler - -#zookeeper server dirctory -zookeeper.escheduler.dead.servers=/escheduler/dead-servers -zookeeper.escheduler.masters=/escheduler/masters -zookeeper.escheduler.workers=/escheduler/workers - -#zookeeper lock dirctory -zookeeper.escheduler.lock.masters=/escheduler/lock/masters -zookeeper.escheduler.lock.workers=/escheduler/lock/workers - -#escheduler failover directory -zookeeper.escheduler.lock.failover.masters=/escheduler/lock/failover/masters -zookeeper.escheduler.lock.failover.workers=/escheduler/lock/failover/workers -zookeeper.escheduler.lock.failover.startup.masters=/escheduler/lock/failover/startup-masters - -#escheduler failover directory -zookeeper.session.timeout=300 -zookeeper.connection.timeout=300 -zookeeper.retry.sleep=1000 -zookeeper.retry.maxtime=5 diff --git a/dockerfile/dockerfile-1.0.x/conf/maven/settings.xml b/dockerfile/dockerfile-1.0.x/conf/maven/settings.xml deleted file mode 100644 index 6bdea4a1bf..0000000000 --- a/dockerfile/dockerfile-1.0.x/conf/maven/settings.xml +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - nexus-aliyun - central - Nexus aliyun - http://maven.aliyun.com/nexus/content/groups/public - - - - - - - - - - - - diff --git a/dockerfile/dockerfile-1.0.x/conf/nginx/default.conf b/dockerfile/dockerfile-1.0.x/conf/nginx/default.conf deleted file mode 100644 index 2d43c32b63..0000000000 --- a/dockerfile/dockerfile-1.0.x/conf/nginx/default.conf +++ /dev/null @@ -1,31 +0,0 @@ -server { - listen 8888; - server_name localhost; - #charset koi8-r; - #access_log /var/log/nginx/host.access.log main; - location / { - root /opt/easyscheduler_source/escheduler-ui/dist; - index index.html index.html; - } - location /escheduler { - proxy_pass http://127.0.0.1:12345; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header x_real_ipP $remote_addr; - proxy_set_header remote_addr $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_http_version 1.1; - proxy_connect_timeout 300s; - proxy_read_timeout 300s; - proxy_send_timeout 300s; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - } - #error_page 404 /404.html; - # redirect server error pages to the static page /50x.html - # - error_page 500 502 503 504 /50x.html; - location = /50x.html { - root /usr/share/nginx/html; - } -} diff --git a/dockerfile/dockerfile-1.0.x/conf/zookeeper/zoo.cfg b/dockerfile/dockerfile-1.0.x/conf/zookeeper/zoo.cfg deleted file mode 100644 index a5a2c0bbe3..0000000000 --- a/dockerfile/dockerfile-1.0.x/conf/zookeeper/zoo.cfg +++ /dev/null @@ -1,28 +0,0 @@ -# The number of milliseconds of each tick -tickTime=2000 -# The number of ticks that the initial -# synchronization phase can take -initLimit=10 -# The number of ticks that can pass between -# sending a request and getting an acknowledgement -syncLimit=5 -# the directory where the snapshot is stored. -# do not use /tmp for storage, /tmp here is just -# example sakes. -dataDir=/tmp/zookeeper -# the port at which the clients will connect -clientPort=2181 -# the maximum number of client connections. -# increase this if you need to handle more clients -#maxClientCnxns=60 -# -# Be sure to read the maintenance section of the -# administrator guide before turning on autopurge. -# -# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance -# -# The number of snapshots to retain in dataDir -#autopurge.snapRetainCount=3 -# Purge task interval in hours -# Set to "0" to disable auto purge feature -#autopurge.purgeInterval=1 diff --git a/dockerfile/dockerfile-1.0.x/hooks/build b/dockerfile/dockerfile-1.0.x/hooks/build deleted file mode 100644 index aebf6e4b23..0000000000 --- a/dockerfile/dockerfile-1.0.x/hooks/build +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -echo "------ escheduler start - build -------" -printenv - -docker build --build-arg version=$version -t $DOCKER_REPO:$version . - -echo "------ escheduler end - build -------" diff --git a/dockerfile/dockerfile-1.0.x/hooks/push b/dockerfile/dockerfile-1.0.x/hooks/push deleted file mode 100644 index 7b98da1a8d..0000000000 --- a/dockerfile/dockerfile-1.0.x/hooks/push +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -echo "------ push start -------" -printenv - -docker push $DOCKER_REPO:$version - -echo "------ push end -------" diff --git a/dockerfile/dockerfile-1.0.x/startup.sh b/dockerfile/dockerfile-1.0.x/startup.sh deleted file mode 100644 index 5ed150e1ba..0000000000 --- a/dockerfile/dockerfile-1.0.x/startup.sh +++ /dev/null @@ -1,79 +0,0 @@ -#! /bin/bash - -set -e -if [ `netstat -anop|grep mysql|wc -l` -gt 0 ];then - echo "MySQL is Running." -else - MYSQL_ROOT_PWD="root@123" - ESZ_DB="escheduler" - echo "启动mysql服务" - chown -R mysql:mysql /var/lib/mysql /var/run/mysqld - find /var/lib/mysql -type f -exec touch {} \; && service mysql restart $ sleep 10 - if [ ! -f /nohup.out ];then - echo "设置mysql密码" - mysql --user=root --password=root -e "UPDATE mysql.user set authentication_string=password('$MYSQL_ROOT_PWD') where user='root'; FLUSH PRIVILEGES;" - - echo "设置mysql权限" - mysql --user=root --password=$MYSQL_ROOT_PWD -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '$MYSQL_ROOT_PWD' WITH GRANT OPTION; FLUSH PRIVILEGES;" - echo "创建escheduler数据库" - mysql --user=root --password=$MYSQL_ROOT_PWD -e "CREATE DATABASE IF NOT EXISTS \`$ESZ_DB\` CHARACTER SET utf8 COLLATE utf8_general_ci; FLUSH PRIVILEGES;" - echo "导入mysql数据" - nohup /opt/escheduler/script/create_escheduler.sh & - fi - - if [ `mysql --user=root --password=$MYSQL_ROOT_PWD -s -r -e "SELECT count(TABLE_NAME) FROM information_schema.TABLES WHERE TABLE_SCHEMA='escheduler';" | grep -v count` -eq 38 ];then - echo "\`$ESZ_DB\` 表个数正确" - else - echo "\`$ESZ_DB\` 表个数不正确" - mysql --user=root --password=$MYSQL_ROOT_PWD -e "DROP DATABASE \`$ESZ_DB\`;" - echo "创建escheduler数据库" - mysql --user=root --password=$MYSQL_ROOT_PWD -e "CREATE DATABASE IF NOT EXISTS \`$ESZ_DB\` CHARACTER SET utf8 COLLATE utf8_general_ci; FLUSH PRIVILEGES;" - echo "导入mysql数据" - nohup /opt/escheduler/script/create_escheduler.sh & - fi -fi - -/opt/zookeeper/bin/zkServer.sh restart - -sleep 10 - -echo "启动api-server" -/opt/escheduler/bin/escheduler-daemon.sh stop api-server -/opt/escheduler/bin/escheduler-daemon.sh start api-server - - - -echo "启动master-server" -/opt/escheduler/bin/escheduler-daemon.sh stop master-server -python /opt/escheduler/script/del_zk_node.py 127.0.0.1 /escheduler/masters -/opt/escheduler/bin/escheduler-daemon.sh start master-server - -echo "启动worker-server" -/opt/escheduler/bin/escheduler-daemon.sh stop worker-server -python /opt/escheduler/script/del_zk_node.py 127.0.0.1 /escheduler/workers -/opt/escheduler/bin/escheduler-daemon.sh start worker-server - - -echo "启动logger-server" -/opt/escheduler/bin/escheduler-daemon.sh stop logger-server -/opt/escheduler/bin/escheduler-daemon.sh start logger-server - - -echo "启动alert-server" -/opt/escheduler/bin/escheduler-daemon.sh stop alert-server -/opt/escheduler/bin/escheduler-daemon.sh start alert-server - - - - - -echo "启动nginx" -/etc/init.d/nginx stop -nginx & - - -while true -do - sleep 101 -done -exec "$@" diff --git a/dockerfile/dockerfile-1.1.x/Dockerfile b/dockerfile/dockerfile-1.1.x/Dockerfile deleted file mode 100644 index d194fd7bdb..0000000000 --- a/dockerfile/dockerfile-1.1.x/Dockerfile +++ /dev/null @@ -1,146 +0,0 @@ -FROM ubuntu:18.04 - -MAINTAINER journey "825193156@qq.com" - -ENV LANG=C.UTF-8 - -ARG version -ARG tar_version - -#1,安装jdk - -RUN apt-get update \ - && apt-get -y install openjdk-8-jdk \ - && rm -rf /var/lib/apt/lists/* - -ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64 -ENV PATH $JAVA_HOME/bin:$PATH - - -#安装wget -RUN apt-get update && \ - apt-get -y install wget -#2,安装ZK -#RUN cd /opt && \ -# wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz && \ -# tar -zxvf zookeeper-3.4.6.tar.gz && \ -# mv zookeeper-3.4.6 zookeeper && \ -# rm -rf ./zookeeper-*tar.gz && \ -# mkdir -p /tmp/zookeeper && \ -# rm -rf /opt/zookeeper/conf/zoo_sample.cfg - -RUN cd /opt && \ - wget https://www-us.apache.org/dist/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz && \ - tar -zxvf zookeeper-3.4.14.tar.gz && \ - mv zookeeper-3.4.14 zookeeper && \ - rm -rf ./zookeeper-*tar.gz && \ - mkdir -p /tmp/zookeeper && \ - rm -rf /opt/zookeeper/conf/zoo_sample.cfg - -ADD ./conf/zookeeper/zoo.cfg /opt/zookeeper/conf -ENV ZK_HOME=/opt/zookeeper -ENV PATH $PATH:$ZK_HOME/bin - -#3,安装maven -RUN cd /opt && \ - wget http://apache-mirror.rbc.ru/pub/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz && \ - tar -zxvf apache-maven-3.3.9-bin.tar.gz && \ - mv apache-maven-3.3.9 maven && \ - rm -rf ./apache-maven-*tar.gz && \ - rm -rf /opt/maven/conf/settings.xml -ADD ./conf/maven/settings.xml /opt/maven/conf -ENV MAVEN_HOME=/opt/maven -ENV PATH $PATH:$MAVEN_HOME/bin - -#4,安装node -RUN cd /opt && \ - wget https://nodejs.org/download/release/v8.9.4/node-v8.9.4-linux-x64.tar.gz && \ - tar -zxvf node-v8.9.4-linux-x64.tar.gz && \ - mv node-v8.9.4-linux-x64 node && \ - rm -rf ./node-v8.9.4-*tar.gz -ENV NODE_HOME=/opt/node -ENV PATH $PATH:$NODE_HOME/bin - -#5,下载escheduler -RUN cd /opt && \ - wget https://github.com/analysys/EasyScheduler/archive/${version}.tar.gz && \ - tar -zxvf ${version}.tar.gz && \ - mv EasyScheduler-${version} easyscheduler_source && \ - rm -rf ./${version}.tar.gz - -#6,后端编译 -RUN cd /opt/easyscheduler_source && \ - mvn -U clean package assembly:assembly -Dmaven.test.skip=true - -#7,前端编译 -RUN chmod -R 777 /opt/easyscheduler_source/escheduler-ui && \ - cd /opt/easyscheduler_source/escheduler-ui && \ - rm -rf /opt/easyscheduler_source/escheduler-ui/node_modules && \ - npm install node-sass --unsafe-perm && \ - npm install && \ - npm run build -#8,安装mysql -RUN echo "deb http://cn.archive.ubuntu.com/ubuntu/ xenial main restricted universe multiverse" >> /etc/apt/sources.list - -RUN echo "mysql-server mysql-server/root_password password root" | debconf-set-selections -RUN echo "mysql-server mysql-server/root_password_again password root" | debconf-set-selections - -RUN apt-get update && \ - apt-get -y install mysql-server-5.7 && \ - mkdir -p /var/lib/mysql && \ - mkdir -p /var/run/mysqld && \ - mkdir -p /var/log/mysql && \ - chown -R mysql:mysql /var/lib/mysql && \ - chown -R mysql:mysql /var/run/mysqld && \ - chown -R mysql:mysql /var/log/mysql - - -# UTF-8 and bind-address -RUN sed -i -e "$ a [client]\n\n[mysql]\n\n[mysqld]" /etc/mysql/my.cnf && \ - sed -i -e "s/\(\[client\]\)/\1\ndefault-character-set = utf8/g" /etc/mysql/my.cnf && \ - sed -i -e "s/\(\[mysql\]\)/\1\ndefault-character-set = utf8/g" /etc/mysql/my.cnf && \ - sed -i -e "s/\(\[mysqld\]\)/\1\ninit_connect='SET NAMES utf8'\ncharacter-set-server = utf8\ncollation-server=utf8_general_ci\nbind-address = 0.0.0.0/g" /etc/mysql/my.cnf - - -#9,安装nginx -RUN apt-get update && \ - apt-get install -y nginx && \ - rm -rf /var/lib/apt/lists/* && \ - echo "\ndaemon off;" >> /etc/nginx/nginx.conf && \ - chown -R www-data:www-data /var/lib/nginx - -#10,修改escheduler配置文件 -#后端配置 -RUN mkdir -p /opt/escheduler && \ - tar -zxvf /opt/easyscheduler_source/target/escheduler-${tar_version}.tar.gz -C /opt/escheduler && \ - rm -rf /opt/escheduler/conf -ADD ./conf/escheduler/conf /opt/escheduler/conf -#前端nginx配置 -ADD ./conf/nginx/default.conf /etc/nginx/conf.d - -#11,开放端口 -EXPOSE 2181 2888 3888 3306 80 12345 8888 - -#12,安装sudo,python,vim,ping和ssh -RUN apt-get update && \ - apt-get -y install sudo && \ - apt-get -y install python && \ - apt-get -y install vim && \ - apt-get -y install iputils-ping && \ - apt-get -y install net-tools && \ - apt-get -y install openssh-server && \ - apt-get -y install python-pip && \ - pip install kazoo - -COPY ./startup.sh /root/startup.sh -#13,修改权限和设置软连 -RUN chmod +x /root/startup.sh && \ - chmod +x /opt/escheduler/script/create_escheduler.sh && \ - chmod +x /opt/zookeeper/bin/zkServer.sh && \ - chmod +x /opt/escheduler/bin/escheduler-daemon.sh && \ - rm -rf /bin/sh && \ - ln -s /bin/bash /bin/sh && \ - mkdir -p /tmp/xls - - -ENTRYPOINT ["/root/startup.sh"] diff --git a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/alert.properties b/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/alert.properties deleted file mode 100644 index df7d8372d7..0000000000 --- a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/alert.properties +++ /dev/null @@ -1,30 +0,0 @@ -#alert type is EMAIL/SMS -alert.type=EMAIL - -# mail server configuration -mail.protocol=SMTP -mail.server.host=smtp.office365.com -mail.server.port=587 -mail.sender=qiaozhanwei@outlook.com -mail.passwd=eschedulerBJEG - -# TLS -mail.smtp.starttls.enable=true -# SSL -mail.smtp.ssl.enable=false - -#xls file path,need create if not exist -xls.file.path=/tmp/xls - -# Enterprise WeChat configuration -enterprise.wechat.corp.id=xxxxxxx -enterprise.wechat.secret=xxxxxxx -enterprise.wechat.agent.id=xxxxxxx -enterprise.wechat.users=xxxxxxx -enterprise.wechat.token.url=https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$corpId&corpsecret=$secret -enterprise.wechat.push.url=https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$token -enterprise.wechat.team.send.msg={\"toparty\":\"$toParty\",\"agentid\":\"$agentId\",\"msgtype\":\"text\",\"text\":{\"content\":\"$msg\"},\"safe\":\"0\"} -enterprise.wechat.user.send.msg={\"touser\":\"$toUser\",\"agentid\":\"$agentId\",\"msgtype\":\"markdown\",\"markdown\":{\"content\":\"$msg\"}} - - - diff --git a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/alert_logback.xml b/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/alert_logback.xml deleted file mode 100644 index c4ca8e9d1f..0000000000 --- a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/alert_logback.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n - - UTF-8 - - - - - ${log.base}/escheduler-alert.log - - ${log.base}/escheduler-alert.%d{yyyy-MM-dd_HH}.%i.log - 20 - 64MB - - - - [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n - - UTF-8 - - - - - - - \ No newline at end of file diff --git a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/apiserver_logback.xml b/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/apiserver_logback.xml deleted file mode 100644 index 43e6af951a..0000000000 --- a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/apiserver_logback.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n - - UTF-8 - - - - - - - INFO - - ${log.base}/escheduler-api-server.log - - ${log.base}/escheduler-api-server.%d{yyyy-MM-dd_HH}.%i.log - 168 - 64MB - - - - - [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n - - UTF-8 - - - - - - - - \ No newline at end of file diff --git a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/application.properties b/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/application.properties deleted file mode 100644 index b817c18a4a..0000000000 --- a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/application.properties +++ /dev/null @@ -1,19 +0,0 @@ -# server port -server.port=12345 - -# session config -server.servlet.session.timeout=7200 - -server.servlet.context-path=/escheduler/ - -# file size limit for upload -spring.servlet.multipart.max-file-size=1024MB -spring.servlet.multipart.max-request-size=1024MB - -#post content -server.jetty.max-http-post-size=5000000 - -spring.messages.encoding=UTF-8 - -#i18n classpath folder , file prefix messages, if have many files, use "," seperator -spring.messages.basename=i18n/messages diff --git a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/application_master.properties b/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/application_master.properties deleted file mode 100644 index cc4774ae94..0000000000 --- a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/application_master.properties +++ /dev/null @@ -1 +0,0 @@ -logging.config=classpath:master_logback.xml diff --git a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/common/common.properties b/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/common/common.properties deleted file mode 100644 index 15af284597..0000000000 --- a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/common/common.properties +++ /dev/null @@ -1,42 +0,0 @@ -#task queue implementation, default "zookeeper" -escheduler.queue.impl=zookeeper - -# user data directory path, self configuration, please make sure the directory exists and have read write permissions -data.basedir.path=/tmp/escheduler - -# directory path for user data download. self configuration, please make sure the directory exists and have read write permissions -data.download.basedir.path=/tmp/escheduler/download - -# process execute directory. self configuration, please make sure the directory exists and have read write permissions -process.exec.basepath=/tmp/escheduler/exec - -# Users who have permission to create directories under the HDFS root path -hdfs.root.user=hdfs - -# data base dir, resource file will store to this hadoop hdfs path, self configuration, please make sure the directory exists on hdfs and have read write permissions。"/escheduler" is recommended -data.store2hdfs.basepath=/escheduler - -# resource upload startup type : HDFS,S3,NONE -res.upload.startup.type=NONE - -# whether kerberos starts -hadoop.security.authentication.startup.state=false - -# java.security.krb5.conf path -java.security.krb5.conf.path=/opt/krb5.conf - -# loginUserFromKeytab user -login.user.keytab.username=hdfs-mycluster@ESZ.COM - -# loginUserFromKeytab path -login.user.keytab.path=/opt/hdfs.headless.keytab - -# system env path. self configuration, please make sure the directory and file exists and have read write execute permissions -escheduler.env.path=/opt/escheduler/conf/env/.escheduler_env.sh - -#resource.view.suffixs -resource.view.suffixs=txt,log,sh,conf,cfg,py,java,sql,hql,xml - -# is development state? default "false" -development.state=true - diff --git a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/common/hadoop/hadoop.properties b/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/common/hadoop/hadoop.properties deleted file mode 100644 index 81452a83a2..0000000000 --- a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/common/hadoop/hadoop.properties +++ /dev/null @@ -1,18 +0,0 @@ -# ha or single namenode,If namenode ha needs to copy core-site.xml and hdfs-site.xml -# to the conf directory,support s3,for example : s3a://escheduler -fs.defaultFS=hdfs://mycluster:8020 - -# s3 need,s3 endpoint -fs.s3a.endpoint=http://192.168.199.91:9010 - -# s3 need,s3 access key -fs.s3a.access.key=A3DXS30FO22544RE - -# s3 need,s3 secret key -fs.s3a.secret.key=OloCLq3n+8+sdPHUhJ21XrSxTC+JK - -#resourcemanager ha note this need ips , this empty if single -yarn.resourcemanager.ha.rm.ids=192.168.xx.xx,192.168.xx.xx - -# If it is a single resourcemanager, you only need to configure one host name. If it is resourcemanager HA, the default configuration is fine -yarn.application.status.address=http://ark1:8088/ws/v1/cluster/apps/%s \ No newline at end of file diff --git a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/config/install_config.conf b/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/config/install_config.conf deleted file mode 100644 index 43b955d4f1..0000000000 --- a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/config/install_config.conf +++ /dev/null @@ -1,3 +0,0 @@ -installPath=/data1_1T/escheduler -deployUser=escheduler -ips=ark0,ark1,ark2,ark3,ark4 diff --git a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/config/run_config.conf b/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/config/run_config.conf deleted file mode 100644 index f4cfd832c4..0000000000 --- a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/config/run_config.conf +++ /dev/null @@ -1,4 +0,0 @@ -masters=ark0,ark1 -workers=ark2,ark3,ark4 -alertServer=ark3 -apiServers=ark1 \ No newline at end of file diff --git a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/dao/data_source.properties b/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/dao/data_source.properties deleted file mode 100644 index 0dce2943e4..0000000000 --- a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/dao/data_source.properties +++ /dev/null @@ -1,53 +0,0 @@ -# base spring data source configuration -spring.datasource.type=com.alibaba.druid.pool.DruidDataSource -spring.datasource.driver-class-name=com.mysql.jdbc.Driver -spring.datasource.url=jdbc:mysql://127.0.0.1:3306/escheduler?characterEncoding=UTF-8 -spring.datasource.username=root -spring.datasource.password=root@123 - -# connection configuration -spring.datasource.initialSize=5 -# min connection number -spring.datasource.minIdle=5 -# max connection number -spring.datasource.maxActive=50 - -# max wait time for get a connection in milliseconds. if configuring maxWait, fair locks are enabled by default and concurrency efficiency decreases. -# If necessary, unfair locks can be used by configuring the useUnfairLock attribute to true. -spring.datasource.maxWait=60000 - -# milliseconds for check to close free connections -spring.datasource.timeBetweenEvictionRunsMillis=60000 - -# the Destroy thread detects the connection interval and closes the physical connection in milliseconds if the connection idle time is greater than or equal to minEvictableIdleTimeMillis. -spring.datasource.timeBetweenConnectErrorMillis=60000 - -# the longest time a connection remains idle without being evicted, in milliseconds -spring.datasource.minEvictableIdleTimeMillis=300000 - -#the SQL used to check whether the connection is valid requires a query statement. If validation Query is null, testOnBorrow, testOnReturn, and testWhileIdle will not work. -spring.datasource.validationQuery=SELECT 1 -#check whether the connection is valid for timeout, in seconds -spring.datasource.validationQueryTimeout=3 - -# when applying for a connection, if it is detected that the connection is idle longer than time Between Eviction Runs Millis, -# validation Query is performed to check whether the connection is valid -spring.datasource.testWhileIdle=true - -#execute validation to check if the connection is valid when applying for a connection -spring.datasource.testOnBorrow=true -#execute validation to check if the connection is valid when the connection is returned -spring.datasource.testOnReturn=false -spring.datasource.defaultAutoCommit=true -spring.datasource.keepAlive=true - -# open PSCache, specify count PSCache for every connection -spring.datasource.poolPreparedStatements=true -spring.datasource.maxPoolPreparedStatementPerConnectionSize=20 - -# data quality analysis is not currently in use. please ignore the following configuration -# task record flag -task.record.flag=false -task.record.datasource.url=jdbc:mysql://192.168.xx.xx:3306/etl?characterEncoding=UTF-8 -task.record.datasource.username=xx -task.record.datasource.password=xx diff --git a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/env/.escheduler_env.sh b/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/env/.escheduler_env.sh deleted file mode 100644 index 75362d494d..0000000000 --- a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/env/.escheduler_env.sh +++ /dev/null @@ -1,3 +0,0 @@ -export PYTHON_HOME=/usr/bin/python -export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 -export PATH=$PYTHON_HOME:$JAVA_HOME/bin:$PATH \ No newline at end of file diff --git a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/i18n/messages.properties b/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/i18n/messages.properties deleted file mode 100644 index a663c71013..0000000000 --- a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/i18n/messages.properties +++ /dev/null @@ -1,229 +0,0 @@ -QUERY_SCHEDULE_LIST_NOTES=query schedule list -EXECUTE_PROCESS_TAG=execute process related operation -PROCESS_INSTANCE_EXECUTOR_TAG=process instance executor related operation -RUN_PROCESS_INSTANCE_NOTES=run process instance -START_NODE_LIST=start node list(node name) -TASK_DEPEND_TYPE=task depend type -COMMAND_TYPE=command type -RUN_MODE=run mode -TIMEOUT=timeout -EXECUTE_ACTION_TO_PROCESS_INSTANCE_NOTES=execute action to process instance -EXECUTE_TYPE=execute type -START_CHECK_PROCESS_DEFINITION_NOTES=start check process definition -GET_RECEIVER_CC_NOTES=query receiver cc -DESC=description -GROUP_NAME=group name -GROUP_TYPE=group type -QUERY_ALERT_GROUP_LIST_NOTES=query alert group list -UPDATE_ALERT_GROUP_NOTES=update alert group -DELETE_ALERT_GROUP_BY_ID_NOTES=delete alert group by id -VERIFY_ALERT_GROUP_NAME_NOTES=verify alert group name, check alert group exist or not -GRANT_ALERT_GROUP_NOTES=grant alert group -USER_IDS=user id list -ALERT_GROUP_TAG=alert group related operation -CREATE_ALERT_GROUP_NOTES=create alert group -WORKER_GROUP_TAG=worker group related operation -SAVE_WORKER_GROUP_NOTES=create worker group -WORKER_GROUP_NAME=worker group name -WORKER_IP_LIST=worker ip list, eg. 192.168.1.1,192.168.1.2 -QUERY_WORKER_GROUP_PAGING_NOTES=query worker group paging -QUERY_WORKER_GROUP_LIST_NOTES=query worker group list -DELETE_WORKER_GROUP_BY_ID_NOTES=delete worker group by id -DATA_ANALYSIS_TAG=analysis related operation of task state -COUNT_TASK_STATE_NOTES=count task state -COUNT_PROCESS_INSTANCE_NOTES=count process instance state -COUNT_PROCESS_DEFINITION_BY_USER_NOTES=count process definition by user -COUNT_COMMAND_STATE_NOTES=count command state -COUNT_QUEUE_STATE_NOTES=count the running status of the task in the queue\ - -ACCESS_TOKEN_TAG=access token related operation -MONITOR_TAG=monitor related operation -MASTER_LIST_NOTES=master server list -WORKER_LIST_NOTES=worker server list -QUERY_DATABASE_STATE_NOTES=query database state -QUERY_ZOOKEEPER_STATE_NOTES=QUERY ZOOKEEPER STATE -TASK_STATE=task instance state -SOURCE_TABLE=SOURCE TABLE -DEST_TABLE=dest table -TASK_DATE=task date -QUERY_HISTORY_TASK_RECORD_LIST_PAGING_NOTES=query history task record list paging -DATA_SOURCE_TAG=data source related operation -CREATE_DATA_SOURCE_NOTES=create data source -DATA_SOURCE_NAME=data source name -DATA_SOURCE_NOTE=data source desc -DB_TYPE=database type -DATA_SOURCE_HOST=DATA SOURCE HOST -DATA_SOURCE_PORT=data source port -DATABASE_NAME=database name -QUEUE_TAG=queue related operation -QUERY_QUEUE_LIST_NOTES=query queue list -QUERY_QUEUE_LIST_PAGING_NOTES=query queue list paging -CREATE_QUEUE_NOTES=create queue -YARN_QUEUE_NAME=yarn(hadoop) queue name -QUEUE_ID=queue id -TENANT_DESC=tenant desc -QUERY_TENANT_LIST_PAGING_NOTES=query tenant list paging -QUERY_TENANT_LIST_NOTES=query tenant list -UPDATE_TENANT_NOTES=update tenant -DELETE_TENANT_NOTES=delete tenant -RESOURCES_TAG=resource center related operation -CREATE_RESOURCE_NOTES=create resource -RESOURCE_TYPE=resource file type -RESOURCE_NAME=resource name -RESOURCE_DESC=resource file desc -RESOURCE_FILE=resource file -RESOURCE_ID=resource id -QUERY_RESOURCE_LIST_NOTES=query resource list -DELETE_RESOURCE_BY_ID_NOTES=delete resource by id -VIEW_RESOURCE_BY_ID_NOTES=view resource by id -ONLINE_CREATE_RESOURCE_NOTES=online create resource -SUFFIX=resource file suffix -CONTENT=resource file content -UPDATE_RESOURCE_NOTES=edit resource file online -DOWNLOAD_RESOURCE_NOTES=download resource file -CREATE_UDF_FUNCTION_NOTES=create udf function -UDF_TYPE=UDF type -FUNC_NAME=function name -CLASS_NAME=package and class name -ARG_TYPES=arguments -UDF_DESC=udf desc -VIEW_UDF_FUNCTION_NOTES=view udf function -UPDATE_UDF_FUNCTION_NOTES=update udf function -QUERY_UDF_FUNCTION_LIST_PAGING_NOTES=query udf function list paging -VERIFY_UDF_FUNCTION_NAME_NOTES=verify udf function name -DELETE_UDF_FUNCTION_NOTES=delete udf function -AUTHORIZED_FILE_NOTES=authorized file -UNAUTHORIZED_FILE_NOTES=unauthorized file -AUTHORIZED_UDF_FUNC_NOTES=authorized udf func -UNAUTHORIZED_UDF_FUNC_NOTES=unauthorized udf func -VERIFY_QUEUE_NOTES=verify queue -TENANT_TAG=tenant related operation -CREATE_TENANT_NOTES=create tenant -TENANT_CODE=tenant code -TENANT_NAME=tenant name -QUEUE_NAME=queue name -PASSWORD=password -DATA_SOURCE_OTHER=jdbc connection params, format:{"key1":"value1",...} -PROJECT_TAG=project related operation -CREATE_PROJECT_NOTES=create project -PROJECT_DESC=project description -UPDATE_PROJECT_NOTES=update project -PROJECT_ID=project id -QUERY_PROJECT_BY_ID_NOTES=query project info by project id -QUERY_PROJECT_LIST_PAGING_NOTES=QUERY PROJECT LIST PAGING -DELETE_PROJECT_BY_ID_NOTES=delete project by id -QUERY_UNAUTHORIZED_PROJECT_NOTES=query unauthorized project -QUERY_AUTHORIZED_PROJECT_NOTES=query authorized project -TASK_RECORD_TAG=task record related operation -QUERY_TASK_RECORD_LIST_PAGING_NOTES=query task record list paging -CREATE_TOKEN_NOTES=create token ,note: please login first -QUERY_ACCESS_TOKEN_LIST_NOTES=query access token list paging -SCHEDULE=schedule -WARNING_TYPE=warning type(sending strategy) -WARNING_GROUP_ID=warning group id -FAILURE_STRATEGY=failure strategy -RECEIVERS=receivers -RECEIVERS_CC=receivers cc -WORKER_GROUP_ID=worker server group id -PROCESS_INSTANCE_PRIORITY=process instance priority -UPDATE_SCHEDULE_NOTES=update schedule -SCHEDULE_ID=schedule id -ONLINE_SCHEDULE_NOTES=online schedule -OFFLINE_SCHEDULE_NOTES=offline schedule -QUERY_SCHEDULE_NOTES=query schedule -QUERY_SCHEDULE_LIST_PAGING_NOTES=query schedule list paging -LOGIN_TAG=User login related operations -USER_NAME=user name -PROJECT_NAME=project name -CREATE_PROCESS_DEFINITION_NOTES=create process definition -PROCESS_DEFINITION_NAME=process definition name -PROCESS_DEFINITION_JSON=process definition detail info (json format) -PROCESS_DEFINITION_LOCATIONS=process definition node locations info (json format) -PROCESS_INSTANCE_LOCATIONS=process instance node locations info (json format) -PROCESS_DEFINITION_CONNECTS=process definition node connects info (json format) -PROCESS_INSTANCE_CONNECTS=process instance node connects info (json format) -PROCESS_DEFINITION_DESC=process definition desc -PROCESS_DEFINITION_TAG=process definition related opertation -SIGNOUT_NOTES=logout -USER_PASSWORD=user password -UPDATE_PROCESS_INSTANCE_NOTES=update process instance -QUERY_PROCESS_INSTANCE_LIST_NOTES=query process instance list -VERIFY_PROCCESS_DEFINITION_NAME_NOTES=verify proccess definition name -LOGIN_NOTES=user login -UPDATE_PROCCESS_DEFINITION_NOTES=update proccess definition -PROCESS_DEFINITION_ID=process definition id -RELEASE_PROCCESS_DEFINITION_NOTES=release proccess definition -QUERY_PROCCESS_DEFINITION_BY_ID_NOTES=query proccess definition by id -QUERY_PROCCESS_DEFINITION_LIST_NOTES=query proccess definition list -QUERY_PROCCESS_DEFINITION_LIST_PAGING_NOTES=query proccess definition list paging -PAGE_NO=page no -PROCESS_INSTANCE_ID=process instance id -PROCESS_INSTANCE_JSON=process instance info(json format) -SCHEDULE_TIME=schedule time -SYNC_DEFINE=update the information of the process instance to the process definition\ - -RECOVERY_PROCESS_INSTANCE_FLAG=whether to recovery process instance -SEARCH_VAL=search val -USER_ID=user id -PAGE_SIZE=page size -LIMIT=limit -VIEW_TREE_NOTES=view tree -GET_NODE_LIST_BY_DEFINITION_ID_NOTES=get task node list by process definition id -PROCESS_DEFINITION_ID_LIST=process definition id list -QUERY_PROCESS_INSTANCE_BY_ID_NOTES=query process instance by process instance id -DELETE_PROCESS_INSTANCE_BY_ID_NOTES=delete process instance by process instance id -TASK_ID=task instance id -SKIP_LINE_NUM=skip line num -QUERY_TASK_INSTANCE_LOG_NOTES=query task instance log -DOWNLOAD_TASK_INSTANCE_LOG_NOTES=download task instance log -USERS_TAG=users related operation -SCHEDULER_TAG=scheduler related operation -CREATE_SCHEDULE_NOTES=create schedule -CREATE_USER_NOTES=create user -TENANT_ID=tenant id -QUEUE=queue -EMAIL=email -PHONE=phone -QUERY_USER_LIST_NOTES=query user list -UPDATE_USER_NOTES=update user -DELETE_USER_BY_ID_NOTES=delete user by id -GRANT_PROJECT_NOTES=GRANT PROJECT -PROJECT_IDS=project ids(string format, multiple projects separated by ",") -GRANT_RESOURCE_NOTES=grant resource file -RESOURCE_IDS=resource ids(string format, multiple resources separated by ",") -GET_USER_INFO_NOTES=get user info -LIST_USER_NOTES=list user -VERIFY_USER_NAME_NOTES=verify user name -UNAUTHORIZED_USER_NOTES=cancel authorization -ALERT_GROUP_ID=alert group id -AUTHORIZED_USER_NOTES=authorized user -GRANT_UDF_FUNC_NOTES=grant udf function -UDF_IDS=udf ids(string format, multiple udf functions separated by ",") -GRANT_DATASOURCE_NOTES=grant datasource -DATASOURCE_IDS=datasource ids(string format, multiple datasources separated by ",") -QUERY_SUBPROCESS_INSTANCE_BY_TASK_ID_NOTES=query subprocess instance by task instance id -QUERY_PARENT_PROCESS_INSTANCE_BY_SUB_PROCESS_INSTANCE_ID_NOTES=query parent process instance info by sub process instance id -QUERY_PROCESS_INSTANCE_GLOBAL_VARIABLES_AND_LOCAL_VARIABLES_NOTES=query process instance global variables and local variables -VIEW_GANTT_NOTES=view gantt -SUB_PROCESS_INSTANCE_ID=sub process instance id -TASK_NAME=task instance name -TASK_INSTANCE_TAG=task instance related operation -LOGGER_TAG=log related operation -PROCESS_INSTANCE_TAG=process instance related operation -EXECUTION_STATUS=runing status for workflow and task nodes -HOST=ip address of running task -START_DATE=start date -END_DATE=end date -QUERY_TASK_LIST_BY_PROCESS_INSTANCE_ID_NOTES=query task list by process instance id -UPDATE_DATA_SOURCE_NOTES=update data source -DATA_SOURCE_ID=DATA SOURCE ID -QUERY_DATA_SOURCE_NOTES=query data source by id -QUERY_DATA_SOURCE_LIST_BY_TYPE_NOTES=query data source list by database type -QUERY_DATA_SOURCE_LIST_PAGING_NOTES=query data source list paging -CONNECT_DATA_SOURCE_NOTES=CONNECT DATA SOURCE -CONNECT_DATA_SOURCE_TEST_NOTES=connect data source test -DELETE_DATA_SOURCE_NOTES=delete data source -VERIFY_DATA_SOURCE_NOTES=verify data source -UNAUTHORIZED_DATA_SOURCE_NOTES=unauthorized data source -AUTHORIZED_DATA_SOURCE_NOTES=authorized data source -DELETE_SCHEDULER_BY_ID_NOTES=delete scheduler by id diff --git a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/i18n/messages_en_US.properties b/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/i18n/messages_en_US.properties deleted file mode 100644 index a663c71013..0000000000 --- a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/i18n/messages_en_US.properties +++ /dev/null @@ -1,229 +0,0 @@ -QUERY_SCHEDULE_LIST_NOTES=query schedule list -EXECUTE_PROCESS_TAG=execute process related operation -PROCESS_INSTANCE_EXECUTOR_TAG=process instance executor related operation -RUN_PROCESS_INSTANCE_NOTES=run process instance -START_NODE_LIST=start node list(node name) -TASK_DEPEND_TYPE=task depend type -COMMAND_TYPE=command type -RUN_MODE=run mode -TIMEOUT=timeout -EXECUTE_ACTION_TO_PROCESS_INSTANCE_NOTES=execute action to process instance -EXECUTE_TYPE=execute type -START_CHECK_PROCESS_DEFINITION_NOTES=start check process definition -GET_RECEIVER_CC_NOTES=query receiver cc -DESC=description -GROUP_NAME=group name -GROUP_TYPE=group type -QUERY_ALERT_GROUP_LIST_NOTES=query alert group list -UPDATE_ALERT_GROUP_NOTES=update alert group -DELETE_ALERT_GROUP_BY_ID_NOTES=delete alert group by id -VERIFY_ALERT_GROUP_NAME_NOTES=verify alert group name, check alert group exist or not -GRANT_ALERT_GROUP_NOTES=grant alert group -USER_IDS=user id list -ALERT_GROUP_TAG=alert group related operation -CREATE_ALERT_GROUP_NOTES=create alert group -WORKER_GROUP_TAG=worker group related operation -SAVE_WORKER_GROUP_NOTES=create worker group -WORKER_GROUP_NAME=worker group name -WORKER_IP_LIST=worker ip list, eg. 192.168.1.1,192.168.1.2 -QUERY_WORKER_GROUP_PAGING_NOTES=query worker group paging -QUERY_WORKER_GROUP_LIST_NOTES=query worker group list -DELETE_WORKER_GROUP_BY_ID_NOTES=delete worker group by id -DATA_ANALYSIS_TAG=analysis related operation of task state -COUNT_TASK_STATE_NOTES=count task state -COUNT_PROCESS_INSTANCE_NOTES=count process instance state -COUNT_PROCESS_DEFINITION_BY_USER_NOTES=count process definition by user -COUNT_COMMAND_STATE_NOTES=count command state -COUNT_QUEUE_STATE_NOTES=count the running status of the task in the queue\ - -ACCESS_TOKEN_TAG=access token related operation -MONITOR_TAG=monitor related operation -MASTER_LIST_NOTES=master server list -WORKER_LIST_NOTES=worker server list -QUERY_DATABASE_STATE_NOTES=query database state -QUERY_ZOOKEEPER_STATE_NOTES=QUERY ZOOKEEPER STATE -TASK_STATE=task instance state -SOURCE_TABLE=SOURCE TABLE -DEST_TABLE=dest table -TASK_DATE=task date -QUERY_HISTORY_TASK_RECORD_LIST_PAGING_NOTES=query history task record list paging -DATA_SOURCE_TAG=data source related operation -CREATE_DATA_SOURCE_NOTES=create data source -DATA_SOURCE_NAME=data source name -DATA_SOURCE_NOTE=data source desc -DB_TYPE=database type -DATA_SOURCE_HOST=DATA SOURCE HOST -DATA_SOURCE_PORT=data source port -DATABASE_NAME=database name -QUEUE_TAG=queue related operation -QUERY_QUEUE_LIST_NOTES=query queue list -QUERY_QUEUE_LIST_PAGING_NOTES=query queue list paging -CREATE_QUEUE_NOTES=create queue -YARN_QUEUE_NAME=yarn(hadoop) queue name -QUEUE_ID=queue id -TENANT_DESC=tenant desc -QUERY_TENANT_LIST_PAGING_NOTES=query tenant list paging -QUERY_TENANT_LIST_NOTES=query tenant list -UPDATE_TENANT_NOTES=update tenant -DELETE_TENANT_NOTES=delete tenant -RESOURCES_TAG=resource center related operation -CREATE_RESOURCE_NOTES=create resource -RESOURCE_TYPE=resource file type -RESOURCE_NAME=resource name -RESOURCE_DESC=resource file desc -RESOURCE_FILE=resource file -RESOURCE_ID=resource id -QUERY_RESOURCE_LIST_NOTES=query resource list -DELETE_RESOURCE_BY_ID_NOTES=delete resource by id -VIEW_RESOURCE_BY_ID_NOTES=view resource by id -ONLINE_CREATE_RESOURCE_NOTES=online create resource -SUFFIX=resource file suffix -CONTENT=resource file content -UPDATE_RESOURCE_NOTES=edit resource file online -DOWNLOAD_RESOURCE_NOTES=download resource file -CREATE_UDF_FUNCTION_NOTES=create udf function -UDF_TYPE=UDF type -FUNC_NAME=function name -CLASS_NAME=package and class name -ARG_TYPES=arguments -UDF_DESC=udf desc -VIEW_UDF_FUNCTION_NOTES=view udf function -UPDATE_UDF_FUNCTION_NOTES=update udf function -QUERY_UDF_FUNCTION_LIST_PAGING_NOTES=query udf function list paging -VERIFY_UDF_FUNCTION_NAME_NOTES=verify udf function name -DELETE_UDF_FUNCTION_NOTES=delete udf function -AUTHORIZED_FILE_NOTES=authorized file -UNAUTHORIZED_FILE_NOTES=unauthorized file -AUTHORIZED_UDF_FUNC_NOTES=authorized udf func -UNAUTHORIZED_UDF_FUNC_NOTES=unauthorized udf func -VERIFY_QUEUE_NOTES=verify queue -TENANT_TAG=tenant related operation -CREATE_TENANT_NOTES=create tenant -TENANT_CODE=tenant code -TENANT_NAME=tenant name -QUEUE_NAME=queue name -PASSWORD=password -DATA_SOURCE_OTHER=jdbc connection params, format:{"key1":"value1",...} -PROJECT_TAG=project related operation -CREATE_PROJECT_NOTES=create project -PROJECT_DESC=project description -UPDATE_PROJECT_NOTES=update project -PROJECT_ID=project id -QUERY_PROJECT_BY_ID_NOTES=query project info by project id -QUERY_PROJECT_LIST_PAGING_NOTES=QUERY PROJECT LIST PAGING -DELETE_PROJECT_BY_ID_NOTES=delete project by id -QUERY_UNAUTHORIZED_PROJECT_NOTES=query unauthorized project -QUERY_AUTHORIZED_PROJECT_NOTES=query authorized project -TASK_RECORD_TAG=task record related operation -QUERY_TASK_RECORD_LIST_PAGING_NOTES=query task record list paging -CREATE_TOKEN_NOTES=create token ,note: please login first -QUERY_ACCESS_TOKEN_LIST_NOTES=query access token list paging -SCHEDULE=schedule -WARNING_TYPE=warning type(sending strategy) -WARNING_GROUP_ID=warning group id -FAILURE_STRATEGY=failure strategy -RECEIVERS=receivers -RECEIVERS_CC=receivers cc -WORKER_GROUP_ID=worker server group id -PROCESS_INSTANCE_PRIORITY=process instance priority -UPDATE_SCHEDULE_NOTES=update schedule -SCHEDULE_ID=schedule id -ONLINE_SCHEDULE_NOTES=online schedule -OFFLINE_SCHEDULE_NOTES=offline schedule -QUERY_SCHEDULE_NOTES=query schedule -QUERY_SCHEDULE_LIST_PAGING_NOTES=query schedule list paging -LOGIN_TAG=User login related operations -USER_NAME=user name -PROJECT_NAME=project name -CREATE_PROCESS_DEFINITION_NOTES=create process definition -PROCESS_DEFINITION_NAME=process definition name -PROCESS_DEFINITION_JSON=process definition detail info (json format) -PROCESS_DEFINITION_LOCATIONS=process definition node locations info (json format) -PROCESS_INSTANCE_LOCATIONS=process instance node locations info (json format) -PROCESS_DEFINITION_CONNECTS=process definition node connects info (json format) -PROCESS_INSTANCE_CONNECTS=process instance node connects info (json format) -PROCESS_DEFINITION_DESC=process definition desc -PROCESS_DEFINITION_TAG=process definition related opertation -SIGNOUT_NOTES=logout -USER_PASSWORD=user password -UPDATE_PROCESS_INSTANCE_NOTES=update process instance -QUERY_PROCESS_INSTANCE_LIST_NOTES=query process instance list -VERIFY_PROCCESS_DEFINITION_NAME_NOTES=verify proccess definition name -LOGIN_NOTES=user login -UPDATE_PROCCESS_DEFINITION_NOTES=update proccess definition -PROCESS_DEFINITION_ID=process definition id -RELEASE_PROCCESS_DEFINITION_NOTES=release proccess definition -QUERY_PROCCESS_DEFINITION_BY_ID_NOTES=query proccess definition by id -QUERY_PROCCESS_DEFINITION_LIST_NOTES=query proccess definition list -QUERY_PROCCESS_DEFINITION_LIST_PAGING_NOTES=query proccess definition list paging -PAGE_NO=page no -PROCESS_INSTANCE_ID=process instance id -PROCESS_INSTANCE_JSON=process instance info(json format) -SCHEDULE_TIME=schedule time -SYNC_DEFINE=update the information of the process instance to the process definition\ - -RECOVERY_PROCESS_INSTANCE_FLAG=whether to recovery process instance -SEARCH_VAL=search val -USER_ID=user id -PAGE_SIZE=page size -LIMIT=limit -VIEW_TREE_NOTES=view tree -GET_NODE_LIST_BY_DEFINITION_ID_NOTES=get task node list by process definition id -PROCESS_DEFINITION_ID_LIST=process definition id list -QUERY_PROCESS_INSTANCE_BY_ID_NOTES=query process instance by process instance id -DELETE_PROCESS_INSTANCE_BY_ID_NOTES=delete process instance by process instance id -TASK_ID=task instance id -SKIP_LINE_NUM=skip line num -QUERY_TASK_INSTANCE_LOG_NOTES=query task instance log -DOWNLOAD_TASK_INSTANCE_LOG_NOTES=download task instance log -USERS_TAG=users related operation -SCHEDULER_TAG=scheduler related operation -CREATE_SCHEDULE_NOTES=create schedule -CREATE_USER_NOTES=create user -TENANT_ID=tenant id -QUEUE=queue -EMAIL=email -PHONE=phone -QUERY_USER_LIST_NOTES=query user list -UPDATE_USER_NOTES=update user -DELETE_USER_BY_ID_NOTES=delete user by id -GRANT_PROJECT_NOTES=GRANT PROJECT -PROJECT_IDS=project ids(string format, multiple projects separated by ",") -GRANT_RESOURCE_NOTES=grant resource file -RESOURCE_IDS=resource ids(string format, multiple resources separated by ",") -GET_USER_INFO_NOTES=get user info -LIST_USER_NOTES=list user -VERIFY_USER_NAME_NOTES=verify user name -UNAUTHORIZED_USER_NOTES=cancel authorization -ALERT_GROUP_ID=alert group id -AUTHORIZED_USER_NOTES=authorized user -GRANT_UDF_FUNC_NOTES=grant udf function -UDF_IDS=udf ids(string format, multiple udf functions separated by ",") -GRANT_DATASOURCE_NOTES=grant datasource -DATASOURCE_IDS=datasource ids(string format, multiple datasources separated by ",") -QUERY_SUBPROCESS_INSTANCE_BY_TASK_ID_NOTES=query subprocess instance by task instance id -QUERY_PARENT_PROCESS_INSTANCE_BY_SUB_PROCESS_INSTANCE_ID_NOTES=query parent process instance info by sub process instance id -QUERY_PROCESS_INSTANCE_GLOBAL_VARIABLES_AND_LOCAL_VARIABLES_NOTES=query process instance global variables and local variables -VIEW_GANTT_NOTES=view gantt -SUB_PROCESS_INSTANCE_ID=sub process instance id -TASK_NAME=task instance name -TASK_INSTANCE_TAG=task instance related operation -LOGGER_TAG=log related operation -PROCESS_INSTANCE_TAG=process instance related operation -EXECUTION_STATUS=runing status for workflow and task nodes -HOST=ip address of running task -START_DATE=start date -END_DATE=end date -QUERY_TASK_LIST_BY_PROCESS_INSTANCE_ID_NOTES=query task list by process instance id -UPDATE_DATA_SOURCE_NOTES=update data source -DATA_SOURCE_ID=DATA SOURCE ID -QUERY_DATA_SOURCE_NOTES=query data source by id -QUERY_DATA_SOURCE_LIST_BY_TYPE_NOTES=query data source list by database type -QUERY_DATA_SOURCE_LIST_PAGING_NOTES=query data source list paging -CONNECT_DATA_SOURCE_NOTES=CONNECT DATA SOURCE -CONNECT_DATA_SOURCE_TEST_NOTES=connect data source test -DELETE_DATA_SOURCE_NOTES=delete data source -VERIFY_DATA_SOURCE_NOTES=verify data source -UNAUTHORIZED_DATA_SOURCE_NOTES=unauthorized data source -AUTHORIZED_DATA_SOURCE_NOTES=authorized data source -DELETE_SCHEDULER_BY_ID_NOTES=delete scheduler by id diff --git a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/i18n/messages_zh_CN.properties b/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/i18n/messages_zh_CN.properties deleted file mode 100644 index b0d6694d2b..0000000000 --- a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/i18n/messages_zh_CN.properties +++ /dev/null @@ -1,227 +0,0 @@ -QUERY_SCHEDULE_LIST_NOTES=查询定时列表 -PROCESS_INSTANCE_EXECUTOR_TAG=流程实例执行相关操作 -RUN_PROCESS_INSTANCE_NOTES=运行流程实例 -START_NODE_LIST=开始节点列表(节点name) -TASK_DEPEND_TYPE=任务依赖类型 -COMMAND_TYPE=指令类型 -RUN_MODE=运行模式 -TIMEOUT=超时时间 -EXECUTE_ACTION_TO_PROCESS_INSTANCE_NOTES=执行流程实例的各种操作(暂停、停止、重跑、恢复等) -EXECUTE_TYPE=执行类型 -START_CHECK_PROCESS_DEFINITION_NOTES=检查流程定义 -DESC=备注(描述) -GROUP_NAME=组名称 -GROUP_TYPE=组类型 -QUERY_ALERT_GROUP_LIST_NOTES=告警组列表\ - -UPDATE_ALERT_GROUP_NOTES=编辑(更新)告警组 -DELETE_ALERT_GROUP_BY_ID_NOTES=删除告警组通过ID -VERIFY_ALERT_GROUP_NAME_NOTES=检查告警组是否存在 -GRANT_ALERT_GROUP_NOTES=授权告警组 -USER_IDS=用户ID列表 -ALERT_GROUP_TAG=告警组相关操作 -WORKER_GROUP_TAG=Worker分组管理 -SAVE_WORKER_GROUP_NOTES=创建Worker分组\ - -WORKER_GROUP_NAME=Worker分组名称 -WORKER_IP_LIST=Worker ip列表,注意:多个IP地址以逗号分割\ - -QUERY_WORKER_GROUP_PAGING_NOTES=Worker分组管理 -QUERY_WORKER_GROUP_LIST_NOTES=查询worker group分组 -DELETE_WORKER_GROUP_BY_ID_NOTES=删除worker group通过ID -DATA_ANALYSIS_TAG=任务状态分析相关操作 -COUNT_TASK_STATE_NOTES=任务状态统计 -COUNT_PROCESS_INSTANCE_NOTES=统计流程实例状态 -COUNT_PROCESS_DEFINITION_BY_USER_NOTES=统计用户创建的流程定义 -COUNT_COMMAND_STATE_NOTES=统计命令状态 -COUNT_QUEUE_STATE_NOTES=统计队列里任务状态 -ACCESS_TOKEN_TAG=access token相关操作,需要先登录 -MONITOR_TAG=监控相关操作 -MASTER_LIST_NOTES=master服务列表 -WORKER_LIST_NOTES=worker服务列表 -QUERY_DATABASE_STATE_NOTES=查询数据库状态 -QUERY_ZOOKEEPER_STATE_NOTES=查询Zookeeper状态 -TASK_STATE=任务实例状态 -SOURCE_TABLE=源表 -DEST_TABLE=目标表 -TASK_DATE=任务时间 -QUERY_HISTORY_TASK_RECORD_LIST_PAGING_NOTES=分页查询历史任务记录列表 -DATA_SOURCE_TAG=数据源相关操作 -CREATE_DATA_SOURCE_NOTES=创建数据源 -DATA_SOURCE_NAME=数据源名称 -DATA_SOURCE_NOTE=数据源描述 -DB_TYPE=数据源类型 -DATA_SOURCE_HOST=IP主机名 -DATA_SOURCE_PORT=数据源端口 -DATABASE_NAME=数据库名 -QUEUE_TAG=队列相关操作 -QUERY_QUEUE_LIST_NOTES=查询队列列表 -QUERY_QUEUE_LIST_PAGING_NOTES=分页查询队列列表 -CREATE_QUEUE_NOTES=创建队列 -YARN_QUEUE_NAME=hadoop yarn队列名 -QUEUE_ID=队列ID -TENANT_DESC=租户描述 -QUERY_TENANT_LIST_PAGING_NOTES=分页查询租户列表 -QUERY_TENANT_LIST_NOTES=查询租户列表 -UPDATE_TENANT_NOTES=更新租户 -DELETE_TENANT_NOTES=删除租户 -RESOURCES_TAG=资源中心相关操作 -CREATE_RESOURCE_NOTES=创建资源 -RESOURCE_TYPE=资源文件类型 -RESOURCE_NAME=资源文件名称 -RESOURCE_DESC=资源文件描述 -RESOURCE_FILE=资源文件 -RESOURCE_ID=资源ID -QUERY_RESOURCE_LIST_NOTES=查询资源列表 -DELETE_RESOURCE_BY_ID_NOTES=删除资源通过ID -VIEW_RESOURCE_BY_ID_NOTES=浏览资源通通过ID -ONLINE_CREATE_RESOURCE_NOTES=在线创建资源 -SUFFIX=资源文件后缀 -CONTENT=资源文件内容 -UPDATE_RESOURCE_NOTES=在线更新资源文件 -DOWNLOAD_RESOURCE_NOTES=下载资源文件 -CREATE_UDF_FUNCTION_NOTES=创建UDF函数 -UDF_TYPE=UDF类型 -FUNC_NAME=函数名称 -CLASS_NAME=包名类名 -ARG_TYPES=参数 -UDF_DESC=udf描述,使用说明 -VIEW_UDF_FUNCTION_NOTES=查看udf函数 -UPDATE_UDF_FUNCTION_NOTES=更新udf函数 -QUERY_UDF_FUNCTION_LIST_PAGING_NOTES=分页查询udf函数列表 -VERIFY_UDF_FUNCTION_NAME_NOTES=验证udf函数名 -DELETE_UDF_FUNCTION_NOTES=删除UDF函数 -AUTHORIZED_FILE_NOTES=授权文件 -UNAUTHORIZED_FILE_NOTES=取消授权文件 -AUTHORIZED_UDF_FUNC_NOTES=授权udf函数 -UNAUTHORIZED_UDF_FUNC_NOTES=取消udf函数授权 -VERIFY_QUEUE_NOTES=验证队列 -TENANT_TAG=租户相关操作 -CREATE_TENANT_NOTES=创建租户 -TENANT_CODE=租户编码 -TENANT_NAME=租户名称 -QUEUE_NAME=队列名 -PASSWORD=密码 -DATA_SOURCE_OTHER=jdbc连接参数,格式为:{"key1":"value1",...} -PROJECT_TAG=项目相关操作 -CREATE_PROJECT_NOTES=创建项目 -PROJECT_DESC=项目描述 -UPDATE_PROJECT_NOTES=更新项目 -PROJECT_ID=项目ID -QUERY_PROJECT_BY_ID_NOTES=通过项目ID查询项目信息 -QUERY_PROJECT_LIST_PAGING_NOTES=分页查询项目列表 -DELETE_PROJECT_BY_ID_NOTES=删除项目通过ID -QUERY_UNAUTHORIZED_PROJECT_NOTES=查询未授权的项目 -QUERY_AUTHORIZED_PROJECT_NOTES=查询授权项目 -TASK_RECORD_TAG=任务记录相关操作 -QUERY_TASK_RECORD_LIST_PAGING_NOTES=分页查询任务记录列表 -CREATE_TOKEN_NOTES=创建token,注意需要先登录 -QUERY_ACCESS_TOKEN_LIST_NOTES=分页查询access token列表 -SCHEDULE=定时 -WARNING_TYPE=发送策略 -WARNING_GROUP_ID=发送组ID -FAILURE_STRATEGY=失败策略 -RECEIVERS=收件人 -RECEIVERS_CC=收件人(抄送) -WORKER_GROUP_ID=Worker Server分组ID -PROCESS_INSTANCE_PRIORITY=流程实例优先级 -UPDATE_SCHEDULE_NOTES=更新定时 -SCHEDULE_ID=定时ID -ONLINE_SCHEDULE_NOTES=定时上线 -OFFLINE_SCHEDULE_NOTES=定时下线 -QUERY_SCHEDULE_NOTES=查询定时 -QUERY_SCHEDULE_LIST_PAGING_NOTES=分页查询定时 -LOGIN_TAG=用户登录相关操作 -USER_NAME=用户名 -PROJECT_NAME=项目名称 -CREATE_PROCESS_DEFINITION_NOTES=创建流程定义 -PROCESS_DEFINITION_NAME=流程定义名称 -PROCESS_DEFINITION_JSON=流程定义详细信息(json格式) -PROCESS_DEFINITION_LOCATIONS=流程定义节点坐标位置信息(json格式) -PROCESS_INSTANCE_LOCATIONS=流程实例节点坐标位置信息(json格式) -PROCESS_DEFINITION_CONNECTS=流程定义节点图标连接信息(json格式) -PROCESS_INSTANCE_CONNECTS=流程实例节点图标连接信息(json格式) -PROCESS_DEFINITION_DESC=流程定义描述信息 -PROCESS_DEFINITION_TAG=流程定义相关操作 -SIGNOUT_NOTES=退出登录 -USER_PASSWORD=用户密码 -UPDATE_PROCESS_INSTANCE_NOTES=更新流程实例 -QUERY_PROCESS_INSTANCE_LIST_NOTES=查询流程实例列表 -VERIFY_PROCCESS_DEFINITION_NAME_NOTES=验证流程定义名字 -LOGIN_NOTES=用户登录 -UPDATE_PROCCESS_DEFINITION_NOTES=更新流程定义 -PROCESS_DEFINITION_ID=流程定义ID -RELEASE_PROCCESS_DEFINITION_NOTES=发布流程定义 -QUERY_PROCCESS_DEFINITION_BY_ID_NOTES=查询流程定义通过流程定义ID -QUERY_PROCCESS_DEFINITION_LIST_NOTES=查询流程定义列表 -QUERY_PROCCESS_DEFINITION_LIST_PAGING_NOTES=分页查询流程定义列表 -PAGE_NO=页码号 -PROCESS_INSTANCE_ID=流程实例ID -PROCESS_INSTANCE_JSON=流程实例信息(json格式) -SCHEDULE_TIME=定时时间 -SYNC_DEFINE=更新流程实例的信息是否同步到流程定义 -RECOVERY_PROCESS_INSTANCE_FLAG=是否恢复流程实例 -SEARCH_VAL=搜索值 -USER_ID=用户ID -PAGE_SIZE=页大小 -LIMIT=显示多少条 -VIEW_TREE_NOTES=树状图 -GET_NODE_LIST_BY_DEFINITION_ID_NOTES=获得任务节点列表通过流程定义ID -PROCESS_DEFINITION_ID_LIST=流程定义id列表 -QUERY_PROCESS_INSTANCE_BY_ID_NOTES=查询流程实例通过流程实例ID -DELETE_PROCESS_INSTANCE_BY_ID_NOTES=删除流程实例通过流程实例ID -TASK_ID=任务实例ID -SKIP_LINE_NUM=忽略行数 -QUERY_TASK_INSTANCE_LOG_NOTES=查询任务实例日志 -DOWNLOAD_TASK_INSTANCE_LOG_NOTES=下载任务实例日志 -USERS_TAG=用户相关操作 -SCHEDULER_TAG=定时相关操作 -CREATE_SCHEDULE_NOTES=创建定时 -CREATE_USER_NOTES=创建用户 -TENANT_ID=租户ID -QUEUE=使用的队列 -EMAIL=邮箱 -PHONE=手机号 -QUERY_USER_LIST_NOTES=查询用户列表 -UPDATE_USER_NOTES=更新用户 -DELETE_USER_BY_ID_NOTES=删除用户通过ID -GRANT_PROJECT_NOTES=授权项目 -PROJECT_IDS=项目IDS(字符串格式,多个项目以","分割) -GRANT_RESOURCE_NOTES=授权资源文件 -RESOURCE_IDS=资源ID列表(字符串格式,多个资源ID以","分割) -GET_USER_INFO_NOTES=获取用户信息 -LIST_USER_NOTES=用户列表 -VERIFY_USER_NAME_NOTES=验证用户名 -UNAUTHORIZED_USER_NOTES=取消授权 -ALERT_GROUP_ID=报警组ID -AUTHORIZED_USER_NOTES=授权用户 -GRANT_UDF_FUNC_NOTES=授权udf函数 -UDF_IDS=udf函数id列表(字符串格式,多个udf函数ID以","分割) -GRANT_DATASOURCE_NOTES=授权数据源 -DATASOURCE_IDS=数据源ID列表(字符串格式,多个数据源ID以","分割) -QUERY_SUBPROCESS_INSTANCE_BY_TASK_ID_NOTES=查询子流程实例通过任务实例ID -QUERY_PARENT_PROCESS_INSTANCE_BY_SUB_PROCESS_INSTANCE_ID_NOTES=查询父流程实例信息通过子流程实例ID -QUERY_PROCESS_INSTANCE_GLOBAL_VARIABLES_AND_LOCAL_VARIABLES_NOTES=查询流程实例全局变量和局部变量 -VIEW_GANTT_NOTES=浏览Gantt图 -SUB_PROCESS_INSTANCE_ID=子流程是咧ID -TASK_NAME=任务实例名 -TASK_INSTANCE_TAG=任务实例相关操作 -LOGGER_TAG=日志相关操作 -PROCESS_INSTANCE_TAG=流程实例相关操作 -EXECUTION_STATUS=工作流和任务节点的运行状态 -HOST=运行任务的主机IP地址 -START_DATE=开始时间 -END_DATE=结束时间 -QUERY_TASK_LIST_BY_PROCESS_INSTANCE_ID_NOTES=通过流程实例ID查询任务列表 -UPDATE_DATA_SOURCE_NOTES=更新数据源 -DATA_SOURCE_ID=数据源ID -QUERY_DATA_SOURCE_NOTES=查询数据源通过ID -QUERY_DATA_SOURCE_LIST_BY_TYPE_NOTES=查询数据源列表通过数据源类型 -QUERY_DATA_SOURCE_LIST_PAGING_NOTES=分页查询数据源列表 -CONNECT_DATA_SOURCE_NOTES=连接数据源 -CONNECT_DATA_SOURCE_TEST_NOTES=连接数据源测试 -DELETE_DATA_SOURCE_NOTES=删除数据源 -VERIFY_DATA_SOURCE_NOTES=验证数据源 -UNAUTHORIZED_DATA_SOURCE_NOTES=未授权的数据源 -AUTHORIZED_DATA_SOURCE_NOTES=授权的数据源 -DELETE_SCHEDULER_BY_ID_NOTES=根据定时id删除定时数据 diff --git a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/mail_templates/alert_mail_template.ftl b/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/mail_templates/alert_mail_template.ftl deleted file mode 100644 index 0ff763fa28..0000000000 --- a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/mail_templates/alert_mail_template.ftl +++ /dev/null @@ -1 +0,0 @@ - easyscheduler<#if title??> ${title}<#if content??> ${content}
\ No newline at end of file diff --git a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/master.properties b/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/master.properties deleted file mode 100644 index 9080defc7b..0000000000 --- a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/master.properties +++ /dev/null @@ -1,21 +0,0 @@ -# master execute thread num -master.exec.threads=100 - -# master execute task number in parallel -master.exec.task.number=20 - -# master heartbeat interval -master.heartbeat.interval=10 - -# master commit task retry times -master.task.commit.retryTimes=5 - -# master commit task interval -master.task.commit.interval=100 - - -# only less than cpu avg load, master server can work. default value : the number of cpu cores * 2 -master.max.cpuload.avg=10 - -# only larger than reserved memory, master server can work. default value : physical memory * 1/10, unit is G. -master.reserved.memory=1 diff --git a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/master_logback.xml b/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/master_logback.xml deleted file mode 100644 index d93878218e..0000000000 --- a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/master_logback.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n - - UTF-8 - - - - - ${log.base}/escheduler-master.log - - INFO - - - ${log.base}/escheduler-master.%d{yyyy-MM-dd_HH}.%i.log - 168 - 200MB - - - - [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n - - UTF-8 - - - - - - - \ No newline at end of file diff --git a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/quartz.properties b/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/quartz.properties deleted file mode 100644 index 21c5feb321..0000000000 --- a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/quartz.properties +++ /dev/null @@ -1,39 +0,0 @@ -#============================================================================ -# Configure Main Scheduler Properties -#============================================================================ -org.quartz.scheduler.instanceName = EasyScheduler -org.quartz.scheduler.instanceId = AUTO -org.quartz.scheduler.makeSchedulerThreadDaemon = true -org.quartz.jobStore.useProperties = false - -#============================================================================ -# Configure ThreadPool -#============================================================================ - -org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool -org.quartz.threadPool.makeThreadsDaemons = true -org.quartz.threadPool.threadCount = 25 -org.quartz.threadPool.threadPriority = 5 - -#============================================================================ -# Configure JobStore -#============================================================================ - -org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX -org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate -org.quartz.jobStore.tablePrefix = QRTZ_ -org.quartz.jobStore.isClustered = true -org.quartz.jobStore.misfireThreshold = 60000 -org.quartz.jobStore.clusterCheckinInterval = 5000 -org.quartz.jobStore.dataSource = myDs - -#============================================================================ -# Configure Datasources -#============================================================================ - -org.quartz.dataSource.myDs.driver = com.mysql.jdbc.Driver -org.quartz.dataSource.myDs.URL=jdbc:mysql://127.0.0.1:3306/escheduler?characterEncoding=utf8 -org.quartz.dataSource.myDs.user=root -org.quartz.dataSource.myDs.password=root@123 -org.quartz.dataSource.myDs.maxConnections = 10 -org.quartz.dataSource.myDs.validationQuery = select 1 \ No newline at end of file diff --git a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/worker.properties b/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/worker.properties deleted file mode 100644 index e58bd86dcf..0000000000 --- a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/worker.properties +++ /dev/null @@ -1,15 +0,0 @@ -# worker execute thread num -worker.exec.threads=100 - -# worker heartbeat interval -worker.heartbeat.interval=10 - -# submit the number of tasks at a time -worker.fetch.task.num = 3 - - -# only less than cpu avg load, worker server can work. default value : the number of cpu cores * 2 -#worker.max.cpuload.avg=10 - -# only larger than reserved memory, worker server can work. default value : physical memory * 1/6, unit is G. -worker.reserved.memory=1 \ No newline at end of file diff --git a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/worker_logback.xml b/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/worker_logback.xml deleted file mode 100644 index 32914ec84f..0000000000 --- a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/worker_logback.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n - - UTF-8 - - - - - INFO - - - ${log.base}/{processDefinitionId}/{processInstanceId}/{taskInstanceId}.log - - - [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n - - UTF-8 - - true - - - - ${log.base}/escheduler-worker.log - - INFO - - - - ${log.base}/escheduler-worker.%d{yyyy-MM-dd_HH}.%i.log - 168 - 200MB - -       - - - [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n - - UTF-8 - -    - - - - - - - - \ No newline at end of file diff --git a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/zookeeper.properties b/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/zookeeper.properties deleted file mode 100644 index 5f14df49b7..0000000000 --- a/dockerfile/dockerfile-1.1.x/conf/escheduler/conf/zookeeper.properties +++ /dev/null @@ -1,25 +0,0 @@ -#zookeeper cluster -zookeeper.quorum=127.0.0.1:2181 - -#escheduler root directory -zookeeper.escheduler.root=/escheduler - -#zookeeper server dirctory -zookeeper.escheduler.dead.servers=/escheduler/dead-servers -zookeeper.escheduler.masters=/escheduler/masters -zookeeper.escheduler.workers=/escheduler/workers - -#zookeeper lock dirctory -zookeeper.escheduler.lock.masters=/escheduler/lock/masters -zookeeper.escheduler.lock.workers=/escheduler/lock/workers - -#escheduler failover directory -zookeeper.escheduler.lock.failover.masters=/escheduler/lock/failover/masters -zookeeper.escheduler.lock.failover.workers=/escheduler/lock/failover/workers -zookeeper.escheduler.lock.failover.startup.masters=/escheduler/lock/failover/startup-masters - -#escheduler failover directory -zookeeper.session.timeout=300 -zookeeper.connection.timeout=300 -zookeeper.retry.sleep=1000 -zookeeper.retry.maxtime=5 \ No newline at end of file diff --git a/dockerfile/dockerfile-1.1.x/conf/maven/settings.xml b/dockerfile/dockerfile-1.1.x/conf/maven/settings.xml deleted file mode 100644 index 6bdea4a1bf..0000000000 --- a/dockerfile/dockerfile-1.1.x/conf/maven/settings.xml +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - nexus-aliyun - central - Nexus aliyun - http://maven.aliyun.com/nexus/content/groups/public - - - - - - - - - - - - diff --git a/dockerfile/dockerfile-1.1.x/conf/nginx/default.conf b/dockerfile/dockerfile-1.1.x/conf/nginx/default.conf deleted file mode 100644 index 2d43c32b63..0000000000 --- a/dockerfile/dockerfile-1.1.x/conf/nginx/default.conf +++ /dev/null @@ -1,31 +0,0 @@ -server { - listen 8888; - server_name localhost; - #charset koi8-r; - #access_log /var/log/nginx/host.access.log main; - location / { - root /opt/easyscheduler_source/escheduler-ui/dist; - index index.html index.html; - } - location /escheduler { - proxy_pass http://127.0.0.1:12345; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header x_real_ipP $remote_addr; - proxy_set_header remote_addr $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_http_version 1.1; - proxy_connect_timeout 300s; - proxy_read_timeout 300s; - proxy_send_timeout 300s; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - } - #error_page 404 /404.html; - # redirect server error pages to the static page /50x.html - # - error_page 500 502 503 504 /50x.html; - location = /50x.html { - root /usr/share/nginx/html; - } -} diff --git a/dockerfile/dockerfile-1.1.x/conf/zookeeper/zoo.cfg b/dockerfile/dockerfile-1.1.x/conf/zookeeper/zoo.cfg deleted file mode 100644 index a5a2c0bbe3..0000000000 --- a/dockerfile/dockerfile-1.1.x/conf/zookeeper/zoo.cfg +++ /dev/null @@ -1,28 +0,0 @@ -# The number of milliseconds of each tick -tickTime=2000 -# The number of ticks that the initial -# synchronization phase can take -initLimit=10 -# The number of ticks that can pass between -# sending a request and getting an acknowledgement -syncLimit=5 -# the directory where the snapshot is stored. -# do not use /tmp for storage, /tmp here is just -# example sakes. -dataDir=/tmp/zookeeper -# the port at which the clients will connect -clientPort=2181 -# the maximum number of client connections. -# increase this if you need to handle more clients -#maxClientCnxns=60 -# -# Be sure to read the maintenance section of the -# administrator guide before turning on autopurge. -# -# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance -# -# The number of snapshots to retain in dataDir -#autopurge.snapRetainCount=3 -# Purge task interval in hours -# Set to "0" to disable auto purge feature -#autopurge.purgeInterval=1 diff --git a/dockerfile/dockerfile-1.1.x/hooks/build b/dockerfile/dockerfile-1.1.x/hooks/build deleted file mode 100644 index 779c38e66f..0000000000 --- a/dockerfile/dockerfile-1.1.x/hooks/build +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -echo "------ escheduler start - build -------" -printenv - -docker build --build-arg version=$version --build-arg tar_version=$tar_version -t $DOCKER_REPO:$version . - -echo "------ escheduler end - build -------" diff --git a/dockerfile/dockerfile-1.1.x/hooks/push b/dockerfile/dockerfile-1.1.x/hooks/push deleted file mode 100644 index 7b98da1a8d..0000000000 --- a/dockerfile/dockerfile-1.1.x/hooks/push +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -echo "------ push start -------" -printenv - -docker push $DOCKER_REPO:$version - -echo "------ push end -------" diff --git a/dockerfile/dockerfile-1.1.x/startup.sh b/dockerfile/dockerfile-1.1.x/startup.sh deleted file mode 100644 index 2d40fb5071..0000000000 --- a/dockerfile/dockerfile-1.1.x/startup.sh +++ /dev/null @@ -1,80 +0,0 @@ -#! /bin/bash - -set -e -if [ `netstat -anop|grep mysql|wc -l` -gt 0 ];then - echo "MySQL is Running." -else - MYSQL_ROOT_PWD="root@123" - ESZ_DB="escheduler" - echo "启动mysql服务" - chown -R mysql:mysql /var/lib/mysql /var/run/mysqld - find /var/lib/mysql -type f -exec touch {} \; && service mysql restart $ sleep 10 - if [ ! -f /nohup.out ];then - echo "设置mysql密码" - mysql --user=root --password=root -e "UPDATE mysql.user set authentication_string=password('$MYSQL_ROOT_PWD') where user='root'; FLUSH PRIVILEGES;" - - echo "设置mysql权限" - mysql --user=root --password=$MYSQL_ROOT_PWD -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '$MYSQL_ROOT_PWD' WITH GRANT OPTION; FLUSH PRIVILEGES;" - echo "创建escheduler数据库" - mysql --user=root --password=$MYSQL_ROOT_PWD -e "CREATE DATABASE IF NOT EXISTS \`$ESZ_DB\` CHARACTER SET utf8 COLLATE utf8_general_ci; FLUSH PRIVILEGES;" - echo "导入mysql数据" - nohup /opt/escheduler/script/create_escheduler.sh & - sleep 90 - fi - - if [ `mysql --user=root --password=$MYSQL_ROOT_PWD -s -r -e "SELECT count(TABLE_NAME) FROM information_schema.TABLES WHERE TABLE_SCHEMA='escheduler';" | grep -v count` -eq 38 ];then - echo "\`$ESZ_DB\` 表个数正确" - else - echo "\`$ESZ_DB\` 表个数不正确" - mysql --user=root --password=$MYSQL_ROOT_PWD -e "DROP DATABASE \`$ESZ_DB\`;" - echo "创建escheduler数据库" - mysql --user=root --password=$MYSQL_ROOT_PWD -e "CREATE DATABASE IF NOT EXISTS \`$ESZ_DB\` CHARACTER SET utf8 COLLATE utf8_general_ci; FLUSH PRIVILEGES;" - echo "导入mysql数据" - nohup /opt/escheduler/script/create_escheduler.sh & - fi -fi - -/opt/zookeeper/bin/zkServer.sh restart - -sleep 10 - -echo "启动api-server" -/opt/escheduler/bin/escheduler-daemon.sh stop api-server -/opt/escheduler/bin/escheduler-daemon.sh start api-server - - - -echo "启动master-server" -/opt/escheduler/bin/escheduler-daemon.sh stop master-server -python /opt/escheduler/script/del_zk_node.py 127.0.0.1 /escheduler/masters -/opt/escheduler/bin/escheduler-daemon.sh start master-server - -echo "启动worker-server" -/opt/escheduler/bin/escheduler-daemon.sh stop worker-server -python /opt/escheduler/script/del_zk_node.py 127.0.0.1 /escheduler/workers -/opt/escheduler/bin/escheduler-daemon.sh start worker-server - - -echo "启动logger-server" -/opt/escheduler/bin/escheduler-daemon.sh stop logger-server -/opt/escheduler/bin/escheduler-daemon.sh start logger-server - - -echo "启动alert-server" -/opt/escheduler/bin/escheduler-daemon.sh stop alert-server -/opt/escheduler/bin/escheduler-daemon.sh start alert-server - - - - - -echo "启动nginx" -/etc/init.d/nginx stop -nginx & - - -while true -do - sleep 101 -done -exec "$@" diff --git a/dockerfile/startup.sh b/dockerfile/startup.sh index b6f6b8622b..8aed67f394 100644 --- a/dockerfile/startup.sh +++ b/dockerfile/startup.sh @@ -37,7 +37,7 @@ fi /opt/zookeeper/bin/zkServer.sh restart -sleep 10 +sleep 90 echo "启动api-server" /opt/escheduler/bin/escheduler-daemon.sh stop api-server diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/TenantMapper.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/TenantMapper.java index c451f6ce20..a459e9aaae 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/TenantMapper.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/TenantMapper.java @@ -68,6 +68,8 @@ public interface TenantMapper { @Result(property = "tenantName", column = "tenant_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), @Result(property = "desc", column = "desc", javaType = String.class, jdbcType = JdbcType.VARCHAR), @Result(property = "queueId", column = "queue_id", javaType = Integer.class, jdbcType = JdbcType.INTEGER), + @Result(property = "queueName", column = "queue_name", javaType = String.class, jdbcType = JdbcType.VARCHAR), + @Result(property = "queue", column = "queue", javaType = String.class, jdbcType = JdbcType.VARCHAR), @Result(property = "createTime", column = "create_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE), }) diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/TenantMapperProvider.java b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/TenantMapperProvider.java index f8151781d4..ba86c76f3a 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/TenantMapperProvider.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/mapper/TenantMapperProvider.java @@ -97,11 +97,10 @@ public class TenantMapperProvider { public String queryById(Map parameter) { return new SQL() { { - SELECT("*"); - - FROM(TABLE_NAME); - - WHERE("`id` = #{tenantId}"); + SELECT("t.*,q.queue_name,q.queue"); + FROM(TABLE_NAME + " t,t_escheduler_queue q"); + WHERE(" t.queue_id = q.id"); + WHERE(" t.id = #{tenantId}"); } }.toString(); } diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/model/Tenant.java b/escheduler-dao/src/main/java/cn/escheduler/dao/model/Tenant.java index a8cc94e1ab..b3249dc362 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/model/Tenant.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/model/Tenant.java @@ -53,6 +53,12 @@ public class Tenant { */ private String queueName; + + /** + * queue + */ + private String queue; + /** * create time */ @@ -126,6 +132,15 @@ public class Tenant { public void setQueueName(String queueName) { this.queueName = queueName; } + + public String getQueue() { + return queue; + } + + public void setQueue(String queue) { + this.queue = queue; + } + @Override public String toString() { return "Tenant{" + @@ -135,6 +150,7 @@ public class Tenant { ", desc='" + desc + '\'' + ", queueId=" + queueId + ", queueName='" + queueName + '\'' + + ", queue='" + queue + '\'' + ", createTime=" + createTime + ", updateTime=" + updateTime + '}'; diff --git a/escheduler-server/src/main/java/cn/escheduler/server/rpc/LoggerServer.java b/escheduler-server/src/main/java/cn/escheduler/server/rpc/LoggerServer.java index ab9e79524b..705596c334 100644 --- a/escheduler-server/src/main/java/cn/escheduler/server/rpc/LoggerServer.java +++ b/escheduler-server/src/main/java/cn/escheduler/server/rpc/LoggerServer.java @@ -92,14 +92,21 @@ public class LoggerServer { @Override public void rollViewLog(LogParameter request, StreamObserver responseObserver) { - logger.info("log parameter path : {} ,skipLine : {}, limit : {}", + logger.info("log parameter path : {} ,skip line : {}, limit : {}", request.getPath(), request.getSkipLineNum(), request.getLimit()); List list = readFile(request.getPath(), request.getSkipLineNum(), request.getLimit()); StringBuilder sb = new StringBuilder(); + boolean errorLineFlag = false; for (String line : list){ - sb.append(line + "\r\n"); + if (line.contains("TaskLogger")){ + errorLineFlag = filterLine(request.getPath(),line); + } + + if (!errorLineFlag || !line.contains("TaskLogger")){ + sb.append(line + "\r\n"); + } } RetStrInfo retInfoBuild = RetStrInfo.newBuilder().setMsg(sb.toString()).build(); responseObserver.onNext(retInfoBuild); @@ -123,7 +130,7 @@ public class LoggerServer { responseObserver.onNext(builder.build()); responseObserver.onCompleted(); }catch (Exception e){ - logger.error("get log bytes failed : " + e.getMessage(),e); + logger.error("get log bytes failed",e); } } } @@ -134,23 +141,35 @@ public class LoggerServer { * @return * @throws Exception */ - private static byte[] getFileBytes(String path)throws IOException{ + private static byte[] getFileBytes(String path){ InputStream in = null; ByteArrayOutputStream bos = null; try { in = new FileInputStream(path); bos = new ByteArrayOutputStream(); - byte[] buffer = new byte[4096]; - int n = 0; - while ((n = in.read(buffer)) != -1) { - bos.write(buffer, 0, n); + byte[] buf = new byte[1024]; + int len = 0; + while ((len = in.read(buf)) != -1) { + bos.write(buf, 0, len); } return bos.toByteArray(); }catch (IOException e){ - logger.error("getFileBytes error",e); + logger.error("get file bytes error",e); }finally { - bos.close(); - in.close(); + if (bos != null){ + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (in != null){ + try { + in.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } } return null; } @@ -166,7 +185,7 @@ public class LoggerServer { try (Stream stream = Files.lines(Paths.get(path))) { return stream.skip(skipLine).limit(limit).collect(Collectors.toList()); } catch (IOException e) { - logger.error("read file failed : " + e.getMessage(),e); + logger.error("read file failed",e); } return null; } @@ -183,12 +202,20 @@ public class LoggerServer { StringBuilder sb = new StringBuilder(); try { br = new BufferedReader(new InputStreamReader(new FileInputStream(path))); + boolean errorLineFlag = false; while ((line = br.readLine()) != null){ - sb.append(line + "\r\n"); + if (line.contains("TaskLogger")){ + errorLineFlag = filterLine(path,line); + } + + if (!errorLineFlag || !line.contains("TaskLogger")){ + sb.append(line + "\r\n"); + } } + return sb.toString(); }catch (IOException e){ - logger.error("read file failed : " + e.getMessage(),e); + logger.error("read file failed",e); }finally { try { if (br != null){ @@ -201,4 +228,21 @@ public class LoggerServer { return null; } + + /** + * + * @param path + * @param line + * @return + */ + private static boolean filterLine(String path,String line){ + String removeSuffix = path.substring(0, path.length() - 4); + String[] strArrs = removeSuffix.split("/"); + String taskAppId = String.format("%s_%s_%s", + strArrs[strArrs.length - 3], + strArrs[strArrs.length-2], + strArrs[strArrs.length - 1]); + return !line.contains(taskAppId); + } + } \ No newline at end of file diff --git a/escheduler-server/src/main/java/cn/escheduler/server/worker/WorkerServer.java b/escheduler-server/src/main/java/cn/escheduler/server/worker/WorkerServer.java index 0c6b5adb54..fec8c0f9d5 100644 --- a/escheduler-server/src/main/java/cn/escheduler/server/worker/WorkerServer.java +++ b/escheduler-server/src/main/java/cn/escheduler/server/worker/WorkerServer.java @@ -119,7 +119,7 @@ public class WorkerServer implements IStoppable { try { conf = new PropertiesConfiguration(Constants.WORKER_PROPERTIES_PATH); }catch (ConfigurationException e){ - logger.error("load configuration failed : " + e.getMessage(),e); + logger.error("load configuration failed",e); System.exit(1); } } @@ -167,13 +167,12 @@ public class WorkerServer implements IStoppable { Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() { @Override public void run() { - String host = OSUtils.getHost(); - // clear worker table register info - serverDao.deleteWorker(host); - logger.info("worker server stopped"); + + logger.warn("worker server stopped"); + // worker server exit alert if (zkWorkerClient.getActiveMasterNum() <= 1) { for (int i = 0; i < Constants.ESCHEDULER_WARN_TIMES_FAILOVER;i++) { - alertDao.sendServerStopedAlert(1, host, "Worker-Server"); + alertDao.sendServerStopedAlert(1, OSUtils.getHost(), "Worker-Server"); } } @@ -231,7 +230,7 @@ public class WorkerServer implements IStoppable { @Override public void run() { // send heartbeat to zk - if (StringUtils.isBlank(zkWorkerClient.getWorkerZNode())){ + if (StringUtils.isEmpty(zkWorkerClient.getWorkerZNode())){ logger.error("worker send heartbeat to zk failed"); } @@ -266,14 +265,8 @@ public class WorkerServer implements IStoppable { continue; }else { int taskInstId=Integer.parseInt(taskInfoArr[1]); + TaskInstance taskInstance = processDao.getTaskInstanceRelationByTaskId(taskInstId); - TaskInstance taskInstance = processDao.findTaskInstanceById(taskInstId); - - ProcessInstance instance = processDao.findProcessInstanceDetailById(taskInstance.getProcessInstanceId()); - - if(instance != null){ - taskInstance.setProcessInstance(instance); - } if(taskInstance.getTaskType().equals(TaskType.DEPENDENT.toString())){ taskInstance.setState(ExecutionStatus.KILL); processDao.saveTaskInstance(taskInstance); diff --git a/escheduler-server/src/main/java/cn/escheduler/server/worker/runner/FetchTaskThread.java b/escheduler-server/src/main/java/cn/escheduler/server/worker/runner/FetchTaskThread.java index 2208cf5204..31c4def1da 100644 --- a/escheduler-server/src/main/java/cn/escheduler/server/worker/runner/FetchTaskThread.java +++ b/escheduler-server/src/main/java/cn/escheduler/server/worker/runner/FetchTaskThread.java @@ -173,30 +173,30 @@ public class FetchTaskThread implements Runnable{ } // get task instance id - taskInstId = Integer.parseInt(taskQueueStr.split(Constants.UNDERLINE)[3]); + + taskInstId = getTaskInstanceId(taskQueueStr); // get task instance relation taskInstance = processDao.getTaskInstanceRelationByTaskId(taskInstId); Tenant tenant = processDao.getTenantForProcess(taskInstance.getProcessInstance().getTenantId(), taskInstance.getProcessDefine().getUserId()); - if(tenant == null){ - logger.error("tenant not exists,process define id : {},process instance id : {},task instance id : {}", - taskInstance.getProcessDefine().getId(), - taskInstance.getProcessInstance().getId(), - taskInstance.getId()); - taskQueue.removeNode(Constants.SCHEDULER_TASKS_QUEUE, taskQueueStr); + + // verify tenant is null + if (verifyTenantIsNull(taskQueueStr, tenant)) { continue; } + // set queue for process instance + taskInstance.getProcessInstance().setQueue(tenant.getQueue()); + logger.info("worker fetch taskId : {} from queue ", taskInstId); // mainly to wait for the master insert task to succeed waitForMasterEnterQueue(); - if (taskInstance == null ) { - logger.error("task instance is null. task id : {} ", taskInstId); - taskQueue.removeNode(Constants.SCHEDULER_TASKS_QUEUE, taskQueueStr); + // verify task instance is null + if (verifyTaskInstanceIsNull(taskQueueStr)) { continue; } @@ -204,16 +204,18 @@ public class FetchTaskThread implements Runnable{ continue; } - // get local execute path - logger.info("task instance local execute path : {} ", getExecLocalPath()); + // local execute path + String execLocalPath = getExecLocalPath(); + + logger.info("task instance local execute path : {} ", execLocalPath); // init task taskInstance.init(OSUtils.getHost(), new Date(), - getExecLocalPath()); + execLocalPath); // check and create Linux users - FileUtils.createWorkDirAndUserIfAbsent(getExecLocalPath(), + FileUtils.createWorkDirAndUserIfAbsent(execLocalPath, tenant.getTenantCode(), logger); logger.info("task : {} ready to submit to task scheduler thread",taskInstId); @@ -232,6 +234,38 @@ public class FetchTaskThread implements Runnable{ } } + /** + * verify task instance is null + * @param taskQueueStr + * @return + */ + private boolean verifyTaskInstanceIsNull(String taskQueueStr) { + if (taskInstance == null ) { + logger.error("task instance is null. task id : {} ", taskInstId); + taskQueue.removeNode(Constants.SCHEDULER_TASKS_QUEUE, taskQueueStr); + return true; + } + return false; + } + + /** + * verify tenant is null + * @param taskQueueStr + * @param tenant + * @return + */ + private boolean verifyTenantIsNull(String taskQueueStr, Tenant tenant) { + if(tenant == null){ + logger.error("tenant not exists,process define id : {},process instance id : {},task instance id : {}", + taskInstance.getProcessDefine().getId(), + taskInstance.getProcessInstance().getId(), + taskInstance.getId()); + taskQueue.removeNode(Constants.SCHEDULER_TASKS_QUEUE, taskQueueStr); + return true; + } + return false; + } + /** * get execute local path * @return @@ -274,4 +308,14 @@ public class FetchTaskThread implements Runnable{ retryTimes--; } } + + /** + * get task instance id + * + * @param taskQueueStr + * @return + */ + private int getTaskInstanceId(String taskQueueStr){ + return Integer.parseInt(taskQueueStr.split(Constants.UNDERLINE)[3]); + } } \ No newline at end of file diff --git a/escheduler-server/src/main/java/cn/escheduler/server/worker/runner/TaskScheduleThread.java b/escheduler-server/src/main/java/cn/escheduler/server/worker/runner/TaskScheduleThread.java index 6265097930..c045b0713a 100644 --- a/escheduler-server/src/main/java/cn/escheduler/server/worker/runner/TaskScheduleThread.java +++ b/escheduler-server/src/main/java/cn/escheduler/server/worker/runner/TaskScheduleThread.java @@ -133,7 +133,7 @@ public class TaskScheduleThread implements Runnable { taskInstance.getId(), CommonUtils.getSystemEnvPath(), tenant.getTenantCode(), - tenant.getQueueName(), + tenant.getQueue(), taskInstance.getStartTime(), getGlobalParamsMap(), taskInstance.getDependency(),