Commit Graph

25 Commits

Author SHA1 Message Date
sychen
efa22a4936 [CELEBORN-1105][FLINK] Support Flink 1.18
### What changes were proposed in this pull request?

### Why are the changes needed?

```bash
flink-1.18.0
./bin/start-cluster.sh
./bin/flink run examples/streaming/WordCount.jar --execution-mode BATCH
```

```java
Caused by: java.lang.NoSuchMethodError: org.apache.flink.runtime.io.network.partition.consumer.SingleInputGate.<init>(Ljava/lang/String;ILorg/apache/flink/runtime/jobgraph/IntermediateDataSetID;Lorg/apache/flink/runtime/io/network/partition/ResultPartitionType;Lorg/apache/flink/runtime/executiongraph/IndexRange;ILorg/apache/flink/runtime/io/network/partition/PartitionProducerStateProvider;Lorg/apache/flink/util/function/SupplierWithException;Lorg/apache/flink/runtime/io/network/buffer/BufferDecompressor;Lorg/apache/flink/core/memory/MemorySegmentProvider;ILorg/apache/flink/runtime/throughput/ThroughputCalculator;Lorg/apache/flink/runtime/throughput/BufferDebloater;)V
	at org.apache.celeborn.plugin.flink.RemoteShuffleInputGate$FakedRemoteInputChannel.<init>(RemoteShuffleInputGate.java:225)
	at org.apache.celeborn.plugin.flink.RemoteShuffleInputGate.getChannel(RemoteShuffleInputGate.java:179)
	at org.apache.flink.runtime.io.network.partition.consumer.InputGate.setChannelStateWriter(InputGate.java:90)
	at org.apache.flink.runtime.taskmanager.InputGateWithMetrics.setChannelStateWriter(InputGateWithMetrics.java:120)
	at org.apache.flink.streaming.runtime.tasks.StreamTask.injectChannelStateWriterIntoChannels(StreamTask.java:524)
	at org.apache.flink.streaming.runtime.tasks.StreamTask.<init>(StreamTask.java:496)
```

Flink 1.18.0 release
https://flink.apache.org/2023/10/24/announcing-the-release-of-apache-flink-1.18/

