Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
841d996
modify README.md and Project Docs
allenhe888 May 16, 2022
51786b0
modify README.md and Project Docs
allenhe888 May 16, 2022
d66fa94
[quickstart] add built-in 4 demo-pipelines and add zk/kafka at
allenhe888 May 18, 2022
314e94f
enable set mysql:database(jax_db) from env:$JAX_META_DB
allenhe888 May 21, 2022
977b318
enable read JAX_DB from
allenhe888 May 21, 2022
19273a5
cluster-options
allenhe888 May 21, 2022
6be5727
add 2 api: /cluster-options, /cluster/save/{clusterName} to support d…
allenhe888 May 23, 2022
e0f690f
add 2 api: /cluster-options, /cluster/save/{clusterName} to support d…
allenhe888 May 23, 2022
f22b95d
add 2 api: /cluster-options, /cluster/save/{clusterName} to support d…
allenhe888 May 24, 2022
86d9dfc
add 2 api: /cluster-options, /cluster/save/{clusterName} to support d…
allenhe888 May 24, 2022
eba038d
modify for checkstyle and clusterBean's some props
allenhe888 May 24, 2022
fea7fdb
add licese header
allenhe888 May 24, 2022
d06242c
remove kafka-mgr
allenhe888 May 25, 2022
4c46a75
remove kafka-mgr
allenhe888 May 25, 2022
93a7573
remove kafka-mgr
allenhe888 May 25, 2022
c8cb65a
remove kafka-mgr
allenhe888 May 25, 2022
ecdb6f0
modify HadoopUtils to support read $HADOOP_CONF_DIR from etc or etc/h…
allenhe888 May 27, 2022
5942d28
modify HadoopUtils to support read $HADOOP_CONF_DIR from etc or etc/h…
allenhe888 May 27, 2022
ab81fff
modify HadoopUtils to support read $HADOOP_CONF_DIR from etc or etc/h…
allenhe888 May 31, 2022
7c62b56
modify HadoopUtils to support read $HADOOP_CONF_DIR from etc or etc/h…
allenhe888 Jun 6, 2022
833c057
Page Query for 2 apis: Job,Jar, Jar和Job的分页查询
allenhe888 Jun 7, 2022
5c0b0df
Page Query for 2 apis: Job,Jar, Jar和Job的分页查询
allenhe888 Jul 1, 2022
4a67782
modify for checkstyle
allenhe888 Jul 1, 2022
8fd97ed
fix bug about $Hadoop_Confi parser and add log-file out when debug ru…
allenhe888 Jul 1, 2022
e27cb82
fix bug about $Hadoop_Confi parser and add log-file out when debug ru…
allenhe888 Jul 1, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,4 @@ node_modules

*.pyc
.gradle
*pid.lock
10 changes: 9 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,16 @@ unpack-flink:
mkdir -p tmp && rm -f tmp/flink-1.12.3-bin-scala_2.11.tgz && wget -P tmp/ https://mirrors.huaweicloud.com/apache/flink/flink-1.12.3/flink-1.12.3-bin-scala_2.11.tgz
rm -rf tmp/jax/flink-1.12.3 && tar -zxf tmp/flink-1.12.3-bin-scala_2.11.tgz -C tmp/jax && rm -f tmp/flink-1.12.3-bin-scala_2.11.tgz


.PHONY: unpack-builtin-stages
unpack-builtin-stages:
mkdir -p /tmp/jax/builtin-stages && rm -rf /tmp/jax/builtin-stages
cp jax-flink-job-1_9/target/jax-flink-job-1_9-${JAX_VERSION}.jar tmp/jax/jax/jar_dir/ && mv tmp/jax/jax/jar_dir/jax-flink-job-1_9-${JAX_VERSION}.jar tmp/jax/jax/jar_dir/jax-flink-job-1_9_jars.jar
cp jax-flink-job/target/jax-flink-job-${JAX_VERSION}.jar tmp/jax/jax/jar_dir/ && mv tmp/jax/jax/jar_dir/jax-flink-job-${JAX_VERSION}.jar tmp/jax/jax/jar_dir/jax-flink-job_jars.jar


