<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Config on Apache HugeGraph</title><link>https://hugegraph.apache.org/versions/1.5/docs/config/</link><description>Recent content in Config on Apache HugeGraph</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Thu, 25 Sep 2025 17:04:41 +0800</lastBuildDate><atom:link href="https://hugegraph.apache.org/versions/1.5/docs/config/index.xml" rel="self" type="application/rss+xml"/><item><title>HugeGraph configuration</title><link>https://hugegraph.apache.org/versions/1.5/docs/config/config-guide/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://hugegraph.apache.org/versions/1.5/docs/config/config-guide/</guid><description>&lt;h3 id="1-overview"&gt;1 Overview&#10;&lt;/h3&gt;&#10;&lt;p&gt;The directory for the configuration files is &lt;code&gt;hugegraph-release/conf&lt;/code&gt;, and all the configurations related to the service and the graph itself are located in this directory.&lt;/p&gt;&#10;&lt;p&gt;The main configuration files include &lt;code&gt;gremlin-server.yaml&lt;/code&gt;, &lt;code&gt;rest-server.properties&lt;/code&gt;, and &lt;code&gt;hugegraph.properties&lt;/code&gt;.&lt;/p&gt;&#10;&lt;p&gt;The &lt;code&gt;HugeGraphServer&lt;/code&gt; integrates the &lt;code&gt;GremlinServer&lt;/code&gt; and &lt;code&gt;RestServer&lt;/code&gt; internally, and &lt;code&gt;gremlin-server.yaml&lt;/code&gt; and &lt;code&gt;rest-server.properties&lt;/code&gt; are used to configure these two servers.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="http://tinkerpop.apache.org/docs/3.2.3/reference/#gremlin-server"&gt;GremlinServer&lt;/a&gt;: GremlinServer accepts Gremlin statements from users, parses them, and then invokes the Core code.&lt;/li&gt;&#10;&lt;li&gt;RestServer: It provides a RESTful API that, based on different HTTP requests, calls the corresponding Core API. If the user&amp;rsquo;s request body is a Gremlin statement, it will be forwarded to GremlinServer to perform operations on the graph data.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Now let&amp;rsquo;s introduce these three configuration files one by one.&lt;/p&gt;</description></item><item><title>HugeGraph Config Options</title><link>https://hugegraph.apache.org/versions/1.5/docs/config/config-option/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://hugegraph.apache.org/versions/1.5/docs/config/config-option/</guid><description>&lt;h3 id="gremlin-server-config-options"&gt;Gremlin Server Config Options&#10;&lt;/h3&gt;&#10;&lt;p&gt;Corresponding configuration file &lt;code&gt;gremlin-server.yaml&lt;/code&gt;&lt;/p&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;config option&lt;/th&gt;&#10; &lt;th scope="col"&gt;default value&lt;/th&gt;&#10; &lt;th scope="col"&gt;description&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;host&lt;/td&gt;&#10; &lt;td&gt;127.0.0.1&lt;/td&gt;&#10; &lt;td&gt;The host or ip of Gremlin Server.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;port&lt;/td&gt;&#10; &lt;td&gt;8182&lt;/td&gt;&#10; &lt;td&gt;The listening port of Gremlin Server.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;graphs&lt;/td&gt;&#10; &lt;td&gt;hugegraph: conf/hugegraph.properties&lt;/td&gt;&#10; &lt;td&gt;The map of graphs with name and config file path.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;scriptEvaluationTimeout&lt;/td&gt;&#10; &lt;td&gt;30000&lt;/td&gt;&#10; &lt;td&gt;The timeout for gremlin script execution(millisecond).&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;channelizer&lt;/td&gt;&#10; &lt;td&gt;org.apache.tinkerpop.gremlin.server.channel.HttpChannelizer&lt;/td&gt;&#10; &lt;td&gt;Indicates the protocol which the Gremlin Server provides service.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;authentication&lt;/td&gt;&#10; &lt;td&gt;authenticator: org.apache.hugegraph.auth.StandardAuthenticator, config: {tokens: conf/rest-server.properties}&lt;/td&gt;&#10; &lt;td&gt;The authenticator and config(contains tokens path) of authentication mechanism.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h3 id="rest-server--api-config-options"&gt;Rest Server &amp;amp; API Config Options&#10;&lt;/h3&gt;&#10;&lt;p&gt;Corresponding configuration file &lt;code&gt;rest-server.properties&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Built-in User Authentication and Authorization Configuration and Usage in HugeGraph</title><link>https://hugegraph.apache.org/versions/1.5/docs/config/config-authentication/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://hugegraph.apache.org/versions/1.5/docs/config/config-authentication/</guid><description>&lt;h3 id="overview"&gt;Overview&#10;&lt;/h3&gt;&#10;&lt;p&gt;To facilitate authentication usage in different user scenarios, HugeGraph currently provides built-in authorization &lt;code&gt;StandardAuthenticator&lt;/code&gt; mode,&#10;which supports multi-user authentication and fine-grained access control. It adopts a 4-layer design based on &amp;ldquo;User-UserGroup-Operation-Resource&amp;rdquo; to&#10;flexibly control user roles and permissions (supports multiple GraphServers).&lt;/p&gt;&#10;&lt;p&gt;Some key designs of the &lt;code&gt;StandardAuthenticator&lt;/code&gt; mode include:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;During initialization, a super administrator (&lt;code&gt;admin&lt;/code&gt;) user is created. Subsequently, other users can be created by the super administrator. Once newly created users are assigned sufficient permissions, they can create or manage more users.&lt;/li&gt;&#10;&lt;li&gt;It supports dynamic creation of users, user groups, and resources, as well as dynamic allocation or revocation of permissions.&lt;/li&gt;&#10;&lt;li&gt;Users can belong to one or multiple user groups. Each user group can have permissions to operate on any number of resources. The types of operations include read, write, delete, execute, and others.&lt;/li&gt;&#10;&lt;li&gt;&amp;ldquo;Resource&amp;rdquo; describes the data in the graph database, such as vertices that meet certain criteria. Each resource consists of three elements: &lt;code&gt;type&lt;/code&gt;, &lt;code&gt;label&lt;/code&gt;, and &lt;code&gt;properties&lt;/code&gt;. There are 18 types in total, with the ability to combine any label and properties. The internal condition of a resource is an AND relationship, while the condition between multiple resources is an OR relationship.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Here is an example to illustrate:&lt;/p&gt;</description></item><item><title>Configuring HugeGraphServer to Use HTTPS Protocol</title><link>https://hugegraph.apache.org/versions/1.5/docs/config/config-https/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://hugegraph.apache.org/versions/1.5/docs/config/config-https/</guid><description>&lt;h3 id="overview"&gt;Overview&#10;&lt;/h3&gt;&#10;&lt;p&gt;By default, HugeGraphServer uses the HTTP protocol. However, if you have security requirements for your requests, you can configure it to use HTTPS.&lt;/p&gt;&#10;&lt;h3 id="server-configuration"&gt;Server Configuration&#10;&lt;/h3&gt;&#10;&lt;p&gt;Modify the &lt;code&gt;conf/rest-server.properties&lt;/code&gt; configuration file and change the schema part of &lt;code&gt;restserver.url&lt;/code&gt; to &lt;code&gt;https&lt;/code&gt;.&lt;/p&gt;&#10;&lt;div class="td-code td-code--untitled" id="td-code-ff517a43-fence-0" data-td-code data-td-code-auto-id&#10; data-td-language="ini" data-td-line-count="6"&gt;&#10; &lt;div class="td-code__viewport" id="td-code-ff517a43-fence-0-viewport" data-td-code-viewport&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-ini" data-lang="ini"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Set the protocol to HTTPS&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;restserver.url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;https://127.0.0.1:8080&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Server keystore file path. This default value is automatically effective when using HTTPS, and you can modify it as needed.&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;ssl.keystore_file&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;conf/hugegraph-server.keystore&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Server keystore file password. This default value is automatically effective when using HTTPS, and you can modify it as needed.&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="na"&gt;ssl.keystore_password&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;******&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;The server&amp;rsquo;s &lt;code&gt;conf&lt;/code&gt; directory already includes a keystore file named &lt;code&gt;hugegraph-server.keystore&lt;/code&gt;, and the password for this file is &lt;code&gt;hugegraph&lt;/code&gt;. These are the default values when enabling the HTTPS protocol. Users can generate their own keystore file and password, and then modify the values of &lt;code&gt;ssl.keystore_file&lt;/code&gt; and &lt;code&gt;ssl.keystore_password&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>HugeGraph-Computer Config</title><link>https://hugegraph.apache.org/versions/1.5/docs/config/config-computer/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://hugegraph.apache.org/versions/1.5/docs/config/config-computer/</guid><description>&lt;h3 id="computer-config-options"&gt;Computer Config Options&#10;&lt;/h3&gt;&#10;&lt;div class="td-table-scroll td-table-scroll--static"&gt;&#10;&lt;table&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&#10; &lt;th scope="col"&gt;config option&lt;/th&gt;&#10; &lt;th scope="col"&gt;default value&lt;/th&gt;&#10; &lt;th scope="col"&gt;description&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;algorithm.message_class&lt;/td&gt;&#10; &lt;td&gt;org.apache.hugegraph.computer.core.config.Null&lt;/td&gt;&#10; &lt;td&gt;The class of message passed when compute vertex.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;algorithm.params_class&lt;/td&gt;&#10; &lt;td&gt;org.apache.hugegraph.computer.core.config.Null&lt;/td&gt;&#10; &lt;td&gt;The class used to transfer algorithms&amp;rsquo; parameters before algorithm been run.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;algorithm.result_class&lt;/td&gt;&#10; &lt;td&gt;org.apache.hugegraph.computer.core.config.Null&lt;/td&gt;&#10; &lt;td&gt;The class of vertex&amp;rsquo;s value, the instance is used to store computation result for the vertex.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;allocator.max_vertices_per_thread&lt;/td&gt;&#10; &lt;td&gt;10000&lt;/td&gt;&#10; &lt;td&gt;Maximum number of vertices per thread processed in each memory allocator&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;bsp.etcd_endpoints&lt;/td&gt;&#10; &lt;td&gt;http://localhost:2379&lt;/td&gt;&#10; &lt;td&gt;The end points to access etcd.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;bsp.log_interval&lt;/td&gt;&#10; &lt;td&gt;30000&lt;/td&gt;&#10; &lt;td&gt;The log interval(in ms) to print the log while waiting bsp event.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;bsp.max_super_step&lt;/td&gt;&#10; &lt;td&gt;10&lt;/td&gt;&#10; &lt;td&gt;The max super step of the algorithm.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;bsp.register_timeout&lt;/td&gt;&#10; &lt;td&gt;300000&lt;/td&gt;&#10; &lt;td&gt;The max timeout to wait for master and works to register.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;bsp.wait_master_timeout&lt;/td&gt;&#10; &lt;td&gt;86400000&lt;/td&gt;&#10; &lt;td&gt;The max timeout(in ms) to wait for master bsp event.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;bsp.wait_workers_timeout&lt;/td&gt;&#10; &lt;td&gt;86400000&lt;/td&gt;&#10; &lt;td&gt;The max timeout to wait for workers bsp event.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;hgkv.max_data_block_size&lt;/td&gt;&#10; &lt;td&gt;65536&lt;/td&gt;&#10; &lt;td&gt;The max byte size of hgkv-file data block.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;hgkv.max_file_size&lt;/td&gt;&#10; &lt;td&gt;2147483648&lt;/td&gt;&#10; &lt;td&gt;The max number of bytes in each hgkv-file.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;hgkv.max_merge_files&lt;/td&gt;&#10; &lt;td&gt;10&lt;/td&gt;&#10; &lt;td&gt;The max number of files to merge at one time.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;hgkv.temp_file_dir&lt;/td&gt;&#10; &lt;td&gt;/tmp/hgkv&lt;/td&gt;&#10; &lt;td&gt;This folder is used to store temporary files, temporary files will be generated during the file merging process.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;hugegraph.name&lt;/td&gt;&#10; &lt;td&gt;hugegraph&lt;/td&gt;&#10; &lt;td&gt;The graph name to load data and write results back.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;hugegraph.url&lt;/td&gt;&#10; &lt;td&gt;http://127.0.0.1:8080&lt;/td&gt;&#10; &lt;td&gt;The hugegraph url to load data and write results back.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;input.edge_direction&lt;/td&gt;&#10; &lt;td&gt;OUT&lt;/td&gt;&#10; &lt;td&gt;The data of the edge in which direction is loaded, when the value is BOTH, the edges in both OUT and IN direction will be loaded.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;input.edge_freq&lt;/td&gt;&#10; &lt;td&gt;MULTIPLE&lt;/td&gt;&#10; &lt;td&gt;The frequency of edges can exist between a pair of vertices, allowed values: [SINGLE, SINGLE_PER_LABEL, MULTIPLE]. SINGLE means that only one edge can exist between a pair of vertices, use sourceId + targetId to identify it; SINGLE_PER_LABEL means that each edge label can exist one edge between a pair of vertices, use sourceId + edgelabel + targetId to identify it; MULTIPLE means that many edge can exist between a pair of vertices, use sourceId + edgelabel + sortValues + targetId to identify it.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;input.filter_class&lt;/td&gt;&#10; &lt;td&gt;org.apache.hugegraph.computer.core.input.filter.DefaultInputFilter&lt;/td&gt;&#10; &lt;td&gt;The class to create input-filter object, input-filter is used to Filter vertex edges according to user needs.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;input.loader_schema_path&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;The schema path of loader input, only takes effect when the input.source_type=loader is enabled&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;input.loader_struct_path&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;The struct path of loader input, only takes effect when the input.source_type=loader is enabled&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;input.max_edges_in_one_vertex&lt;/td&gt;&#10; &lt;td&gt;200&lt;/td&gt;&#10; &lt;td&gt;The maximum number of adjacent edges allowed to be attached to a vertex, the adjacent edges will be stored and transferred together as a batch unit.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;input.source_type&lt;/td&gt;&#10; &lt;td&gt;hugegraph-server&lt;/td&gt;&#10; &lt;td&gt;The source type to load input data, allowed values: [&amp;lsquo;hugegraph-server&amp;rsquo;, &amp;lsquo;hugegraph-loader&amp;rsquo;], the &amp;lsquo;hugegraph-loader&amp;rsquo; means use hugegraph-loader load data from HDFS or file, if use &amp;lsquo;hugegraph-loader&amp;rsquo; load data then please config &amp;lsquo;input.loader_struct_path&amp;rsquo; and &amp;lsquo;input.loader_schema_path&amp;rsquo;.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;input.split_fetch_timeout&lt;/td&gt;&#10; &lt;td&gt;300&lt;/td&gt;&#10; &lt;td&gt;The timeout in seconds to fetch input splits&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;input.split_max_splits&lt;/td&gt;&#10; &lt;td&gt;10000000&lt;/td&gt;&#10; &lt;td&gt;The maximum number of input splits&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;input.split_page_size&lt;/td&gt;&#10; &lt;td&gt;500&lt;/td&gt;&#10; &lt;td&gt;The page size for streamed load input split data&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;input.split_size&lt;/td&gt;&#10; &lt;td&gt;1048576&lt;/td&gt;&#10; &lt;td&gt;The input split size in bytes&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;job.id&lt;/td&gt;&#10; &lt;td&gt;local_0001&lt;/td&gt;&#10; &lt;td&gt;The job id on Yarn cluster or K8s cluster.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;job.partitions_count&lt;/td&gt;&#10; &lt;td&gt;1&lt;/td&gt;&#10; &lt;td&gt;The partitions count for computing one graph algorithm job.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;job.partitions_thread_nums&lt;/td&gt;&#10; &lt;td&gt;4&lt;/td&gt;&#10; &lt;td&gt;The number of threads for partition parallel compute.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;job.workers_count&lt;/td&gt;&#10; &lt;td&gt;1&lt;/td&gt;&#10; &lt;td&gt;The workers count for computing one graph algorithm job.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;master.computation_class&lt;/td&gt;&#10; &lt;td&gt;org.apache.hugegraph.computer.core.master.DefaultMasterComputation&lt;/td&gt;&#10; &lt;td&gt;Master-computation is computation that can determine whether to continue next superstep. It runs at the end of each superstep on master.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;output.batch_size&lt;/td&gt;&#10; &lt;td&gt;500&lt;/td&gt;&#10; &lt;td&gt;The batch size of output&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;output.batch_threads&lt;/td&gt;&#10; &lt;td&gt;1&lt;/td&gt;&#10; &lt;td&gt;The threads number used to batch output&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;output.hdfs_core_site_path&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;The hdfs core site path.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;output.hdfs_delimiter&lt;/td&gt;&#10; &lt;td&gt;,&lt;/td&gt;&#10; &lt;td&gt;The delimiter of hdfs output.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;output.hdfs_kerberos_enable&lt;/td&gt;&#10; &lt;td&gt;false&lt;/td&gt;&#10; &lt;td&gt;Is Kerberos authentication enabled for Hdfs.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;output.hdfs_kerberos_keytab&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;The Hdfs&amp;rsquo;s key tab file for kerberos authentication.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;output.hdfs_kerberos_principal&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;The Hdfs&amp;rsquo;s principal for kerberos authentication.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;output.hdfs_krb5_conf&lt;/td&gt;&#10; &lt;td&gt;/etc/krb5.conf&lt;/td&gt;&#10; &lt;td&gt;Kerberos configuration file.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;output.hdfs_merge_partitions&lt;/td&gt;&#10; &lt;td&gt;true&lt;/td&gt;&#10; &lt;td&gt;Whether merge output files of multiple partitions.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;output.hdfs_path_prefix&lt;/td&gt;&#10; &lt;td&gt;/hugegraph-computer/results&lt;/td&gt;&#10; &lt;td&gt;The directory of hdfs output result.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;output.hdfs_replication&lt;/td&gt;&#10; &lt;td&gt;3&lt;/td&gt;&#10; &lt;td&gt;The replication number of hdfs.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;output.hdfs_site_path&lt;/td&gt;&#10; &lt;td&gt;&lt;/td&gt;&#10; &lt;td&gt;The hdfs site path.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;output.hdfs_url&lt;/td&gt;&#10; &lt;td&gt;hdfs://127.0.0.1:9000&lt;/td&gt;&#10; &lt;td&gt;The hdfs url of output.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;output.hdfs_user&lt;/td&gt;&#10; &lt;td&gt;hadoop&lt;/td&gt;&#10; &lt;td&gt;The hdfs user of output.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;output.output_class&lt;/td&gt;&#10; &lt;td&gt;org.apache.hugegraph.computer.core.output.LogOutput&lt;/td&gt;&#10; &lt;td&gt;The class to output the computation result of each vertex. Be called after iteration computation.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;output.result_name&lt;/td&gt;&#10; &lt;td&gt;value&lt;/td&gt;&#10; &lt;td&gt;The value is assigned dynamically by #name() of instance created by WORKER_COMPUTATION_CLASS.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;output.result_write_type&lt;/td&gt;&#10; &lt;td&gt;OLAP_COMMON&lt;/td&gt;&#10; &lt;td&gt;The result write-type to output to hugegraph, allowed values are: [OLAP_COMMON, OLAP_SECONDARY, OLAP_RANGE].&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;output.retry_interval&lt;/td&gt;&#10; &lt;td&gt;10&lt;/td&gt;&#10; &lt;td&gt;The retry interval when output failed&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;output.retry_times&lt;/td&gt;&#10; &lt;td&gt;3&lt;/td&gt;&#10; &lt;td&gt;The retry times when output failed&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;output.single_threads&lt;/td&gt;&#10; &lt;td&gt;1&lt;/td&gt;&#10; &lt;td&gt;The threads number used to single output&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;output.thread_pool_shutdown_timeout&lt;/td&gt;&#10; &lt;td&gt;60&lt;/td&gt;&#10; &lt;td&gt;The timeout seconds of output threads pool shutdown&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;output.with_adjacent_edges&lt;/td&gt;&#10; &lt;td&gt;false&lt;/td&gt;&#10; &lt;td&gt;Output the adjacent edges of the vertex or not&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;output.with_edge_properties&lt;/td&gt;&#10; &lt;td&gt;false&lt;/td&gt;&#10; &lt;td&gt;Output the properties of the edge or not&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;output.with_vertex_properties&lt;/td&gt;&#10; &lt;td&gt;false&lt;/td&gt;&#10; &lt;td&gt;Output the properties of the vertex or not&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;sort.thread_nums&lt;/td&gt;&#10; &lt;td&gt;4&lt;/td&gt;&#10; &lt;td&gt;The number of threads performing internal sorting.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;transport.client_connect_timeout&lt;/td&gt;&#10; &lt;td&gt;3000&lt;/td&gt;&#10; &lt;td&gt;The timeout(in ms) of client connect to server.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;transport.client_threads&lt;/td&gt;&#10; &lt;td&gt;4&lt;/td&gt;&#10; &lt;td&gt;The number of transport threads for client.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;transport.close_timeout&lt;/td&gt;&#10; &lt;td&gt;10000&lt;/td&gt;&#10; &lt;td&gt;The timeout(in ms) of close server or close client.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;transport.finish_session_timeout&lt;/td&gt;&#10; &lt;td&gt;0&lt;/td&gt;&#10; &lt;td&gt;The timeout(in ms) to finish session, 0 means using (transport.sync_request_timeout * transport.max_pending_requests).&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;transport.heartbeat_interval&lt;/td&gt;&#10; &lt;td&gt;20000&lt;/td&gt;&#10; &lt;td&gt;The minimum interval(in ms) between heartbeats on client side.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;transport.io_mode&lt;/td&gt;&#10; &lt;td&gt;AUTO&lt;/td&gt;&#10; &lt;td&gt;The network IO Mode, either &amp;lsquo;NIO&amp;rsquo;, &amp;lsquo;EPOLL&amp;rsquo;, &amp;lsquo;AUTO&amp;rsquo;, the &amp;lsquo;AUTO&amp;rsquo; means selecting the property mode automatically.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;transport.max_pending_requests&lt;/td&gt;&#10; &lt;td&gt;8&lt;/td&gt;&#10; &lt;td&gt;The max number of client unreceived ack, it will trigger the sending unavailable if the number of unreceived ack &amp;gt;= max_pending_requests.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;transport.max_syn_backlog&lt;/td&gt;&#10; &lt;td&gt;511&lt;/td&gt;&#10; &lt;td&gt;The capacity of SYN queue on server side, 0 means using system default value.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;transport.max_timeout_heartbeat_count&lt;/td&gt;&#10; &lt;td&gt;120&lt;/td&gt;&#10; &lt;td&gt;The maximum times of timeout heartbeat on client side, if the number of timeouts waiting for heartbeat response continuously &amp;gt; max_heartbeat_timeouts the channel will be closed from client side.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;transport.min_ack_interval&lt;/td&gt;&#10; &lt;td&gt;200&lt;/td&gt;&#10; &lt;td&gt;The minimum interval(in ms) of server reply ack.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;transport.min_pending_requests&lt;/td&gt;&#10; &lt;td&gt;6&lt;/td&gt;&#10; &lt;td&gt;The minimum number of client unreceived ack, it will trigger the sending available if the number of unreceived ack &amp;lt; min_pending_requests.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;transport.network_retries&lt;/td&gt;&#10; &lt;td&gt;3&lt;/td&gt;&#10; &lt;td&gt;The number of retry attempts for network communication,if network unstable.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;transport.provider_class&lt;/td&gt;&#10; &lt;td&gt;org.apache.hugegraph.computer.core.network.netty.NettyTransportProvider&lt;/td&gt;&#10; &lt;td&gt;The transport provider, currently only supports Netty.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;transport.receive_buffer_size&lt;/td&gt;&#10; &lt;td&gt;0&lt;/td&gt;&#10; &lt;td&gt;The size of socket receive-buffer in bytes, 0 means using system default value.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;transport.recv_file_mode&lt;/td&gt;&#10; &lt;td&gt;true&lt;/td&gt;&#10; &lt;td&gt;Whether enable receive buffer-file mode, it will receive buffer write file from socket by zero-copy if enable.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;transport.send_buffer_size&lt;/td&gt;&#10; &lt;td&gt;0&lt;/td&gt;&#10; &lt;td&gt;The size of socket send-buffer in bytes, 0 means using system default value.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;transport.server_host&lt;/td&gt;&#10; &lt;td&gt;127.0.0.1&lt;/td&gt;&#10; &lt;td&gt;The server hostname or ip to listen on to transfer data.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;transport.server_idle_timeout&lt;/td&gt;&#10; &lt;td&gt;360000&lt;/td&gt;&#10; &lt;td&gt;The max timeout(in ms) of server idle.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;transport.server_port&lt;/td&gt;&#10; &lt;td&gt;0&lt;/td&gt;&#10; &lt;td&gt;The server port to listen on to transfer data. The system will assign a random port if it&amp;rsquo;s set to 0.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;transport.server_threads&lt;/td&gt;&#10; &lt;td&gt;4&lt;/td&gt;&#10; &lt;td&gt;The number of transport threads for server.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;transport.sync_request_timeout&lt;/td&gt;&#10; &lt;td&gt;10000&lt;/td&gt;&#10; &lt;td&gt;The timeout(in ms) to wait response after sending sync-request.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;transport.tcp_keep_alive&lt;/td&gt;&#10; &lt;td&gt;true&lt;/td&gt;&#10; &lt;td&gt;Whether enable TCP keep-alive.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;transport.transport_epoll_lt&lt;/td&gt;&#10; &lt;td&gt;false&lt;/td&gt;&#10; &lt;td&gt;Whether enable EPOLL level-trigger.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;transport.write_buffer_high_mark&lt;/td&gt;&#10; &lt;td&gt;67108864&lt;/td&gt;&#10; &lt;td&gt;The high water mark for write buffer in bytes, it will trigger the sending unavailable if the number of queued bytes &amp;gt; write_buffer_high_mark.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;transport.write_buffer_low_mark&lt;/td&gt;&#10; &lt;td&gt;33554432&lt;/td&gt;&#10; &lt;td&gt;The low water mark for write buffer in bytes, it will trigger the sending available if the number of queued bytes &amp;lt; write_buffer_low_mark.org.apache.hugegraph.config.OptionChecker$$Lambda$97/0x00000008001c8440@776a6d9b&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;transport.write_socket_timeout&lt;/td&gt;&#10; &lt;td&gt;3000&lt;/td&gt;&#10; &lt;td&gt;The timeout(in ms) to write data to socket buffer.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;valuefile.max_segment_size&lt;/td&gt;&#10; &lt;td&gt;1073741824&lt;/td&gt;&#10; &lt;td&gt;The max number of bytes in each segment of value-file.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;worker.combiner_class&lt;/td&gt;&#10; &lt;td&gt;org.apache.hugegraph.computer.core.config.Null&lt;/td&gt;&#10; &lt;td&gt;Combiner can combine messages into one value for a vertex, for example page-rank algorithm can combine messages of a vertex to a sum value.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;worker.computation_class&lt;/td&gt;&#10; &lt;td&gt;org.apache.hugegraph.computer.core.config.Null&lt;/td&gt;&#10; &lt;td&gt;The class to create worker-computation object, worker-computation is used to compute each vertex in each superstep.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;worker.data_dirs&lt;/td&gt;&#10; &lt;td&gt;[jobs]&lt;/td&gt;&#10; &lt;td&gt;The directories separated by &amp;lsquo;,&amp;rsquo; that received vertices and messages can persist into.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;worker.edge_properties_combiner_class&lt;/td&gt;&#10; &lt;td&gt;org.apache.hugegraph.computer.core.combiner.OverwritePropertiesCombiner&lt;/td&gt;&#10; &lt;td&gt;The combiner can combine several properties of the same edge into one properties at inputstep.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;worker.partitioner&lt;/td&gt;&#10; &lt;td&gt;org.apache.hugegraph.computer.core.graph.partition.HashPartitioner&lt;/td&gt;&#10; &lt;td&gt;The partitioner that decides which partition a vertex should be in, and which worker a partition should be in.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;worker.received_buffers_bytes_limit&lt;/td&gt;&#10; &lt;td&gt;104857600&lt;/td&gt;&#10; &lt;td&gt;The limit bytes of buffers of received data, the total size of all buffers can&amp;rsquo;t excess this limit. If received buffers reach this limit, they will be merged into a file.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;worker.vertex_properties_combiner_class&lt;/td&gt;&#10; &lt;td&gt;org.apache.hugegraph.computer.core.combiner.OverwritePropertiesCombiner&lt;/td&gt;&#10; &lt;td&gt;The combiner can combine several properties of the same vertex into one properties at inputstep.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;worker.wait_finish_messages_timeout&lt;/td&gt;&#10; &lt;td&gt;86400000&lt;/td&gt;&#10; &lt;td&gt;The max timeout(in ms) message-handler wait for finish-message of all workers.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;worker.wait_sort_timeout&lt;/td&gt;&#10; &lt;td&gt;600000&lt;/td&gt;&#10; &lt;td&gt;The max timeout(in ms) message-handler wait for sort-thread to sort one batch of buffers.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;worker.write_buffer_capacity&lt;/td&gt;&#10; &lt;td&gt;52428800&lt;/td&gt;&#10; &lt;td&gt;The initial size of write buffer that used to store vertex or message.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td&gt;worker.write_buffer_threshold&lt;/td&gt;&#10; &lt;td&gt;52428800&lt;/td&gt;&#10; &lt;td&gt;The threshold of write buffer, exceeding it will trigger sorting, the write buffer is used to store vertex or message.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;h3 id="k8s-operator-config-options"&gt;K8s Operator Config Options&#10;&lt;/h3&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;NOTE: Option needs to be converted through environment variable settings, e.g. k8s.internal_etcd_url =&amp;gt; INTERNAL_ETCD_URL&lt;/p&gt;</description></item></channel></rss>