Interface `org.apache.flink.runtime.io.network.buffer.Buffer` adds `setRecycler` method.
[[FLINK-32549](https://issues.apache.org/jira/browse/FLINK-32549)][network] Tiered storage memory manager supports ownership transfer for buffers

`org.apache.flink.runtime.io.network.partition.consumer.SingleInputGate` constructor adds parameters.
[[FLINK-31638](https://issues.apache.org/jira/browse/FLINK-31638)][network] Introduce the TieredStorageConsumerClient to SingleInputGate
[[FLINK-31642](https://issues.apache.org/jira/browse/FLINK-31642)][network] Introduce the MemoryTierConsumerAgent to TieredStorageConsumerClient

### Does this PR introduce _any_ user-facing change?

### How was this patch tested?
```bash
flink-1.18.0 ./bin/flink run examples/streaming/WordCount.jar --execution-mode BATCH
Executing example with default input data.
Use --input to specify file input.
Printing result to stdout. Use --output to specify output path.
Job has been submitted with JobID d7fc5f0ca018a54e9453c4d35f7c598a
Program execution finished
Job with JobID d7fc5f0ca018a54e9453c4d35f7c598a has finished.
Job Runtime: 1635 ms
```

<img width="1297" alt="image" src="https://github.com/apache/incubator-celeborn/assets/3898450/6a5266bf-2386-4386-b98b-a60d2570fa99">

Closes #2063 from cxzl25/CELEBORN-1105.

Authored-by: sychen <sychen@ctrip.com>
Signed-off-by: Shuang <lvshuang.tb@gmail.com>
2023-11-06 15:53:39 +08:00
xleoken
aba139a373
[CELEBORN-1018] Fix throw exception when exec create-package.sh script
### What changes were proposed in this pull request?

when exec the release script, throw exception
```
build/make-distribution.sh --release
```

```
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]
[ERROR] [ERROR] Could not find the selected project in the reactor: :celeborn-client-mr-shaded_2.12
[ERROR] Could not find the selected project in the reactor: :celeborn-client-mr-shaded_2.12 -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MavenExecutionException
```

### Why are the changes needed?

Fix bug.

### Does this PR introduce _any_ user-facing change?

Local tested.

### How was this patch tested?

Closes #1956 from xleoken/patch.

Authored-by: xleoken <leo65535@163.com>
Signed-off-by: Cheng Pan <chengpan@apache.org>
2023-10-08 11:32:49 +08:00
sychen
22f523537e [CELEBORN-1002] Add SBT MRClientProject
### What changes were proposed in this pull request?

### Why are the changes needed?

```bash
./build/make-distribution.sh --sbt-enabled -Pmr
```

```bash
./build/make-distribution.sh --sbt-enabled --release
```

### Does this PR introduce _any_ user-facing change?

### How was this patch tested?

Closes #1930 from cxzl25/CELEBORN-1002.

Authored-by: sychen <sychen@ctrip.com>
Signed-off-by: Fu Chen <cfmcgrady@gmail.com>
2023-10-08 10:03:21 +08:00
Fu Chen
6b0addb934 [CELEBORN-989] Add support for making distribution package via SBT
### What changes were proposed in this pull request?

As title

### Why are the changes needed?

As title

### Does this PR introduce _any_ user-facing change?

Users have the capability to generate the binary distribution package using SBT by executing the following command:

```shell
./build/make-distribution.sh --sbt-enabled
```

### How was this patch tested?

Pass GA && locally tested.

Closes #1921 from cfmcgrady/sbt-make-dist-3.

Authored-by: Fu Chen <cfmcgrady@gmail.com>
Signed-off-by: Fu Chen <cfmcgrady@gmail.com>
2023-09-20 10:03:01 +08:00
mingji
e0c00ecd38 [CELEBORN-839][MR] Support Hadoop MapReduce
### What changes were proposed in this pull request?
1. Map side merge and push.
2. Support hadoop2 & 3.
3. Reduce in-memory merge.
4. Integrate LifecycleManager to RmApplicationMaster.

### Why are the changes needed?
Ditto.

### Does this PR introduce _any_ user-facing change?
NO.

### How was this patch tested?
Cluster.

I tested this PR on a cluster with a 4x 16 CPU 64G Mem 4ESSD cluster.
Hadoop 2.8.5

1TB Terasort, 8400 mappers, 1000 reducers
Celeborn 81min vs MR shuffle 89min
![mr1](https://github.com/apache/incubator-celeborn/assets/4150993/a3cf6493-b6ff-4c03-9936-4558cf22761d)
![mr2](https://github.com/apache/incubator-celeborn/assets/4150993/9119ffb4-6996-4b77-bcdf-cbd6db5c096f)

1GB wordcount, 8 mappers, 8 reducers
Celeborn 35s VS MR shuffle 38s
![mr3](https://github.com/apache/incubator-celeborn/assets/4150993/907dce24-16b7-4788-ab5d-5b784fd07d47)
![mr4](https://github.com/apache/incubator-celeborn/assets/4150993/8e8065b9-6c46-4c8d-9e71-45eed8e63877)

Closes #1830 from FMX/CELEBORN-839.

Lead-authored-by: mingji <fengmingxiao.fmx@alibaba-inc.com>
Co-authored-by: Ethan Feng <fengmingxiao.fmx@alibaba-inc.com>
Signed-off-by: zky.zhoukeyong <zky.zhoukeyong@alibaba-inc.com>
2023-09-14 14:12:53 +08:00
Cheng Pan
7da6942367
[CELEBORN-942] Release script supports uploading Nexus
### What changes were proposed in this pull request?

`build/release/release.sh` supports uploading client jars to Nexus.

### Why are the changes needed?

We should deploy the client jars to maven central.

### Does this PR introduce _any_ user-facing change?

No.

### How was this patch tested?

Manually verification.

Closes #1875 from pan3793/CELEBORN-942.

Authored-by: Cheng Pan <chengpan@apache.org>
Signed-off-by: Cheng Pan <chengpan@apache.org>
2023-08-31 23:39:30 +08:00
zhouyifan279
d701d3ae2c [CELEBORN-912] Support build with Spark 3.5
### What changes were proposed in this pull request?

Support build with Spark 3.5

### Why are the changes needed?

Keep up with upstream.

### Does this PR introduce _any_ user-facing change?

No

### How was this patch tested?

Build with `mvn` and `sbt` locally.

Closes #1850 from zhouyifan279/build-spark-3.5.

Authored-by: zhouyifan279 <zhouyifan279@gmail.com>
Signed-off-by: Cheng Pan <chengpan@apache.org>
2023-08-29 03:15:12 +00:00
Fu Chen
516bdc7e08
[CELEBORN-877][DOC] Document on SBT
### What changes were proposed in this pull request?

As title

### Why are the changes needed?

As title

### Does this PR introduce _any_ user-facing change?

No

### How was this patch tested?

Manual test

Closes #1795 from cfmcgrady/sbt-docs.

Authored-by: Fu Chen <cfmcgrady@gmail.com>
Signed-off-by: Cheng Pan <chengpan@apache.org>
2023-08-11 12:17:55 +08:00
Fu Chen
f2fc520d04
[CELEBORN-867][BUILD] Add maven local repository to sbt respositories
### What changes were proposed in this pull request?

As title

### Why are the changes needed?

https://github.com/apache/incubator-celeborn/pull/1764#issuecomment-1659463340

before this PR
```shell
> ./build/sbt -Pspark-3.3 "clean; show celeborn-common/csrResolvers"
[info] * FileRepository(local, Patterns(ivyPatterns=Vector(/Users/fchen/.ivy2/local/[organisation]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)([branch]/)[revision]/[type]s/[artifact](-[classifier]).[ext]), artifactPatterns=Vector(/Users/fchen/.ivy2/local/[organisation]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)([branch]/)[revision]/[type]s/[artifact](-[classifier]).[ext]), isMavenCompatible=false, descriptorOptional=false, skipConsistencyCheck=false), FileConfiguration(true, None))
[info] * private: file:/dev/null
[info] * aliyun-maven: https://maven.aliyun.com/nexus/content/groups/public/
[info] * huawei-central: https://mirrors.huaweicloud.com/repository/maven/
[success] Total time: 0 s, completed 2023-8-1 11:40:25
```

```shell
> ./build/sbt -Pspark-3.3 "clean; show celeborn-client-spark-3/managedClasspath" | grep spark
[info] * Attributed(/Users/fchen/Library/Caches/Coursier/v1/https/mirrors.huaweicloud.com/repository/maven/org/apache/spark/spark-core_2.12/3.3.2/spark-core_2.12-3.3.2.jar)
[info] * Attributed(/Users/fchen/Library/Caches/Coursier/v1/https/mirrors.huaweicloud.com/repository/maven/org/apache/spark/spark-sql_2.12/3.3.2/spark-sql_2.12-3.3.2.jar)
[info] * Attributed(/Users/fchen/Library/Caches/Coursier/v1/https/mirrors.huaweicloud.com/repository/maven/org/apache/spark/spark-launcher_2.12/3.3.2/spark-launcher_2.12-3.3.2.jar)
[info] * Attributed(/Users/fchen/Library/Caches/Coursier/v1/https/mirrors.huaweicloud.com/repository/maven/org/apache/spark/spark-kvstore_2.12/3.3.2/spark-kvstore_2.12-3.3.2.jar)
[info] * Attributed(/Users/fchen/Library/Caches/Coursier/v1/https/mirrors.huaweicloud.com/repository/maven/org/apache/spark/spark-network-common_2.12/3.3.2/spark-network-common_2.12-3.3.2.jar)
[info] * Attributed(/Users/fchen/Library/Caches/Coursier/v1/https/mirrors.huaweicloud.com/repository/maven/org/apache/spark/spark-network-shuffle_2.12/3.3.2/spark-network-shuffle_2.12-3.3.2.jar)
[info] * Attributed(/Users/fchen/Library/Caches/Coursier/v1/https/mirrors.huaweicloud.com/repository/maven/org/apache/spark/spark-unsafe_2.12/3.3.2/spark-unsafe_2.12-3.3.2.jar)
[info] * Attributed(/Users/fchen/Library/Caches/Coursier/v1/https/mirrors.huaweicloud.com/repository/maven/org/apache/spark/spark-tags_2.12/3.3.2/spark-tags_2.12-3.3.2.jar)
[info] * Attributed(/Users/fchen/Library/Caches/Coursier/v1/https/mirrors.huaweicloud.com/repository/maven/org/spark-project/spark/unused/1.0.0/unused-1.0.0.jar)
[info] * Attributed(/Users/fchen/Library/Caches/Coursier/v1/https/mirrors.huaweicloud.com/repository/maven/org/apache/spark/spark-sketch_2.12/3.3.2/spark-sketch_2.12-3.3.2.jar)
[info] * Attributed(/Users/fchen/Library/Caches/Coursier/v1/https/mirrors.huaweicloud.com/repository/maven/org/apache/spark/spark-catalyst_2.12/3.3.2/spark-catalyst_2.12-3.3.2.jar)
```

after this PR

```shell
> ./build/sbt -Pspark-3.3 "clean; show celeborn-common/csrResolvers"
[success] Total time: 0 s, completed 2023-8-1 11:45:02
[info] * FileRepository(local, Patterns(ivyPatterns=Vector(/Users/fchen/.ivy2/local/[organisation]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)([branch]/)[revision]/[type]s/[artifact](-[classifier]).[ext]), artifactPatterns=Vector(/Users/fchen/.ivy2/local/[organisation]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)([branch]/)[revision]/[type]s/[artifact](-[classifier]).[ext]), isMavenCompatible=false, descriptorOptional=false, skipConsistencyCheck=false), FileConfiguration(true, None))
[info] * mavenLocal: file:/Users/fchen/.m2/repository/
[info] * private: file:/dev/null
[info] * aliyun-maven: https://maven.aliyun.com/nexus/content/groups/public/
[info] * huawei-central: https://mirrors.huaweicloud.com/repository/maven/
[success] Total time: 0 s, completed 2023-8-1 11:45:02
```

```shell
> ./build/sbt -Pspark-3.3 "clean; show celeborn-client-spark-3/managedClasspath" | grep spark
[info] * Attributed(/Users/fchen/.m2/repository/org/apache/spark/spark-core_2.12/3.3.2/spark-core_2.12-3.3.2.jar)
[info] * Attributed(/Users/fchen/.m2/repository/org/apache/spark/spark-sql_2.12/3.3.2/spark-sql_2.12-3.3.2.jar)
[info] * Attributed(/Users/fchen/.m2/repository/org/apache/spark/spark-launcher_2.12/3.3.2/spark-launcher_2.12-3.3.2.jar)
[info] * Attributed(/Users/fchen/.m2/repository/org/apache/spark/spark-kvstore_2.12/3.3.2/spark-kvstore_2.12-3.3.2.jar)
[info] * Attributed(/Users/fchen/.m2/repository/org/apache/spark/spark-network-common_2.12/3.3.2/spark-network-common_2.12-3.3.2.jar)
[info] * Attributed(/Users/fchen/.m2/repository/org/apache/spark/spark-network-shuffle_2.12/3.3.2/spark-network-shuffle_2.12-3.3.2.jar)
[info] * Attributed(/Users/fchen/.m2/repository/org/apache/spark/spark-unsafe_2.12/3.3.2/spark-unsafe_2.12-3.3.2.jar)
[info] * Attributed(/Users/fchen/.m2/repository/org/apache/spark/spark-tags_2.12/3.3.2/spark-tags_2.12-3.3.2.jar)
[info] * Attributed(/Users/fchen/.m2/repository/org/spark-project/spark/unused/1.0.0/unused-1.0.0.jar)
[info] * Attributed(/Users/fchen/.m2/repository/org/apache/spark/spark-sketch_2.12/3.3.2/spark-sketch_2.12-3.3.2.jar)
[info] * Attributed(/Users/fchen/.m2/repository/org/apache/spark/spark-catalyst_2.12/3.3.2/spark-catalyst_2.12-3.3.2.jar)
```

### Does this PR introduce _any_ user-facing change?

No

### How was this patch tested?

Pass GA

Closes #1780 from cfmcgrady/sbt-maven-local.

Authored-by: Fu Chen <cfmcgrady@gmail.com>
Signed-off-by: Cheng Pan <chengpan@apache.org>
2023-08-01 12:28:18 +08:00
Fu Chen
5f0295e9f3
[CELEBORN-836][BUILD] Initial support sbt
### What changes were proposed in this pull request?

This PR introduces the SBT build system implementation that operates independently from the current Maven build system. Different from https://github.com/apache/incubator-celeborn/pull/1627, the current implementation does not depend on `pom.xml`

The implementation enables packaging and testing functionalities for server-related modules and Spark-related modules using SBT.

For Flink-related build/test, sbt build documentation, continuous integration, and plugins, they will be submitted in separate PRs

### Why are the changes needed?

improve project build speed

packing the project.

```shell
$ ./build/sbt
sbt:celeborn> clean
[success] Total time: 1 s, completed 2023-7-25 16:36:12
sbt:celeborn> package
[success] Total time: 28 s, completed 2023-7-25 16:36:46
```

packing and shading the spark 3.3 client

```shell
$ ./build/sbt -Pspark-3.3
sbt:celeborn> clean
[success] Total time: 1 s, completed 2023-7-25 16:39:11
sbt:celeborn> project celeborn-client-spark-3-shaded
sbt:celeborn-client-spark-3-shaded> assembly
[success] Total time: 37 s, completed 2023-7-25 16:40:03
```

packing and shading the spark 2.4 client

```shell
$ ./build/sbt -Pspark-2.4
sbt:celeborn> clean
[success] Total time: 1 s, completed 2023-7-25 16:41:06
sbt:celeborn> project celeborn-client-spark-2-shaded
sbt:celeborn-client-spark-2-shaded> assembly
[success] Total time: 36 s, completed 2023-7-25 16:41:53
```

running server-related tests

```shell
$ ./build/sbt clean test
[success] Total time: 350 s (05:50), completed 2023-7-25 16:48:58
```

### Does this PR introduce _any_ user-facing change?

yes

### How was this patch tested?

tested locally

Closes #1757 from cfmcgrady/pure-sbt.

Authored-by: Fu Chen <cfmcgrady@gmail.com>
Signed-off-by: Cheng Pan <chengpan@apache.org>
2023-07-28 10:40:04 +08:00
Aravind Patnam
e708c3cd25
[CELEBORN-838] Add custom mvn flag to celeborn
### What changes were proposed in this pull request?
Add an option to pass in a custom maven installation, similar to how [Spark does it](https://github.com/apache/spark/blob/master/dev/make-distribution.sh#L65).

### Why are the changes needed?
We need this internally as some of our machines may not have access to external Maven.

### Does this PR introduce _any_ user-facing change?
No

### How was this patch tested?
ran make-distribution.sh to make sure it worked.

Closes #1761 from akpatnam25/CELEBORN-838.

Authored-by: Aravind Patnam <apatnam@linkedin.com>
Signed-off-by: Cheng Pan <chengpan@apache.org>
2023-07-26 09:51:30 +08:00
Cheng Pan
db66670253
[CELEBORN-649][BUILD] Speed up make-distribution.sh
### What changes were proposed in this pull request?

This PR aims to improve `build/make-distribution.sh` by

- skip building javadoc and source artifacts
- skip building unnecessary modules
- allow skipping client modules

### Why are the changes needed?

Speed up the packaging process.

### Does this PR introduce _any_ user-facing change?

No.

### How was this patch tested?

Tested with

```
build/make-distribution.sh
```

```
build/make-distribution.sh -Pspark-3.3
```

```
build/make-distribution.sh -Pflink-1.17
```

Closes #1561 from pan3793/CELEBORN-649.

Authored-by: Cheng Pan <chengpan@apache.org>
Signed-off-by: Cheng Pan <chengpan@apache.org>
2023-06-08 15:09:56 +08:00
zhongqiang.czq
3d9a28a98d
[CELEBORN-630] Binary release artifact should package all versions of Spark and Flink clients
…link version

### What changes were proposed in this pull request?

### Why are the changes needed?

### Does this PR introduce _any_ user-facing change?

### How was this patch tested?

Closes #1537 from zhongqiangczq/release-content.

Authored-by: zhongqiang.czq <zhongqiang.czq@alibaba-inc.com>
Signed-off-by: Cheng Pan <chengpan@apache.org>
2023-06-02 17:40:41 +08:00
Cheng Pan
df385bedd3
[CELEBORN-608][BUILD] Exclude macOS fflags in make-distribution.sh (#1513) 2023-05-25 14:25:13 +08:00
Cheng Pan
3cc296ef4f
[CELEBORN-589][INFRA] Using Apache CDN to download maven (#1492) 2023-05-17 15:46:38 +08:00
Cheng Pan
fd7d8361f6
[CELEBORN-377][BUILD] build/mvn should always respect maven.version defined in pom.xml (#1310) 2023-03-06 15:14:18 +08:00
Binjie Yang
2bb8e7a2a2
[CELEBORN-218][HELM] Move helm chart to dedicated directory (#1160) 2023-01-11 16:11:27 +08:00
Ethan Feng
1f95ccb55a
[CELEBORN-193][FOLLOWUP] Reduce unnecessary binary files. (#1142) 2023-01-05 15:04:44 +08:00
Shuang
33c2387594
[CELEBORN-175][BUILD] Include Flink client into the binary release tarball (#1120)
* [CELEBORN-175] with flink plugin when release packages

* improve

* flink use scala 2.11.x as default

* remove unused version align

* add space before end slash

* improve error message

* update default flink version
2023-01-05 10:31:32 +08:00
Cheng Pan
d8b6c7e24d
[CELEBORN-180][FOLLOWUP] Declare PROJECT_DIR before using 2023-01-03 16:44:07 +08:00
Cheng Pan
c9dcf312f8
[CELEBORN-186][BUILD] Auto upload/move release artifacts to svn (#1130) 2023-01-03 15:04:40 +08:00
Cheng Pan
a16ba0e807
[CELEBORN-180][BUILD] Script for creating binary release artifact (#1129) 2023-01-03 12:58:42 +08:00
Cheng Pan
932a6c2703
[CELEBORN-177] Script for creating source release artifact (#1122) 2022-12-29 18:04:54 +08:00
Ethan Feng
489ac422c8
[CELEBORN-166] Add LICENSE and NOTICE for binary release artifacts (#1114)
* [CELEBORN-166] Automate release build process.

* Update .gitignore

Co-authored-by: Cheng Pan <chengpan@apache.org>

* sort dependencies.

* remove dependency list.

* 1.add git ignore.
2.add notice binary.

* update.

* update.

* style.

* style.

* update.

* Revert "style."

This reverts commit b90eb94196a9080d04e732c6cfa5ddf8c570ce01.

* Revert "style."

This reverts commit ef7e70d33f4251f69631c9c4a3c571a714dd902c.

* partial revert 63ae9f6

* Revert "update."

This reverts commit 9fcb3580a229ac53b3b0b2a8e52a6a7f0ef7daad.

* move to release folder

Co-authored-by: Cheng Pan <chengpan@apache.org>
2022-12-29 11:07:30 +08:00
Cheng Pan
f1f4b894af
Build: Enhance build system (#349) 2022-08-15 14:59:01 +08:00