.PHONY: package-all
package-all: unpack-jax unpack-flink
package-all: unpack-jax unpack-flink unpack-builtin-stages
cd tmp && tar -zcf jax-all-${JAX_VERSION}-${DATE}-${COMMIT_ID}.tar.gz jax/

.PHONY: image
Expand Down
205 changes: 191 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,206 @@
# Package

# Introduction 简介

JAX项目由**擎创数据团队**研发并开源的数据中台项目, 帮助企业构建数据中台,提供数据集成、数据处理、数据开发、作业管理等数据服务;

JAX提供可拖拽的流批作业开发,可以轻松实现实时和离线的数据清洗、指标计算、数据探索等功能;

JAX是一款轻量级的数据平台,JAX本身并不强制与某种数据存储、计算框架绑定,也不与数据仓库、数据湖绑定,JAX更多的是构建一层数据抽象层,将企业中纷繁复杂的大数据基础设施统一起来,用户可以以平滑的方式将既有的数据存储和计算资源与JAX配合工作。JAX也有能力对接多种多样的数据库,例如关系型数据库、数据仓库、时序数据库、文档数据库等。也支持用户可选择不同类型的计算资源, 既可用选Hadoop, 也可以使用Kubernetes提供计算资源。


# Features 功能

### 功能概况
作业管理
* 流作业开发和管理
* 批作业开发和管理

算子管理
* 拓展包管理
* 算子列表:

系统管理
* 集群管理
* 框架管理


### 功能详细介绍和使用

请参照 [Jax功能模块](docs/JaxFeatures.md) 详细了解Jax功能模块。



# QuickStart 快速构建和体验

依赖环境: docker, docker-compose

预编译好的JAX已发布到 aliyun docker镜像, 这里提供与MySQL, Flink, Kafka等服务快速集成部署的docker-compose.yml


### 创建docker-compose.yml

使用如下命令新建 docker-compose.yml 或手动创建下文内容的 docker-compose.yml:

```sh
$ make package-all
```
tee docker-compose.yml <<'EOF'

# Docker
version: "3"
services:
web:
image: registry.cn-hangzhou.aliyuncs.com/eoitek/jax:1.0.0
depends_on:
- db
- taskmanager
environment:
MYSQL_HOST: db
MYSQL_USER: root
MYSQL_PASSWORD: my-secret-pw
ports:
- "49999:9999"
volumes:
- web-data:/app/jax/jar_dir
networks:
- jax
db:
image: mysql:5.7.25
environment:
MYSQL_ROOT_PASSWORD: my-secret-pw
MYSQL_DATABASE: jax_db
networks:
- jax
volumes:
- db-data:/var/lib/mysql
taskmanager:
image: ${FLINK_IMAGE:-flink:1.9.1-scala_2.11}
command: taskmanager
depends_on:
- jobmanager
environment:
- |
FLINK_PROPERTIES=
jobmanager.rpc.address: jobmanager
taskmanager.numberOfTaskSlots: 4
networks:
- jax
jobmanager:
image: ${FLINK_IMAGE:-flink:1.9.1-scala_2.11}
command: jobmanager
environment:
- |
FLINK_PROPERTIES=
jobmanager.rpc.address: jobmanager
ports:
- "48081:8081"
networks:
- jax
zookeeper:
image: wurstmeister/zookeeper
networks:
- jax
kafka:
image: wurstmeister/kafka
depends_on:
- zookeeper
environment:
KAFKA_ADVERTISED_HOST_NAME: ${KAFKA_AD_IP:-kafka}
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_BROKER_ID: 1
KAFKA_CREATE_TOPICS: sourceTopic:2:1,sinkTopic:2:1
networks:
- jax

