jerryshao commented on code in PR #4113: URL: https://github.com/apache/gravitino/pull/4113#discussion_r1701738038
########## docs/iceberg-rest-service.md: ########## @@ -12,62 +12,84 @@ The Apache Gravitino Iceberg REST Server follows the [Apache Iceberg REST API sp ### Capabilities -- Supports the Apache Iceberg REST API defined in Iceberg 1.3.1, and supports all namespace and table interfaces. `Token`, and `Config` interfaces aren't supported yet. +- Supports the Apache Iceberg REST API defined in Iceberg 1.5, and supports all namespace and table interfaces. The following interfaces are not implemented yet: + - token + - view + - multi table transaction + - pagination - Works as a catalog proxy, supporting `Hive` and `JDBC` as catalog backend. - Provides a pluggable metrics store interface to store and delete Iceberg metrics. -- When writing to HDFS, the Gravitino Iceberg REST catalog service can only operate as the specified HDFS user and - doesn't support proxying to other HDFS users. See [How to access Apache Hadoop](gravitino-server-config.md#how-to-access-apache-hadoop) for more details. +- Supports HDFS and S3 storage. :::info -Builds with Apache Iceberg `1.3.1`. The Apache Iceberg table format version is `1` by default. Builds with Hadoop 2.10.x. There may be compatibility issues when accessing Hadoop 3.x clusters. ::: -## Apache Gravitino Iceberg REST catalog service configuration - -Assuming the Gravitino server is deployed in the `GRAVITINO_HOME` directory, you can locate the configuration options in [`$GRAVITINO_HOME/conf/gravitino.conf`](gravitino-server-config.md). There are four configuration properties for the Iceberg REST catalog service: +## Server management + +There are three deployment scenarios for Gravitino Iceberg REST server: +- As a standalone server within the Gravitino Iceberg REST server package. +- As a standalone server within the Gravitino server package. +- As an auxiliary service within the Gravitino server. + +For detailed instructions on how to build and install the Gravitino server package, please refer to [How to build](how-to-build.md) and [How to install](how-to-install.md) . To build the Gravitino Iceberg REST server package, use the command `./gradlew compileIcebergRESTServer -x test`. Alternatively, to create the corresponding compressed package in the distribution directory, use `./gradlew assembleIcebergRESTServer -x test`. The Gravitino Iceberg REST server package includes the following files: + +```text +|── ... +└── distribution/gravitino-iceberg-rest-server + |── bin/ + | └── gravitino-iceberg-rest-server.sh # Gravitino Iceberg REST server Launching scripts. + |── conf/ # All configurations for Gravitino Iceberg REST server. + | ├── gravitino-iceberg-rest-server.conf # Gravitino Iceberg REST server configuration. + | ├── gravitino-env.sh # Environment variables, etc., JAVA_HOME, GRAVITINO_HOME, and more. + | └── log4j2.properties # log4j configuration for the Gravitino Iceberg REST server. + | └── hdfs-site.xml & core-site.xml # HDFS configuration files. + |── libs/ # Gravitino Iceberg REST server dependencies libraries. + |── logs/ # Gravitino Iceberg REST server logs. Automatically created after the server starts. +``` -1. [**REST Catalog Server Configuration**](#rest-catalog-server-configuration): you can specify the HTTP server properties like host and port. +## Apache Gravitino Iceberg REST catalog server configuration -2. [**Gravitino Iceberg metrics store Configuration**](#iceberg-metrics-store-configuration): you could implement a custom Iceberg metrics store and set corresponding configuration. +There are distinct configuration files for standalone and auxiliary server: `gravitino-iceberg-rest-server.conf` is used for the standalone server, while `gravitino.conf` is for the auxiliary server. Although the configuration files differ, the configuration items remain the same. Starting with version `0.6.0`, the prefix `gravitino.auxService.iceberg-rest.` for auxiliary server configurations has been deprecated. If both `gravitino.auxService.iceberg-rest.key` and `gravitino.iceberg-rest.key` are present, the latter will take precedence. The configurations listed below use the `gravitino.iceberg-rest.` prefix. Review Comment: ``` `gravitino.conf` is for auxiliary service. Configurations for these two modes are the same. Starting from version 0.6.0.... ``` Separate these long sentence into two paragraphs. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
