diff --git a/AGENTS.md b/AGENTS.md index a868739d84..4bebf0ac79 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -225,7 +225,7 @@ mvn test -pl hugegraph-server/hugegraph-test -am -P core-test,memory -Dtest=Your ### Working with Distributed Components -The distributed architecture (PD + Store) is in BETA. For distributed development: +For distributed development: 1. Build struct module first: `mvn install -pl hugegraph-struct -am -DskipTests` 2. Build PD: `mvn clean package -pl hugegraph-pd -am -DskipTests` 3. Build Store: `mvn clean package -pl hugegraph-store -am -DskipTests` diff --git a/README.md b/README.md index 2286ed0441..7c0ff31174 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,20 @@ achieved through the powerful [Gremlin](https://tinkerpop.apache.org/gremlin.htm - Integration with `Flink/Spark/HDFS`, and friendly to connect other big data platforms - Complete graph ecosystem (including both in/out-memory `Graph Computing` + `Graph Visualization & Tools` + `Graph Learning & AI`, see [here](#3-build-from-source)) +## Architecture + +HugeGraph supports both **standalone** and **distributed** deployments: + +| Module | Description | +|----------------------------------------|-----------------------------------------------------------------------------------------------------------| +| [hugegraph-server](hugegraph-server) | Core graph engine with REST API, Gremlin/Cypher support, and pluggable backends (RocksDB default) | +| [hugegraph-pd](hugegraph-pd) | Placement Driver for distributed mode - handles meta storage, partition management and cluster scheduling | +| [hugegraph-store](hugegraph-store) | Distributed storage with Raft consensus for high availability and horizontal scaling | +| [hugegraph-commons](hugegraph-commons) | Shared utilities, RPC framework and common components | + +- **Standalone**: HugeGraph Server + RocksDB (for all-in-one deployment) +- **Distributed**: HugeGraph Server + PD + Store (Raft + RocksDB by default) + ## Quick Start ### 1. Docker (For Test) @@ -39,7 +53,7 @@ Use Docker to quickly start a HugeGraph server with `RocksDB` (in the background ``` # (Optional) # - add "-e PRELOAD=true" to auto-load a sample graph -docker run -itd --name=graph -e PASSWORD=xxx -p 8080:8080 hugegraph/hugegraph:1.5.0 +docker run -itd --name=graph -e PASSWORD=xxx -p 8080:8080 hugegraph/hugegraph:1.7.0 ``` Please visit [doc page](https://hugegraph.apache.org/docs/quickstart/hugegraph-server/#3-deploy) or @@ -54,7 +68,7 @@ the [README](hugegraph-server/hugegraph-dist/docker/README.md) for more details. Visit [Download Page](https://hugegraph.apache.org/docs/download/download/) and refer the [doc](https://hugegraph.apache.org/docs/quickstart/hugegraph-server/#32-download-the-binary-tar-tarball) to download the latest release package and start the server. -**Note:** if you want to use it in the production environment or expose it to the public network, must enable the [AuthSystem](https://hugegraph.apache.org/docs/config/config-authentication/) to ensure safe. +**Note:** if you want to use it in the production environment or expose it to the public network, you must enable the [AuthSystem](https://hugegraph.apache.org/docs/config/config-authentication/) to ensure safety. ### 3. Build From Source @@ -64,7 +78,9 @@ steps to build the source code and start the server. The project [doc page](https://hugegraph.apache.org/docs/) contains more information on HugeGraph and provides detailed documentation for users. (Structure / Usage / API / Configs...) -And here are links of other **HugeGraph** component/repositories: +## Ecosystem + +Other **HugeGraph** components/repositories: 1. [hugegraph-toolchain](https://github.com/apache/hugegraph-toolchain) (graph tools **[loader](https://github.com/apache/hugegraph-toolchain/tree/master/hugegraph-loader)/[dashboard](https://github.com/apache/hugegraph-toolchain/tree/master/hugegraph-hubble)/[tool](https://github.com/apache/hugegraph-toolchain/tree/master/hugegraph-tools)/[client](https://github.com/apache/hugegraph-toolchain/tree/master/hugegraph-client)**) 2. [hugegraph-computer](https://github.com/apache/hugegraph-computer) (integrated **graph computing** system) diff --git a/hugegraph-pd/AGENTS.md b/hugegraph-pd/AGENTS.md index e1d915491d..0b501bf640 100644 --- a/hugegraph-pd/AGENTS.md +++ b/hugegraph-pd/AGENTS.md @@ -10,8 +10,6 @@ HugeGraph PD (Placement Driver) is a meta server for distributed HugeGraph deplo - Store node monitoring and scheduling - Metadata coordination using Raft consensus -**Status**: BETA (since HugeGraph 1.5.0) - **Technology Stack**: - Java 11+ (required) - Apache Maven 3.5+ diff --git a/hugegraph-server/hugegraph-dist/src/assembly/static/conf/rest-server.properties b/hugegraph-server/hugegraph-dist/src/assembly/static/conf/rest-server.properties index 1ee4e6e1ee..0dce972719 100644 --- a/hugegraph-server/hugegraph-dist/src/assembly/static/conf/rest-server.properties +++ b/hugegraph-server/hugegraph-dist/src/assembly/static/conf/rest-server.properties @@ -18,39 +18,12 @@ arthas.ip=127.0.0.1 arthas.disabled_commands=jad # authentication configs -# choose 'org.apache.hugegraph.auth.StandardAuthenticator' or -# 'org.apache.hugegraph.auth.ConfigAuthenticator' -#auth.authenticator= +#auth.authenticator=org.apache.hugegraph.auth.StandardAuthenticator # for admin password, By default, it is pa and takes effect upon the first startup #auth.admin_pa=pa - -# for StandardAuthenticator mode #auth.graph_store=hugegraph -# auth client config -#auth.remote_url=127.0.0.1:8899,127.0.0.1:8898,127.0.0.1:8897 - -# for ConfigAuthenticator mode -#auth.admin_token= -#auth.user_tokens=[] - -# TODO: Deprecated & removed later (useless from version 1.5.0) -# rpc server configs for multi graph-servers or raft-servers -#rpc.server_host=127.0.0.1 -#rpc.server_port=8091 -#rpc.server_timeout=30 - -# rpc client configs (like enable to keep cache consistency) -#rpc.remote_url=127.0.0.1:8091,127.0.0.1:8092,127.0.0.1:8093 -#rpc.client_connect_timeout=20 -#rpc.client_reconnect_period=10 -#rpc.client_read_timeout=40 -#rpc.client_retries=3 -#rpc.client_load_balancer=consistentHash - -# raft group initial peers -#raft.group_peers=127.0.0.1:8091,127.0.0.1:8092,127.0.0.1:8093 -# lightweight load balancing (beta) +# lightweight load balancing (TODO: legacy mode, remove soon) server.id=server-1 server.role=master # use pd diff --git a/hugegraph-server/hugegraph-dist/src/assembly/travis/run-api-test.sh b/hugegraph-server/hugegraph-dist/src/assembly/travis/run-api-test.sh index a9fe0671bb..3bf0d2d9ea 100755 --- a/hugegraph-server/hugegraph-dist/src/assembly/travis/run-api-test.sh +++ b/hugegraph-server/hugegraph-dist/src/assembly/travis/run-api-test.sh @@ -39,8 +39,10 @@ if [[ ! -e "$SERVER_DIR/ikanalyzer-2012_u6.jar" ]]; then fi # config rest-server -sed -i 's/#auth.authenticator=/auth.authenticator=org.apache.hugegraph.auth.StandardAuthenticator/' $REST_SERVER_CONF -sed -i 's/#auth.admin_token=/auth.admin_token=pa/' $REST_SERVER_CONF +sed -i '/^#*auth\.authenticator=/d' $REST_SERVER_CONF +sed -i '/^#*auth\.admin_token=/d' $REST_SERVER_CONF +echo "auth.authenticator=org.apache.hugegraph.auth.StandardAuthenticator" >> $REST_SERVER_CONF +echo "auth.admin_token=pa" >> $REST_SERVER_CONF # config hugegraph.properties sed -i 's/gremlin.graph=.*/gremlin.graph=org.apache.hugegraph.auth.HugeFactoryAuthProxy/' $CONF diff --git a/hugegraph-store/AGENTS.md b/hugegraph-store/AGENTS.md index 86b28deaf9..97efa22fd7 100644 --- a/hugegraph-store/AGENTS.md +++ b/hugegraph-store/AGENTS.md @@ -6,8 +6,6 @@ This file provides guidance to an AI coding tool when working with code in this HugeGraph Store is a distributed storage backend for Apache HugeGraph, using RocksDB as the underlying storage engine with Raft consensus protocol for distributed coordination. It is designed for production-scale deployments requiring high availability and horizontal scalability. -**Status**: BETA (active development since version 1.5.0) - **Technology Stack**: - Java 11+ - RocksDB: Embedded key-value storage engine @@ -302,14 +300,6 @@ Store integrates with other HugeGraph components: ## Special Notes -### BETA Status - -HugeGraph Store is in BETA: -- Active development and API may change -- Production use requires thorough testing -- Monitor GitHub issues for known problems -- Recommended for new deployments; RocksDB backend available as stable alternative - ### Performance Tuning Key performance factors: diff --git a/hugegraph-store/README.md b/hugegraph-store/README.md index 23935b3af4..ba41ab95ca 100644 --- a/hugegraph-store/README.md +++ b/hugegraph-store/README.md @@ -475,6 +475,4 @@ HugeGraph Store is licensed under the [Apache License 2.0](https://www.apache.or --- -**Status**: BETA (from v1.5.0+) - -HugeGraph Store is under active development. While suitable for production use, APIs and configurations may evolve. Please report issues via GitHub or the mailing list. +HugeGraph Store is under active development. Please report issues via GitHub or the mailing list.