update java version to 4.00

Chris Lu
2025-11-26 18:26:31 -08:00
parent 1a62d7b535
commit 3969eeaa76
7 changed files with 30 additions and 53 deletions
+1 -1
@@ -41,4 +41,4 @@ SeaweedFS uses GRPC internally. You can use them too. Just check https://github.
When developing HDFS compatible file system, which allows replacing HDFS with SeaweedFS, a Java implementation of the GRPC client API is developed.
* Java GRPC client Source code: https://github.com/seaweedfs/seaweedfs/tree/master/other/java/client
* Java GRPC client Maven Repo: https://mvnrepository.com/artifact/com.github.chrislusf/seaweedfs-client
* Java GRPC client Maven Repo: https://mvnrepository.com/artifact/com.seaweedfs/seaweedfs-client
+1 -1
@@ -26,7 +26,7 @@ Then get the seaweedfs hadoop client jar.
```
cd share/hadoop/common/lib/
wget https://oss.sonatype.org/service/local/repositories/releases/content/com/github/chrislusf/seaweedfs-hadoop2-client/3.59/seaweedfs-hadoop2-client-3.59.jar
wget https://oss.sonatype.org/service/local/repositories/releases/content/com/seaweedfs/seaweedfs-hadoop3-client/4.00/seaweedfs-hadoop3-client-4.00.jar
```
# TestDFSIO Benchmark
+11 -34
@@ -7,47 +7,31 @@ SeaweedFS excels on small files and has no issue to store large files. Now it is
$cd $GOPATH/src/github.com/seaweedfs/seaweedfs/other/java/client
$ mvn install
# build for hadoop2
$cd $GOPATH/src/github.com/seaweedfs/seaweedfs/other/java/hdfs2
$ mvn package
$ ls -al target/seaweedfs-hadoop2-client-3.59.jar
# build for hadoop3
$cd $GOPATH/src/github.com/seaweedfs/seaweedfs/other/java/hdfs3
$ mvn package
$ ls -al target/seaweedfs-hadoop3-client-3.59.jar
$ ls -al target/seaweedfs-hadoop3-client-4.00.jar
```
Maven
```
<dependency>
<groupId>com.github.chrislusf</groupId>
<groupId>com.seaweedfs</groupId>
<artifactId>seaweedfs-hadoop3-client</artifactId>
<version>3.59</version>
</dependency>
or
<dependency>
<groupId>com.github.chrislusf</groupId>
<artifactId>seaweedfs-hadoop2-client</artifactId>
<version>3.59</version>
<version>4.00</version>
</dependency>
```
Or you can download the latest version from MavenCentral
* https://mvnrepository.com/artifact/com.github.chrislusf/seaweedfs-hadoop2-client
* [seaweedfs-hadoop2-client-3.59.jar](https://oss.sonatype.org/service/local/repositories/releases/content/com/github/chrislusf/seaweedfs-hadoop2-client/3.59/seaweedfs-hadoop2-client-3.59.jar)
* https://mvnrepository.com/artifact/com.github.chrislusf/seaweedfs-hadoop3-client
* [seaweedfs-hadoop3-client-3.59.jar](https://oss.sonatype.org/service/local/repositories/releases/content/com/github/chrislusf/seaweedfs-hadoop3-client/3.59/seaweedfs-hadoop3-client-3.59.jar)
* https://mvnrepository.com/artifact/com.seaweedfs/seaweedfs-hadoop3-client
* [seaweedfs-hadoop3-client-4.00.jar](https://oss.sonatype.org/service/local/repositories/releases/content/com.seaweedfs/seaweedfs-hadoop3-client/4.00/seaweedfs-hadoop3-client-4.00.jar)
# Test SeaweedFS on Hadoop
Suppose you are getting a new Hadoop installation. Here are the minimum steps to get SeaweedFS to run.
You would need to start a weed filer first, build the seaweedfs-hadoop2-client-3.59.jar
or seaweedfs-hadoop3-client-3.59.jar, and do the following:
You would need to start a weed filer first, build the seaweedfs-hadoop3-client-4.00.jar, and do the following:
```
# optionally adjust hadoop memory allocation
@@ -57,15 +41,10 @@ $ cd ${HADOOP_HOME}
# create etc/hadoop/mapred-site.xml, just to satisfy hdfs dfs. skip this if the file already exists.
$ echo "<configuration></configuration>" > etc/hadoop/mapred-site.xml
# on hadoop2
# on hadoop3
$ bin/hdfs dfs -Dfs.defaultFS=seaweedfs://localhost:8888 \
-Dfs.seaweedfs.impl=seaweed.hdfs.SeaweedFileSystem \
-libjars ./seaweedfs-hadoop2-client-3.59.jar \
-ls /
# or on hadoop3
$ bin/hdfs dfs -Dfs.defaultFS=seaweedfs://localhost:8888 \
-Dfs.seaweedfs.impl=seaweed.hdfs.SeaweedFileSystem \
-libjars ./seaweedfs-hadoop3-client-3.59.jar \
-libjars ./seaweedfs-hadoop3-client-4.00.jar \
-ls /
```
@@ -104,17 +83,15 @@ Both reads and writes are working fine.
</property>
</configuration>
```
* Deploy the SeaweedFS HDFS client jar
# Deploy the SeaweedFS HDFS client jar
```
# Run the classpath command to get the list of directories in the classpath
$ bin/hadoop classpath
# Copy SeaweedFS HDFS client jar to one of the folders
$ cd ${HADOOP_HOME}
# for hadoop2
$ cp ./seaweedfs-hadoop2-client-3.59.jar share/hadoop/common/lib/
# or for hadoop3
$ cp ./seaweedfs-hadoop3-client-3.59.jar share/hadoop/common/lib/
# for hadoop3
$ cp ./seaweedfs-hadoop3-client-4.00.jar share/hadoop/common/lib/
```
Now you can do this:
+5 -5
@@ -5,10 +5,10 @@ The installation steps are divided into 2 steps:
* https://cwiki.apache.org/confluence/display/Hive/AdminManual+Metastore+Administration
### Configure Hive Metastore to support SeaweedFS
1. Copy the seaweedfs-hadoop2-client-3.59.jar to hive lib directory,for example:
1. Copy the seaweedfs-hadoop3-client-4.00.jar to hive lib directory,for example:
```
cp seaweedfs-hadoop2-client-3.59.jar /opt/hadoop/share/hadoop/common/lib/
cp seaweedfs-hadoop2-client-3.59.jar /opt/hive-metastore/lib/
cp seaweedfs-hadoop3-client-4.00.jar /opt/hadoop/share/hadoop/common/lib/
cp seaweedfs-hadoop3-client-4.00.jar /opt/hive-metastore/lib/
```
2. Modify core-site.xml
modify core-site.xml to support SeaweedFS, 30888 is the filer port
@@ -50,9 +50,9 @@ metastore.thrift.port is the access port exposed by the Hive Metadata service it
Follow instructions for installation of Presto:
* https://prestosql.io/docs/current/installation/deployment.html
### Configure Presto to support SeaweedFS
1. Copy the seaweedfs-hadoop2-client-3.59.jar to Presto directory,for example:
1. Copy the seaweedfs-hadoop3-client-4.00.jar to Presto directory,for example:
```
cp seaweedfs-hadoop2-client-3.59.jar /opt/presto-server-347/plugin/hive-hadoop2/
cp seaweedfs-hadoop3-client-4.00.jar /opt/presto-server-347/plugin/hive-hadoop3/
```
2. Modify core-site.xml
+4 -4
@@ -13,20 +13,20 @@ $ mvn install
Gradle
```gradle
implementation 'com.github.chrislusf:seaweedfs-client:3.59'
implementation 'com.seaweedfs:seaweedfs-client:4.00'
```
Maven
```xml
<dependency>
<groupId>com.github.chrislusf</groupId>
<groupId>com.seaweedfs</groupId>
<artifactId>seaweedfs-client</artifactId>
<version>3.59</version>
<version>4.00</version>
</dependency>
```
Or you can download the latest version from MavenCentral
https://mvnrepository.com/artifact/com.github.chrislusf/seaweedfs-client
https://mvnrepository.com/artifact/com.seaweedfs/seaweedfs-client
## Features
+1 -1
@@ -1,7 +1,7 @@
# Installation for HBase
Two steps to run HBase on SeaweedFS
1. Copy the seaweedfs-hadoop2-client-3.59.jar to `${HBASE_HOME}/lib`
1. Copy the seaweedfs-hadoop3-client-4.00.jar to `${HBASE_HOME}/lib`
1. And add the following 2 properties in `${HBASE_HOME}/conf/hbase-site.xml`
```
+7 -7
@@ -11,12 +11,12 @@ To make these files visible to Spark, set HADOOP_CONF_DIR in $SPARK_HOME/conf/sp
## installation not inheriting from Hadoop cluster configuration
Copy the seaweedfs-hadoop2-client-3.59.jar to all executor machines.
Copy the seaweedfs-hadoop3-client-4.00.jar to all executor machines.
Add the following to spark/conf/spark-defaults.conf on every node running Spark
```
spark.driver.extraClassPath=/path/to/seaweedfs-hadoop2-client-3.59.jar
spark.executor.extraClassPath=/path/to/seaweedfs-hadoop2-client-3.59.jar
spark.driver.extraClassPath=/path/to/seaweedfs-hadoop3-client-4.00.jar
spark.executor.extraClassPath=/path/to/seaweedfs-hadoop3-client-4.00.jar
```
And modify the configuration at runtime:
@@ -37,8 +37,8 @@ And modify the configuration at runtime:
1. change the spark-defaults.conf
```
spark.driver.extraClassPath=/Users/chris/go/src/github.com/seaweedfs/seaweedfs/other/java/hdfs2/target/seaweedfs-hadoop2-client-3.59.jar
spark.executor.extraClassPath=/Users/chris/go/src/github.com/seaweedfs/seaweedfs/other/java/hdfs2/target/seaweedfs-hadoop2-client-3.59.jar
spark.driver.extraClassPath=/Users/chris/go/src/github.com/seaweedfs/seaweedfs/other/java/hdfs3/target/seaweedfs-hadoop3-client-4.00.jar
spark.executor.extraClassPath=/Users/chris/go/src/github.com/seaweedfs/seaweedfs/other/java/hdfs3/target/seaweedfs-hadoop3-client-4.00.jar
spark.hadoop.fs.seaweedfs.impl=seaweed.hdfs.SeaweedFileSystem
```
@@ -81,8 +81,8 @@ spark.history.fs.cleaner.enabled=true
spark.history.fs.logDirectory=seaweedfs://localhost:8888/spark2-history/
spark.eventLog.dir=seaweedfs://localhost:8888/spark2-history/
spark.driver.extraClassPath=/Users/chris/go/src/github.com/seaweedfs/seaweedfs/other/java/hdfs2/target/seaweedfs-hadoop2-client-3.59.jar
spark.executor.extraClassPath=/Users/chris/go/src/github.com/seaweedfs/seaweedfs/other/java/hdfs2/target/seaweedfs-hadoop2-client-3.59.jar
spark.driver.extraClassPath=/Users/chris/go/src/github.com/seaweedfs/seaweedfs/other/java/hdfs3/target/seaweedfs-hadoop3-client-4.00.jar
spark.executor.extraClassPath=/Users/chris/go/src/github.com/seaweedfs/seaweedfs/other/java/hdfs3/target/seaweedfs-hadoop3-client-4.00.jar
spark.hadoop.fs.seaweedfs.impl=seaweed.hdfs.SeaweedFileSystem
spark.hadoop.fs.defaultFS=seaweedfs://localhost:8888
```