requirements
networks:
jax:

volumes:
db-data:
web-data:

EOF

```
node/npm/yarn
wget
docker/docker compose

其中的 registry.cn-hangzhou.aliyuncs.com/eoitek/jax:1.0.0 即为已准备好的JAX docker镜像


### 一键启动各服务

```sh

docker-compose up

```

With flink 1.9 standalone cluster:
服务验证和访问:
- 访问JAX服务: http://{ip}:49999
- 访问Flink Standalone 测试集群: http://{ip}:48081




# Compile and Deploy 编译部署


### Requriments 编译环境要求

- 基础命令: tar, make, java;
- 前端命令: nodejs, npm, yarn/yarnpkg, vue-cli;
- Docker命令: docker, docker-compose ;



### Compile 编译部署命令

使用make命令(基于Makefile) 进行项目编译和打包

```sh
$ make image
$ docker-compose up
# 编译并打包
make package-all

# 或者直接: 打包+ 制作Docker镜像
make image

```

With flink 1.12 standalone cluster:
编译打包好的tar.gz文件即位于 tmp 目录下的 jax-all-xxx.tar.gz 压缩文件;
解压后, 需要对 jax/application.yml配置文件 配置好正确的如下变量,才能start.sh启动
- jax.home(或$JAX_HOME环境变量) 为解压的JAX安装目录;
- spring.datasource中配置正确的MySQL url账号密码


配置成功后, 启动JAX服务

```sh
$ make image
$ FLINK_IMAGE=flink:1.12.3-scala_2.11 docker-compose up
cd $JAX_HOME

./start.sh


# 项目启动成功, 由如下打印
_ _ |_ _ _|_. ___ _ | _
| | |\/|_)(_| | |_\ |_)||_|_\
/ |
3.1.2
Jax Application is Ready

```



### 详细编译部署手册

项目编译和部署详细文档, 可参见 [编译部署](docs/CompileAndDeploy.md)



# Documents

- 编译部署和环境准备相关问题, 可参见 [** 常见问题列表 **](https://datasalon.yuque.com/staff-dg3tgh/pg6cpg/uem0ig)
- 生产运维中常见问题, 可参考 [** 生产运维常见问题 **](https://datasalon.yuque.com/staff-dg3tgh/pg6cpg/uem0ig)


# Contributing

# Communication

34 changes: 26 additions & 8 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,22 @@ services:
MYSQL_USER: root
MYSQL_PASSWORD: my-secret-pw
ports:
- "9999:9999"
- "49999:9999"
volumes:
- web-data:/app/jax/jar_dir
networks:
- jax
db:
image: mysql:5.7.25
environment:
MYSQL_ROOT_PASSWORD: my-secret-pw
MYSQL_DATABASE: jax_db
ports:
- "43306:3306"
networks:
- jax
volumes:
- db-data:/var/lib/mysql
taskmanager:
image: ${FLINK_IMAGE:-flink:1.9.1-scala_2.11}
command: taskmanager
Expand All @@ -35,18 +46,25 @@ services:
FLINK_PROPERTIES=
jobmanager.rpc.address: jobmanager
ports:
- "8081:8081"
- "48081:8081"
networks:
- jax
db:
image: mysql:5.7.25
zookeeper:
image: wurstmeister/zookeeper
networks:
- jax
kafka:
image: wurstmeister/kafka
depends_on:
- zookeeper
environment:
MYSQL_ROOT_PASSWORD: my-secret-pw
MYSQL_DATABASE: jax_db
KAFKA_ADVERTISED_HOST_NAME: ${KAFKA_AD_IP:-kafka}
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_BROKER_ID: 1
KAFKA_CREATE_TOPICS: sourceTopic:2:1,sinkTopic:2:1
networks:
- jax
volumes:
- db-data:/var/lib/mysql

networks:
jax:
Expand Down
Loading