This is an automated email from the ASF dual-hosted git repository.

liyang pushed a commit to branch doc5.0
in repository https://gitbox.apache.org/repos/asf/kylin.git


The following commit(s) were added to refs/heads/doc5.0 by this push:
     new 1ebd8adce9 Refine the content of configuration
1ebd8adce9 is described below

commit 1ebd8adce952387f6c8633b28e9650c9ba466720
Author: Pengfei Zhan <[email protected]>
AuthorDate: Thu Sep 12 17:48:54 2024 +0800

    Refine the content of configuration
---
 website/docs/configuration/configuration.md        | 217 ++++++++++-----------
 website/docs/configuration/hadoop_queue_config.md  |  20 +-
 website/docs/configuration/https.md                |  12 +-
 website/docs/configuration/intro.md                |  17 +-
 website/docs/configuration/log_rotate.md           |  42 ++--
 website/docs/configuration/query_cache.md          |  53 +++--
 .../docs/configuration/spark_dynamic_allocation.md |  91 ++++-----
 website/docs/configuration/spark_rpc_encryption.md |  49 +++--
 website/docs/quickstart/intro.md                   |  31 ++-
 website/sidebars.js                                |  15 +-
 10 files changed, 260 insertions(+), 287 deletions(-)

diff --git a/website/docs/configuration/configuration.md 
b/website/docs/configuration/configuration.md
index 11ce05b59c..44616b7783 100644
--- a/website/docs/configuration/configuration.md
+++ b/website/docs/configuration/configuration.md
@@ -11,118 +11,109 @@ keywords:
     - Basic Configuration
 draft: false
 last_update:
-    date: 09/13/2022
+    date: 09/12/2024
 ---
 
-This chapter will introduce some common configurations, the main contents are 
as follows:
+This chapter provides an in-depth look at frequently used configurations in 
Kylin. The following sections outline the main topics covered:
 
-- [Common Configuration](#conf)
-- [Configuration Override](#override)
-- [JVM Configuration Setting](#jvm)
-- [Kylin Warm Start after Config Parameters Modified](#update)
-- [Recommended Configurations for Production](#min_prod)
-- [Spark-related Configuration](#spark)
-- [Spark Context Canary Configuration](#spark_canary)
+### Kylin Properties File
 
-
-
-### <span id="conf">Common Configuration</span>
-
-The file **kylin.properties** occupies some of the most important 
configurations in Kylin. This section will give detailed explanations of some 
common properties.  
+The `kylin.properties` file is a crucial configuration file in Kylin, 
containing key settings that impact the application's behavior. This section 
provides an in-depth explanation of commonly used properties, enabling you to 
optimize your Kylin setup.
 
 | Properties                                                   | Description   
                                               |
 | ------------------------------------------------------------ | 
------------------------------------------------------------ |
-| server.port                                                  | This 
parameter specifies the port used by the Kylin service. The default is `7070`. |
-| server.address                                               | This 
parameter specifies the address used by the Kylin service. The default is 
`0.0.0.0`. |
+| kylin.circuit-breaker.threshold.model                        | The maximum 
number of models allowed to be created in a single project, the default value 
is `100` |
+| kylin.circuit-breaker.threshold.project                      | The maximum 
number of projects allowed to be created, the default value is `100` |
+| kylin.circuit-breaker.threshold.query-result-row-count       | This 
parameter is the maximum number of rows in the result set returned by the SQL 
query. The default is `2000000`. If the maximum number of rows is exceeded, the 
backend will throw an exception |
+| kylin.diag.task-timeout                                      | The subtask 
timeout time for the diagnostic package, whose default value is 3 minutes |
+| kylin.diag.task-timeout-black-list                           | Diagnostic 
package subtask timeout blacklist (the values are separated by commas). The 
subtasks in the blacklist will be skipped by the timeout settings and will run 
until it finished. The default value is `METADATA`, `LOG` <br />The optional 
value is as below: <br />METADATA, AUDIT_LOG, CLIENT, JSTACK, CONF, 
HADOOP_CONF, BIN, HADOOP_ENV, CATALOG_INFO, SYSTEM_METRICS, MONITOR_METRICS, 
SPARK_LOGS, SPARDER_HISTORY, KG_LOGS, L [...]
+| kylin.diag.obf.level                                         | The 
desensitization level of the diagnostic package. `RAW` means no 
desensitization, `OBF` means desensitization. Configuring `OBF` will 
desensitize sensitive information such as usernames and passwords in the 
`kylin.properties` file (please refer to the [Diagnosis Kit 
Tool](../operations/system-operation/cli_tool/diagnosis.md) chapter), The 
default value is `OBF`. |
+| kylin.engine.sanity-check-enabled                            | Configure 
Kylin whether to open Sanity Check during indexes building. The default value 
is `true` |
+| kylin.engine.spark-conf.spark.driver.host                    | Configure the 
IP of the node where the Kylin is located |
+| kylin.engine.spark-conf.spark.sql.view-truncate-enabled=true | Allow spark 
view to lose precision during construction, the default value is false |
+| kylin.env                                                    | The usage of 
the Kylin instance is specified by this property. Optional values include 
`DEV`, `PROD` and `QA`, among them `PROD` is the default one. In `DEV` mode 
some developer functions are enabled. |
 | kylin.env.ip-address                                         | When the 
network address of the node where the Kylin service is located has the ipv6 
format, you can specify the ipv4 format through this configuration item. The 
default is `0.0.0.0` |
 | kylin.env.hdfs-working-dir                                   | Working path 
of Kylin instance on HDFS is specified by this property. The default value is 
`/kylin` on HDFS, with table name in metadata path as the sub-directory. For 
example, suppose the metadata path is `kylin_metadata@jdbc`, the HDFS default 
path should be `/kylin/kylin_metadata`. Please make sure the user running Kylin 
instance has read/write permissions on that directory. |
 | kylin.env.zookeeper-connect-string                           | This 
parameter specifies the address of ZooKeeper. There is no default value. **This 
parameter must be manually configured before starting Kylin instance**, 
otherwise Kylin will not start. |
+| kylin.garbage.storage.cuboid-layout-survival-time-threshold  | This property 
specifies the threshold of invalid files on HDFS. When executing the command 
line tool to clean up the garbage, invalid files on HDFS that exceed this 
threshold will be cleaned up. The default value is `7d`, which means 7 days. 
Invalid files on HDFS include expired indexes, expired snapshots, expired 
dictionaries, etc. At the same time, indexes with lower cost performance will 
be cleaned up according to the in [...]
+| kylin.garbage.storage.executable-survival-time-threshold     | This property 
specifies the threshold for the expired job. The metadata of jobs that have 
exceeded this threshold and have been completed will be cleaned up. The default 
is `30d`, which means 30 days. |
+| kylin.influxdb.address                                       | This property 
specifies the address of InfluxDB. The default is `localhost:8086`. |
+| kylin.influxdb.password                                      | This property 
specifiess the password of InfluxDB. The default is `root`. |
+| kylin.influxdb.username                                      | This property 
specifies the username of InfluxDB. The defaul is `root`. |
+| kylin.job.finished-notifier-url                              | When the 
building job is completed, the job status information will be sent to the url 
via HTTP request |
+| kylin.job.max-concurrent-jobs                                | Kylin has a 
default concurrency limit of **20** for jobs in a single project. If there are 
already too many running jobs reaching the limit, the new submitted job will be 
added into job queue. Once one running job finishes, jobs in the queue will be 
scheduled using FIFO mechanism. |
+| kylin.job.retry                                              | This property 
specifies the auto retry times for error jobs. The default value is 0, which 
means job will not auto retry when it's in error. Set a value greater than 0 to 
enable this property and it applies on every step within a job and it will be 
reset if that step is finished. |
+| kylin.job.retry-interval                                     | This property 
specifies the time interval to retry an error job and the default value is 
`30000` ms. This property is valid only when the job retry property is set to 
be 1 or above. |
 | kylin.metadata.url                                           | Kylin 
metadata path is specified by this property. The default value is 
`kylin_metadata` table in PostgreSQL while users can customize it to store 
metadata into any other table. When deploying multiple Kylin instances on a 
cluster, it's necessary to specify a unique path for each of them to guarantee 
the isolation among them. For example, the value of this property for 
Production instance could be `kylin_metadata_prod`, whi [...]
 | kylin.metadata.ops-cron                                      | This 
parameter specifies the timing task cron expression for timed backup metadata 
and garbage cleanup. The default value is `0 0 0 * * *`. |
 | kylin.metadata.audit-log.max-size                            | This 
parameter specifies the maximum number of rows in the audit-log. The default 
value is `500000`. |
 | kylin.metadata.compress.enabled                              | This 
parameter specifies whether to compress the contents of metadata and audit log. 
The default value is `true`. |
-| kylin.server.mode                                            | There are 
three modes in Kylin, `all` , `query` and `job`, and you can change it by 
modifying the property. The default value is `all`. For `query` mode, it can 
only serves queries. For`job` mode, it can run building jobs and execute 
metadata operations and cannot serve queries. `all` mode can handle both of 
them. |
-| kylin.web.timezone                                           | Time zone 
used for Kylin Rest service is specified by this property. The default value is 
the time zone of the local machine's system. You can change it according to the 
requirement of your application. For more details, please refer to 
https://en.wikipedia.org/wiki/List_of_tz_database_time_zones with the `TZ 
database name` column. |
-| kylin.web.export-allow-admin                                 | Whether to 
allow Admin user to export query results to a CSV file, the default is true. |
-| kylin.web.export-allow-other                                 | Whether to 
allow non-Admin user to export query results to a CSV file, the default is 
true. |
-| kylin.web.stack-trace.enabled                                | The error 
prompts whether the popup window displays details. The default value is false. 
Introduced in: 4.1.1 |
-| kylin.env                                                    | The usage of 
the Kylin instance is specified by this property. Optional values include 
`DEV`, `PROD` and `QA`, among them `PROD` is the default one. In `DEV` mode 
some developer functions are enabled. |
-| kylin.circuit-breaker.threshold.project                      | The maximum 
number of projects allowed to be created, the default value is `100` |
-| kylin.circuit-breaker.threshold.model                        | The maximum 
number of models allowed to be created in a single project, the default value 
is `100` |
+| kylin.metrics.influx-rpc-service-bind-address                | If the 
property `# bind-address = "127.0.0.1:8088"` was modified in the influxdb's 
configuration file, the value of this should be modified at the same time. This 
parameter will influence whether the diagnostic package can contain system 
metrics. |
+| kylin.query.async-query.max-concurrent-jobs                  | When 
configuring the asynchronous query queue, the maximum number of asynchronous 
query jobs. When the number of jobs reaches the limit, the asynchronous query 
reports an error. The default value  is 0, which means there is no limit to the 
number of asynchronous query jobs. |
+| kylin.query.auto-model-view-enabled                          | Automatically 
generate views for model. When the config is on, a view will be generated for 
each model and user can query on that view. The view will be named with 
{project_name}.{model_name} and contains all the tables defined in the model 
and all the columns referenced by the dimension and measure of the table. |
+| kylin.query.convert-create-table-to-with                     | Some BI 
software will send Create Table statement to create a permanent or temporary 
table in the data source. If this setting is set to `true`, the create table 
statement in the query will be converted to a with statement, when a later 
query utilizes the table that the query created in the previous step, the 
create table statement will be converted into a subquery, which can hit on an 
index if there is one to serve the query. |
+| kylin.query.engine.spark-scheduler-mode                      | The 
scheduling strategy of query engine whose default is FAIR (Fair scheduler). The 
optional value is SJF (Smallest Job First scheduler). Other value is illegal 
and FAIR strategy will be used as the default strategy. |
 | kylin.query.force-limit                                      | Some BI tools 
always send query like `select * from fact_table`, but the process may stuck if 
the table size is extremely large. `LIMIT` clause helps in this case, and 
setting the value of this property to a positive integer make Kylin append 
`LIMIT` clause if there's no one. For instance the value is `1000`, query 
`select * from fact_table` will be transformed to `select * from fact_table 
limit 1000`. This configuration ca [...]
-| kylin.query.max-result-rows                                  | This property 
specifies the maximum number of rows that a query can return. This property 
applies on all ways of executing queries, including Web UI, Asynchronous Query, 
JDBC Driver and ODBC Driver. This configuration can be overridden at 
**project** level. For this property to take effect, it needs to be a positive 
integer less than or equal to 2147483647. The default value is 0, meaning no 
limit on the result. <br />Below [...]
 | kylin.query.init-sparder-async                               | The default 
value is `true`,which means that sparder will start asynchronously. Therefore, 
the Kylin web service and the query spark service will start separately; If set 
to `false`, the Kylin web service will be only available after the sparder 
service has been started. |
-| kylin.circuit-breaker.threshold.query-result-row-count       | This 
parameter is the maximum number of rows in the result set returned by the SQL 
query. The default is `2000000`. If the maximum number of rows is exceeded, the 
backend will throw an exception |
-| kylin.query.timeout-seconds                                  | Query 
timeout, in seconds. The default value is `300` seconds. If the query execution 
time exceeds 300 seconds, an error will be returned: `Query timeout after: 
300s`. The minimum value is `30` seconds, and the configured value less than 
`30` seconds also takes effect according to `30` seconds. |
-| kylin.query.convert-create-table-to-with                     | Some BI 
software will send Create Table statement to create a permanent or temporary 
table in the data source. If this setting is set to `true`, the create table 
statement in the query will be converted to a with statement, when a later 
query utilizes the table that the query created in the previous step, the 
create table statement will be converted into a subquery, which can hit on an 
index if there is one to serve the query. |
-| kylin.query.replace-count-column-with-count-star             | The default 
value is `false` , which means that COUNT(column) measure will hit a model only 
after it has been set up in the model. If COUNT(column) measure is called in 
SQL while not having been set up in the model, this parameter value can be set 
to `true`, then the system will use COUNT(constant) measure to replace 
COUNT(column) measure approximately. COUNT(constant) measure takes all Null 
value into calculation. |
+| kylin.query.layout.prefer-aggindex                           | The default 
value is `true`, which means that when index comparison selections are made for 
aggregate indexes and detail indexes, aggregate indexes are preferred. |
 | kylin.query.match-partial-inner-join-model                   | The default 
value is `false`, which means that the multi-table inner join model does not 
support the SQL which matches the inner join part partially. For example: 
Assume there are three tables A, B, and C . By default, the SQL `A inner join 
B` can only be answered by the model of A inner join B or the model of A inner 
join B left join C. The model of A inner join B inner join C cannot answer it. 
If this parameter is set to  [...]
 | kylin.query.match-partial-non-equi-join-model                | default to 
`false` ,currently if the model contains non-equi joins, the query can be 
matched with the model only if it contains all the non-equi joins defined in 
the model. If the config is set to `true`, the query is allowed to contain only 
part of the non-equi joins. e.g. model: A left join B non-equi left join C. 
When the config is set to `false`, only query with the complete join relations 
of the model can be matched wi [...]
-| kylin.query.use-tableindex-answer-non-raw-query              | The default 
value is `false`, which means that the aggregate query can only be answered 
with the aggregate index. If the parameter is set to `true`, the system allows 
the corresponding table index to be used to answer the aggregate query. |
-| kylin.query.layout.prefer-aggindex                           | The default 
value is `true`, which means that when index comparison selections are made for 
aggregate indexes and detail indexes, aggregate indexes are preferred. |
-| kylin.storage.columnar.spark-conf.spark.yarn.queue           | This property 
specifies the yarn queue which is used by spark query cluster. |
-| kylin.storage.columnar.spark-conf.spark.master               | Spark 
deployment is normally divided into **Spark on YARN**, **Spark on Mesos**, and 
**standalone**. We usually use Spark on YARN as default. This property enables 
Kylin to use standalone deployment, which could submit jobs to the specific 
spark-master-url. |
-| kylin.job.retry                                              | This property 
specifies the auto retry times for error jobs. The default value is 0, which 
means job will not auto retry when it's in error. Set a value greater than 0 to 
enable this property and it applies on every step within a job and it will be 
reset if that step is finished. |
-| kylin.job.retry-interval                                     | This property 
specifies the time interval to retry an error job and the default value is 
`30000` ms. This property is valid only when the job retry property is set to 
be 1 or above. |
-| kylin.job.max-concurrent-jobs                                | Kylin has a 
default concurrency limit of **20** for jobs in a single project. If there are 
already too many running jobs reaching the limit, the new submitted job will be 
added into job queue. Once one running job finishes, jobs in the queue will be 
scheduled using FIFO mechanism. |
-| kylin.scheduler.schedule-job-timeout-minute                  | Job execution 
timeout period. The default is `0` minute. This property is valid only when the 
it is set to be 1 or above. When the job execution exceeds the timeout period, 
it will change to the Error status. |
-| kylin.garbage.storage.cuboid-layout-survival-time-threshold  | This property 
specifies the threshold of invalid files on HDFS. When executing the command 
line tool to clean up the garbage, invalid files on HDFS that exceed this 
threshold will be cleaned up. The default value is `7d`, which means 7 days. 
Invalid files on HDFS include expired indexes, expired snapshots, expired 
dictionaries, etc. At the same time, indexes with lower cost performance will 
be cleaned up according to the in [...]
-| kylin.garbage.storage.executable-survival-time-threshold     | This property 
specifies the threshold for the expired job. The metadata of jobs that have 
exceeded this threshold and have been completed will be cleaned up. The default 
is `30d`, which means 30 days. |
-| kylin.storage.quota-in-giga-bytes                            | This property 
specifies the storage quota for each project. The default is `10240`, in 
gigabytes. |
-| kylin.influxdb.address                                       | This property 
specifies the address of InfluxDB. The default is `localhost:8086`. |
-| kylin.influxdb.username                                      | This property 
specifies the username of InfluxDB. The defaul is `root`. |
-| kylin.influxdb.password                                      | This property 
specifiess the password of InfluxDB. The default is `root`. |
-| kylin.metrics.influx-rpc-service-bind-address                | If the 
property `# bind-address = "127.0.0.1:8088"` was modified in the influxdb's 
configuration file, the value of this should be modified at the same time. This 
parameter will influence whether the diagnostic package can contain system 
metrics. |
-| kylin.security.user-password-encoder                         | Encryption 
algorithm of user password. The default is the BCrypt algorithm. If you want to 
use the Pbkdf2 algorithm, configure the value to <br 
/>org.springframework.security.crypto.<br />password.Pbkdf2PasswordEncoder. <br 
/>Note: Please do not change this configuration item arbitrarily, otherwise the 
user may not be able to log in |
-| kylin.web.session.secure-random-create-enabled               | The default 
is false. Use UUID to generate sessionId, and use JDK's SecureRandom random 
number to enable sessionId after MD5 encryption, please use the upgrade session 
table tool to upgrade the session table first otherwise the user will report an 
error when logging in. |
-| kylin.web.session.jdbc-encode-enabled                        | The default 
is false, sessionId is saved directly into the database without encryption, and 
sessionId will be encrypted and saved to the database after opening. Note: If 
the encryption function is configured, Please use the upgrade session table 
tool to upgrade the session table first, otherwise the user will report an 
error when logging in. |
-| kylin.server.cors.allow-all                                  | allow all 
corss origin requests(CORS). `true` for allowing any CORS request, `false` for 
refusing all CORS requests. Default to `false`. |
-| kylin.server.cors.allowed-origin                             | Specify a 
whitelist that allows cross-domain, default all domain names (*), use commas 
(,) to separate multiple domain names. This parameter is valid when 
`kylin.server.cors.allow-all`=true |
-| kylin.storage.columnar.spark-conf.spark.driver.host          | Configure the 
IP of the node where the Kylin is located |
-| kylin.engine.spark-conf.spark.driver.host                    | Configure the 
IP of the node where the Kylin is located |
-| kylin.engine.sanity-check-enabled                            | Configure 
Kylin whether to open Sanity Check during indexes building. The default value 
is `true` |
-| kylin.job.finished-notifier-url                              | When the 
building job is completed, the job status information will be sent to the url 
via HTTP request |
-| kylin.diag.obf.level                                         | The 
desensitization level of the diagnostic package. `RAW` means no 
desensitization, `OBF` means desensitization. Configuring `OBF` will 
desensitize sensitive information such as usernames and passwords in the 
`kylin.properties` file (please refer to the [Diagnosis Kit 
Tool](../operations/system-operation/cli_tool/diagnosis.md) chapter), The 
default value is `OBF`. |
-| kylin.diag.task-timeout                                      | The subtask 
timeout time for the diagnostic package, whose default value is 3 minutes |
-| kylin.diag.task-timeout-black-list                           | Diagnostic 
package subtask timeout blacklist (the values are separated by commas). The 
subtasks in the blacklist will be skipped by the timeout settings and will run 
until it finished. The default value is `METADATA`, `LOG` <br />The optional 
value is as below: <br />METADATA, AUDIT_LOG, CLIENT, JSTACK, CONF, 
HADOOP_CONF, BIN, HADOOP_ENV, CATALOG_INFO, SYSTEM_METRICS, MONITOR_METRICS, 
SPARK_LOGS, SPARDER_HISTORY, KG_LOGS, L [...]
+| kylin.query.max-result-rows                                  | This property 
specifies the maximum number of rows that a query can return. This property 
applies on all ways of executing queries, including Web UI, Asynchronous Query, 
JDBC Driver and ODBC Driver. This configuration can be overridden at 
**project** level. For this property to take effect, it needs to be a positive 
integer less than or equal to 2147483647. The default value is 0, meaning no 
limit on the result. <br />Below [...]
+| kylin.query.memory-limit-during-collect-mb                   | Limit the 
memory usage when getting query result in Kylin,the unit is megabytes, defaults 
to 5400mb |
 | kylin.query.queryhistory.max-size                            | The total 
number of records in the query history of all projects, the default is 10000000 
|
 | kylin.query.queryhistory.project-max-size                    | The number of 
records in the query history retained of a single project, the default is 
1000000 |
 | kylin.query.queryhistory.survival-time-threshold             | The number of 
records in the query history retention time of all items, the default is 30d, 
which means 30 days, and other units are also supported: millisecond ms, 
microsecond us, minute m or min, hour h |
-| kylin.query.engine.spark-scheduler-mode                      | The 
scheduling strategy of query engine whose default is FAIR (Fair scheduler). The 
optional value is SJF (Smallest Job First scheduler). Other value is illegal 
and FAIR strategy will be used as the default strategy. |
 | kylin.query.realization.chooser.thread-core-num              | The number of 
core threads of the model matching thread pool in the query engine, the default 
is 5. It should be noted that when the number of core threads is set to less 
than 0, this thread pool will be unavailable, which will cause the entire query 
engine to be unavailable |
 | kylin.query.realization.chooser.thread-max-num               | The maximum 
number of threads in the model matching thread pool in the query engine, the 
default is 50. It should be noted that when the maximum number of threads is 
set to be less than or equal to 0 or less than the number of core threads, this 
thread pool will be unavailable, which will cause the entire query engine to be 
unavailable |
-| kylin.query.memory-limit-during-collect-mb                   | Limit the 
memory usage when getting query result in Kylin,the unit is megabytes, defaults 
to 5400mb |
-| kylin.query.auto-model-view-enabled                          | Automatically 
generate views for model. When the config is on, a view will be generated for 
each model and user can query on that view. The view will be named with 
{project_name}.{model_name} and contains all the tables defined in the model 
and all the columns referenced by the dimension and measure of the table. |
-| kylin.storage.columnar.spark-conf.spark.sql.view-truncate-enabled | Allow 
spark view to lose precision when loading tables and queries, the default value 
is false |
-| kylin.engine.spark-conf.spark.sql.view-truncate-enabled=true | Allow spark 
view to lose precision during construction, the default value is false |
-| kylin.source.hive.databases                                  | Configure the 
database list loaded by the data source. There is no default value. Both the 
system level and the project level can be configured. The priority of the 
project level is greater than the system level. |
+| kylin.query.replace-count-column-with-count-star             | The default 
value is `false` , which means that COUNT(column) measure will hit a model only 
after it has been set up in the model. If COUNT(column) measure is called in 
SQL while not having been set up in the model, this parameter value can be set 
to `true`, then the system will use COUNT(constant) measure to replace 
COUNT(column) measure approximately. COUNT(constant) measure takes all Null 
value into calculation. |
+| kylin.query.replace-dynamic-params-enabled                   | Whether to 
enable dynamic parameter binding for JDBC query, the default value is false, 
which means it is not enabled. For more, please refer to [Kylin JDBC 
Driver](#TODO) |
 | kylin.query.spark-job-trace-enabled                          | Enable the 
job tracking log of spark. Record additional information about spark: 
Submission waiting time, execution waiting time, execution time and result 
acquisition time are displayed in the timeline of history. |
 | kylin.query.spark-job-trace-timeout-ms                       | Only for the 
job tracking log of spark. The longest waiting time of query history. If it 
exceeds, the job tracking log of spark will not be recorded. |
 | kylin.query.spark-job-trace-cache-max                        | Only for the 
job tracking log of spark. The maximum number of job tracking log caches in 
spark. The elimination strategy is LRU,TTL is 
kylin.query.spark-job-trace-timeout-ms + 20000 ms. |
 | kylin.query.spark-job-trace-parallel-max                     | Only for the 
job tracking log of spark. Spark's job tracks the concurrency of log 
processing, "Additional information about spark" will be lost if the 
concurrency exceeds this limit. |
-| kylin.query.replace-dynamic-params-enabled                   | Whether to 
enable dynamic parameter binding for JDBC query, the default value is false, 
which means it is not enabled. For more, please refer to [Kylin JDBC 
Driver](#TODO) |
-| kylin.second-storage.route-when-ch-fail                      | When tiered 
storage is enabled, whether the query matching the base table index is answered 
only by tiered storage. The default value is `0`, which means that when tiered 
storage cannot answer, it is answered by the base table index on HDFS, 
configured as `1` indicates that when the tiered storage cannot answer the 
query, the query will be pushdown, configured as `2`, indicates that the query 
fails when the tiered storage c [...]
-| kylin.second-storage.query-pushdown-limit                    | When query 
result sets are large, the performance of query using tiered storage may 
degrade. This parameter indicates whether to use the limit statement to limit 
whether the detailed query uses tiered storage, the default value is `0`, which 
means it is not enabled. If you need to enable it, you can configure a specific 
value. For example, if it is configured as `100000`, it means that the detailed 
query with the value afte [...]
-| kylin.query.async-query.max-concurrent-jobs                  | When 
configuring the asynchronous query queue, the maximum number of asynchronous 
query jobs. When the number of jobs reaches the limit, the asynchronous query 
reports an error. The default value  is 0, which means there is no limit to the 
number of asynchronous query jobs. |
+| kylin.query.timeout-seconds                                  | Query 
timeout, in seconds. The default value is `300` seconds. If the query execution 
time exceeds 300 seconds, an error will be returned: `Query timeout after: 
300s`. The minimum value is `30` seconds, and the configured value less than 
`30` seconds also takes effect according to `30` seconds. |
+| kylin.query.use-tableindex-answer-non-raw-query              | The default 
value is `false`, which means that the aggregate query can only be answered 
with the aggregate index. If the parameter is set to `true`, the system allows 
the corresponding table index to be used to answer the aggregate query. |
+| kylin.scheduler.schedule-job-timeout-minute                  | Job execution 
timeout period. The default is `0` minute. This property is valid only when the 
it is set to be 1 or above. When the job execution exceeds the timeout period, 
it will change to the Error status. |
+| kylin.security.user-password-encoder                         | Encryption 
algorithm of user password. The default is the BCrypt algorithm. If you want to 
use the Pbkdf2 algorithm, configure the value to <br 
/>org.springframework.security.crypto.<br />password.Pbkdf2PasswordEncoder. <br 
/>Note: Please do not change this configuration item arbitrarily, otherwise the 
user may not be able to log in |
+| kylin.server.cors.allow-all                                  | allow all 
corss origin requests(CORS). `true` for allowing any CORS request, `false` for 
refusing all CORS requests. Default to `false`. |
+| kylin.server.cors.allowed-origin                             | Specify a 
whitelist that allows cross-domain, default all domain names (*), use commas 
(,) to separate multiple domain names. This parameter is valid when 
`kylin.server.cors.allow-all`=true |
+| kylin.server.mode                                            | There are 
three modes in Kylin, `all` , `query` and `job`, and you can change it by 
modifying the property. The default value is `all`. For `query` mode, it can 
only serves queries. For`job` mode, it can run building jobs and execute 
metadata operations and cannot serve queries. `all` mode can handle both of 
them. |
+| kylin.source.hive.databases                                  | Configure the 
database list loaded by the data source. There is no default value. Both the 
system level and the project level can be configured. The priority of the 
project level is greater than the system level. |
+| kylin.storage.columnar.spark-conf.spark.sql.view-truncate-enabled | Allow 
spark view to lose precision when loading tables and queries, the default value 
is false |
+| kylin.storage.columnar.spark-conf.spark.yarn.queue           | This property 
specifies the yarn queue which is used by spark query cluster. |
+| kylin.storage.columnar.spark-conf.spark.master               | Spark 
deployment is normally divided into **Spark on YARN**, **Spark on Mesos**, and 
**standalone**. We usually use Spark on YARN as default. This property enables 
Kylin to use standalone deployment, which could submit jobs to the specific 
spark-master-url. |
+| kylin.storage.columnar.spark-conf.spark.driver.host          | Configure the 
IP of the node where the Kylin is located |
+| kylin.storage.columnar.spark-conf.spark.sql.cartesianPartitionNumThreshold | 
Threshold for Cartesian Partition number in Spark Execution Plan. Query will be 
terminated if Cartesian Partition number reaches or exceeds the threshold. If 
this value is set to empty or negative, the threshold will be set to 
spark.executor.cores * spark.executor.instances * 100. |
+| kylin.storage.quota-in-giga-bytes                            | This property 
specifies the storage quota for each project. The default is `10240`, in 
gigabytes. |
+| kylin.web.timezone                                           | Time zone 
used for Kylin Rest service is specified by this property. The default value is 
the time zone of the local machine's system. You can change it according to the 
requirement of your application. For more details, please refer to 
https://en.wikipedia.org/wiki/List_of_tz_database_time_zones with the `TZ 
database name` column. |
+| kylin.web.export-allow-admin                                 | Whether to 
allow Admin user to export query results to a CSV file, the default is true. |
+| kylin.web.export-allow-other                                 | Whether to 
allow non-Admin user to export query results to a CSV file, the default is 
true. |
+| kylin.web.stack-trace.enabled                                | The error 
prompts whether the popup window displays details. The default value is false. 
Introduced in: 4.1.1 |
+| kylin.web.session.secure-random-create-enabled               | The default 
is false. Use UUID to generate sessionId, and use JDK's SecureRandom random 
number to enable sessionId after MD5 encryption, please use the upgrade session 
table tool to upgrade the session table first otherwise the user will report an 
error when logging in. |
+| kylin.web.session.jdbc-encode-enabled                        | The default 
is false, sessionId is saved directly into the database without encryption, and 
sessionId will be encrypted and saved to the database after opening. Note: If 
the encryption function is configured, Please use the upgrade session table 
tool to upgrade the session table first, otherwise the user will report an 
error when logging in. |
+| server.port                                                  | This 
parameter specifies the port used by the Kylin service. The default is `7070`. |
+| server.address                                               | This 
parameter specifies the address used by the Kylin service. The default is 
`0.0.0.0`. |
 
-### <span id="override">Configuration Override</span>
 
-There are many configurations avaiable in the file `kylin.properties`. If you 
need to modify several of them, you can create a new file named 
`kylin.properties.override` in the `$KYLIN_HOME/conf` directory. Then you can 
put the customized config items into `kylin.properties.override`, 
-the items in this file will override the default value in `kylin.properties` 
at runtime. 
-It is easy to upgrade. In the system upgrade, put the 
`kylin.properties.override` together with new version `kylin.properties`. 
+### Modifying Kylin Properties
 
+To override default configurations, create a `kylin.properties.override` file 
in the `$KYLIN_HOME/conf` directory. This file allows you to customize settings 
at runtime.
 
+**Best Practice:** During system upgrades, retain the 
`kylin.properties.override` file with the new `kylin.properties` version to 
ensure a seamless transition.
 
-### <span id="jvm">JVM Configuration Setting</span>
+**Important Note:** Parameters defined in `kylin.properties` or 
`kylin.properties.override` are global and loaded by default when Kylin starts. 
After modifying these files, restart Kylin for the changes to take effect.
 
-In `$KYLIN_HOME/conf/setenv.sh.template`, the sample setting for 
`KYLIN_JVM_SETTINGS` environment variable is given. The default setting uses 
relatively little memory. You can always adjust it according to your own 
environment. The default configuration is: 
 
+### Modifying JVM Settings
+
+In the **$KYLIN_HOME/conf/setenv.sh.template** file, you'll find a sample 
setting for the `KYLIN_JVM_SETTINGS` environment variable. This default setting 
uses relatively little memory, but you can adjust it according to your own 
environment. The default JVM configuration is as follows:
 ```properties
 export KYLIN_JVM_SETTINGS="-server -Xms1g -Xmx8g -XX:+UseG1GC 
-XX:MaxGCPauseMillis=200 -XX:G1HeapRegionSize=16m -XX:+PrintFlagsFinal 
-XX:+PrintReferenceGC -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps 
-XX:+PrintGCDateStamps -XX:+PrintAdaptiveSizePolicy 
-XX:+UnlockDiagnosticVMOptions -XX:+G1SummarizeConcMark  
-Xloggc:$KYLIN_HOME/logs/kylin.gc.$$  -XX:+UseGCLogFileRotation 
-XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=64M -XX:+HeapDumpOnOutOfMemoryError 
-XX:HeapDumpPath=${KYLIN_HOME}/logs"
 ```
 
-If you need to change it, you need to make a copy, name it `setenv.sh` and put 
it in the` $KYLIN_HOME/conf/ `folder, then modify the configuration in it. The 
parameter "-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${KYLIN_HOME}/logs" 
would generate logs when OutOfMemory happened. The default log file path is 
${KYLIN_HOME}/logs, you can modify it if needed.
+If you want to modify this configuration, you need to create a copy of the 
template file, name it `setenv.sh`, and place it in the **$KYLIN_HOME/conf/** 
directory. You can then modify the configuration in the new file as needed. 
 
+The parameter **-XX:+HeapDumpOnOutOfMemoryError 
-XX:HeapDumpPath=${KYLIN_HOME}/logs** generates logs when an `OutOfMemory` 
error occurs. The default log file path is **${KYLIN_HOME}/logs**, but you can 
modify it if required.
 ```bash
 export JAVA_VM_XMS=1g        #The initial memory of the JVM when kylin starts.
 export JAVA_VM_XMX=8g        #The maximum memory of the JVM when kylin starts.
@@ -130,58 +121,36 @@ export JAVA_VM_TOOL_XMS=1g   #The initial memory of the 
JVM when the tool class
 export JAVA_VM_TOOL_XMX=8g   #The maximum memory of the JVM when the tool 
class is started.
 ```
 
-If the value of JAVA_VM_TOOL_XMS is not set, then the value of 
JAVA_VM_TOOL_XMS will use the value of JAVA_VM_XMS. Similarly, when the value 
of JAVA_VM_TOOL_XMX is not set, JAVA_VM_TOOL_XMX will use the value of 
JAVA_VM_XMX.
+The `JAVA_VM_TOOL_XMS` and `JAVA_VM_TOOL_XMX` environment variables control 
the initial and maximum memory of the JVM when running tool classes. If these 
variables are not set, they will default to the values of `JAVA_VM_XMS` and 
`JAVA_VM_XMX`, respectively.
 
-Note: 1. Some special tool classes, such as guardian.sh, 
check-2100-hive-acl.sh, get-properties.sh, are not affected by the 
JAVA_VM_TOOL_XMS, JAVA_VM_TOOL_XMX configuration.
-      2. The two configuration items JAVA_VM_TOOL_XMS and JAVA_VM_TOOL_XMX 
have been added and take effect. You need to configure them manually when 
upgrading the old version.
+Please note that some special tool classes, such as `guardian.sh`, 
`check-2100-hive-acl.sh`, and `get-properties.sh`, are not affected by these 
configurations. To take advantage of these new configurations, you need to 
manually set the `JAVA_VM_TOOL_XMS` and `JAVA_VM_TOOL_XMX` variables when 
upgrading from an older version.
 
-### <span id="update">Kylin Warm Start after Config Parameters Modified</span>
 
-The parameters defined in `kylin.properties` (global) will be loaded by 
default when Kylin is started. Once modified, restart Kylin for the changes to 
take effect. 
+### Modifying Spark Configurations
 
+Kylin relies heavily on Apache Spark for both query and job building. To 
customize Spark configurations, use the following prefixes:
 
+* `kylin.storage.columnar.spark-conf` for queries
+* `kylin.engine.spark-conf` for builds
 
-### <span id="min_prod">Recommended Configurations for Production</span>
+These prefixes can be used to customize various Spark settings, such as memory 
allocation, execution parameters, and more. For a detailed explanation of Spark 
configuration, please refer to the official documentation: [Spark 
Configuration](https://spark.apache.org/docs/latest/configuration.html).
 
-Under `$KYLIN_HOME/conf/`, there are two sets of configurations ready for use: 
`production` and `minimal`. The former is the default configuration, which is 
recommended for production environment. The latter uses minimal resource, and 
is suitable for sandbox or other single node with limited resources. You can 
switch to `minimal` configurations if your environment has only limited 
resource. To switch to `minimal`, please uncomment the following configuration 
items in `$KYLIN_HOME/conf/ky [...]
+**1. Query-Related Configurations**
 
-```properties
-# KAP provides two configuration profiles: minimal and production(by default).
-# To switch to minimal: uncomment the properties
-# kylin.storage.columnar.spark-conf.spark.driver.memory=512m
-# kylin.storage.columnar.spark-conf.spark.executor.memory=512m
-# kylin.storage.columnar.spark-conf.spark.executor.memoryOverhead=512m
-# 
kylin.storage.columnar.spark-conf.spark.executor.extraJavaOptions=-Dhdp.version=current
 -Dlog4j.configuration=spark-executor-log4j.properties -Dlog4j.debug 
-Dkylin.hdfs.working.dir=${kylin.env.hdfs-working-dir} 
-Dkylin.metadata.identifier=${kylin.metadata.url.identifier} -    
Dkylin.spark.category=sparder -Dkylin.spark.project=${job.project} 
-XX:MaxDirectMemorySize=512M
-# kylin.storage.columnar.spark-conf.spark.yarn.am.memory=512m
-# kylin.storage.columnar.spark-conf.spark.executor.cores=1
-# kylin.storage.columnar.spark-conf.spark.executor.instances=1
+```shell
+kylin.storage.columnar.spark-conf.executor.instances
+kylin.storage.columnar.spark-conf.executor.cores
+kylin.storage.columnar.spark-conf.executor.memory
+kylin.storage.columnar.spark-conf.executor.memoryOverhead
+kylin.storage.columnar.spark-conf.sql.shuffle.partitions
+kylin.storage.columnar.spark-conf.driver.memory
+kylin.storage.columnar.spark-conf.driver.memoryOverhead
+kylin.storage.columnar.spark-conf.driver.cores
 ```
 
+**2. Job Building-Related Configurations**
 
-### <span id="spark"> Spark-related Configuration</span>
-
-For a detailed explanation of the spark configuration, please refer to the 
official documentation, [Spark 
Configuration](https://spark.apache.org/docs/latest/configuration.html). The 
following are some configurations related to the query and build tasks in Kylin.
-
-The parameters start with ```kylin.storage.columnar.spark-conf```, the 
subsequent part is the spark parameter used by the query task. The default 
parameters in the recommended configuration file `kylin.properties` are as 
follows:
-
-| Properties Name                                                  | Min     | 
Prod   |
-| ---------------------------------------------------------------- | ------- | 
------ |
-| kylin.storage.columnar.spark-conf.spark.driver.memory              | 512m    
| 4096m  |
-| kylin.storage.columnar.spark-conf.spark.executor.memory            | 512m    
| 12288m |
-| kylin.storage.columnar.spark-conf.spark.executor.memoryOverhead    | 512m    
| 3072m  |
-| kylin.storage.columnar.spark-conf.spark.yarn.am.memory             | 512m    
| 1024m  |
-| kylin.storage.columnar.spark-conf.spark.executor.cores             | 1       
| 5      |
-| kylin.storage.columnar.spark-conf.spark.executor.instances         | 1       
| 4      |
-
-Kylin provides customized Spark configurations. The configurations will have 
an affect on how Spark Execution Plan is generated. The default parameters in 
the recommended configuration file `kylin.properties` are as follows:
-
-| Properties Name                                                  | Default   
  | Description   |
-| ---------------------------------------------------------------- | ------- | 
------ |
-| kylin.storage.columnar.spark-conf.spark.sql.cartesianPartitionNumThreshold | 
 -1     | Threshold for Cartesian Partition number in Spark Execution Plan. 
Query will be terminated if Cartesian Partition number reaches or exceeds the 
threshold. If this value is set to empty or negative, the threshold will be set 
to spark.executor.cores * spark.executor.instances * 100. |
-
-The parameters start with ```kylin.engine.spark-conf```, the subsequent part 
is the spark parameter used for the build task. The default parameters are not 
configured and they will be automatically adjusted and configured according to 
the cluster environment during the build task. If you configure these 
parameters in `kylin.properties`, Kylin will use the configuration in 
`kylin.properties` first.
-
-```properties
+```shell
 kylin.engine.spark-conf.spark.executor.instances
 kylin.engine.spark-conf.spark.executor.cores
 kylin.engine.spark-conf.spark.executor.memory
@@ -192,11 +161,25 @@ kylin.engine.spark-conf.spark.driver.memoryOverhead
 kylin.engine.spark-conf.spark.driver.cores
 ```
 
-If you need to enable Spark RPC communication encryption, you can refer to the 
[Spark RPC Communication Encryption](spark_rpc_encryption.md) chapter.
+**3. Switching to Minimal Configurations**
+
+Under **$KYLIN_HOME/conf/**, there are two sets of configurations ready for 
use: `production` and `minimal`. The former is the default configuration, 
recommended for production environments. The latter uses minimal resources, 
suitable for sandbox or single-node environments with limited resources. To 
switch to `minimal` configurations, please uncomment the following 
configuration items in `$KYLIN_HOME/conf/kylin.properties` and restart Kylin to 
take effect:
+```shell
+# Kylin provides two configuration profiles: minimal and production(by 
default).
+# To switch to minimal: uncomment the properties
+#kylin.storage.columnar.spark-conf.spark.driver.memory=512m
+#kylin.storage.columnar.spark-conf.spark.executor.memory=512m
+#kylin.storage.columnar.spark-conf.spark.executor.memoryOverhead=512m
+#kylin.storage.columnar.spark-conf.spark.executor.extraJavaOptions=-Dhdp.version=current
 -Dlog4j.configurationFile=spark-executor-log4j.xml -Dlog4j.debug 
-Dkylin.hdfs.working.dir=${kylin.env.hdfs-working-dir} 
-Dkap.metadata.identifier=${kylin.metadata.url.identifier} 
-Dkap.spark.category=sparder -Dkap.spark.project=${job.project} 
-XX:MaxDirectMemorySize=512M
+#kylin.storage.columnar.spark-conf.spark.yarn.am.memory=512m
+#kylin.storage.columnar.spark-conf.spark.executor.cores=1
+#kylin.storage.columnar.spark-conf.spark.executor.instances=1
+#kylin.storage.columnar.spark-conf.spark.sql.adaptive.coalescePartitions.minPartitionNum=1
+```
 
+### Sparder Canary Overview
 
-### <span id="spark_canary">Spark Context Canary Configuration</span>
-Sparder Canary is a component used to monitor the running status of Sparder. 
It will periodically check whether the current Sparder is running normally. If 
the running status is abnormal, such as Sparder unexpectedly exits or becomes 
unresponsive, Sparder Canary will create a new Sparder instance.
+Sparder Canary is a health monitoring component for the Sparder application, 
which is the Spark engine used for querying in Kylin. It periodically checks 
the status of the running Sparder instance and automatically initiates the 
creation of a new instance if any abnormalities are detected, such as 
unexpected termination or loss of responsiveness. This ensures that the Sparder 
application remains in a healthy and functional state at all times.
 
 | Properties                                                      | 
Description                                                         |
 | ----------------------------------------------------------- | 
------------------------------------------------------------ |
diff --git a/website/docs/configuration/hadoop_queue_config.md 
b/website/docs/configuration/hadoop_queue_config.md
index de18d49e86..22f6434cc3 100644
--- a/website/docs/configuration/hadoop_queue_config.md
+++ b/website/docs/configuration/hadoop_queue_config.md
@@ -1,8 +1,8 @@
 ---
-title: Hadoop Queue Configuration
+title: Hadoop Queue
 language: en
-sidebar_label: Hadoop Queue Configuration
-pagination_label: Hadoop Queue Configuration
+sidebar_label: Hadoop Queue
+pagination_label: Hadoop Queue
 toc_min_heading_level: 2
 toc_max_heading_level: 6
 pagination_prev: null
@@ -11,11 +11,10 @@ keywords:
     - hadoop queue configuration
 draft: false
 last_update:
-    date: 09/13/2022
+    date: 09/12/2024
 ---
 
-In the case of a multiple-tenants environment, to securely share a large 
cluster, each tenant needs to have the allocated resources in a timely manner 
under the constraints of the allocated capacities. To achieve computing 
resources allocation and separation, each Kylin instance or project can be 
configured to use a different YARN queue.  
-
+In a multi-tenant environment, sharing a large cluster securely requires each 
tenant to have allocated resources in a timely manner, within the constraints 
of their allocated capacities. To achieve this, each Kylin instance or project 
can be configured to utilize a separate YARN queue, enabling efficient 
computing resource allocation and separation.
 
 ### <span id="instance">Instance-level YARN Queue Setting</span>
 
@@ -25,11 +24,14 @@ In the screenshot below, a new YARN queue `learn_kylin` has 
been set up.
 
 ![](images/hadoop_queue/1.png)
 
-Then you may modify `kylin.properties` to configure the YARN queue used in 
Kylin for building or querying (you will need to change the YOUR_QUEUE_NAME to 
your queue name).
+To configure the YARN queue used in Kylin, modify the `kylin.properties` file 
by replacing `YOUR_QUEUE_NAME` with the name of your YARN queue. This setting 
applies to both building and querying operations.
 
 ```shell
-Building configuration: 
kylin.engine.spark-conf.spark.yarn.queue=YOUR_QUEUE_NAME
-Querying configuration: 
kylin.storage.columnar.spark-conf.spark.yarn.queue=YOUR_QUEUE_NAME
+### Building configuration
+kylin.engine.spark-conf.spark.yarn.queue=YOUR_QUEUE_NAME
+
+### Querying configuration
+kylin.storage.columnar.spark-conf.spark.yarn.queue=YOUR_QUEUE_NAME
 ```
 
 ![](images/hadoop_queue/2.png)
diff --git a/website/docs/configuration/https.md 
b/website/docs/configuration/https.md
index 6ecbd9adde..b5dba8481c 100644
--- a/website/docs/configuration/https.md
+++ b/website/docs/configuration/https.md
@@ -1,8 +1,8 @@
 ---
-title: HTTPS Configuration
+title: HTTPS Connection
 language: en
-sidebar_label: HTTPS Configuration
-pagination_label: HTTPS Configuration
+sidebar_label: HTTPS Connection
+pagination_label: HTTPS Connection
 toc_min_heading_level: 2
 toc_max_heading_level: 6
 pagination_prev: null
@@ -11,10 +11,10 @@ keywords:
     - https configuration
 draft: false
 last_update:
-    date: 08/16/2022
+    date: 09/12/2024
 ---
 
-Kylin 5.0 provides a HTTPS connection. It is disabled by default. If you need 
to enable it, please follow the steps below.
+Kylin 5.0 offers a secure HTTPS connection, which is disabled by default. To 
enable it, follow the step-by-step instructions outlined below.
 
 ### Use Default Certificate
 
@@ -46,7 +46,7 @@ Kylin also supports third-party certificates, you just need 
to provide the certi
 kylin.server.https.enable=true
 # port number
 kylin.server.https.port=7443
-# ormat of keystore, Tomcat 8 supports JKS, PKCS11 or PKCS12 format
+# format of keystore, Tomcat 8 supports JKS, PKCS11 or PKCS12 format
 kylin.server.https.keystore-type=JKS
 # location of your certificate file
 kylin.server.https.keystore-file=${KYLIN_HOME}/server/.keystore
diff --git a/website/docs/configuration/intro.md 
b/website/docs/configuration/intro.md
index ff4769bade..42203485df 100644
--- a/website/docs/configuration/intro.md
+++ b/website/docs/configuration/intro.md
@@ -1,21 +1,20 @@
 ---
-title: System Configuration
+title: Overview
 language: en
-sidebar_label: System Configuration
-pagination_label: System Configuration
+sidebar_label: Overview
+pagination_label: Overview
 toc_min_heading_level: 2
 toc_max_heading_level: 6
 pagination_prev: null
 pagination_next: null
 keywords:
-    - system configuration
+    - configuration
 draft: false
 last_update:
-    date: 08/16/2022
+    date: 09/12/2024
 ---
 
-After deploying Kylin on your cluster, configure Kylin so that it can interact 
with Apache Hadoop and Apache Hive. You can also optimize the performance of 
Kylin by configuring to your own environment.
-
+After deploying Kylin on your cluster, configure Kylin to enable seamless 
interaction with Apache Hadoop and Apache Hive. Additionally, optimize Kylin's 
performance by tailoring its configuration to your specific environment, 
ensuring a finely-tuned setup that meets your unique needs.
 This chapter introduces some configurations for Kylin.
 
 ### Kylin Configuration File List
@@ -29,6 +28,4 @@ This chapter introduces some configurations for Kylin.
 | Hadoop               | hadoop_conf/mapred-site.xml             | Map Reduce 
configuration file used in Hadoop,which defines the default number of reduce 
tasks, the default upper and lower limits of the memory that the task can use, 
etc. |
 | Hive                 | hadoop_conf/hive-site.xml               | Hive 
configuration file, which defines Hive parameters such as hive data storage 
directory and database address, etc. |
 
->Note:
->
->+ Unless otherwise specified, the configuration file `kylin.properties` 
mentioned in this manual refers to the corresponding configuration file in the 
list.
+Unless otherwise specified, all references to `kylin.properties` in this 
manual point to the configuration file listed in the [Kylin Configuration File 
List](#kylin-configuration-file-list) section.
diff --git a/website/docs/configuration/log_rotate.md 
b/website/docs/configuration/log_rotate.md
index cd163c2bd8..f66563e4a4 100644
--- a/website/docs/configuration/log_rotate.md
+++ b/website/docs/configuration/log_rotate.md
@@ -1,36 +1,44 @@
 ---
-title: Log Rotate Configuration
+title: Log Rotate
 language: en
-sidebar_label: Log Rotate Configuration
-pagination_label: Log Rotate Configuration
+sidebar_label: Log Rotate
+pagination_label: Log Rotate
 toc_min_heading_level: 2
 toc_max_heading_level: 6
 pagination_prev: null
 pagination_next: null
 keywords:
-    - log rotate configuration
+    - log rotate
 draft: false
 last_update:
     date: 08/16/2022
 ---
 
-The three log files, `shell.stderr`, `shell.stdout`, and `kylin.out` under the 
log directory `$KYLIN_HOME/logs/` of Kylin, trigger log rolling checks 
regularly by default.
+### Log Rotation Configuration
 
-> **Caution:** Any change of configurations below requires a restart to take 
effect. 
+Kylin's log rotation is configured to manage the three log files: 
`shell.stderr`, `shell.stdout`, and `kylin.out` located in the 
`$KYLIN_HOME/logs/` directory.
+**Any changes to the configurations below require a restart to take effect.**
 
-| Properties                               | Descript                        | 
Default              | Options |
-|------------------------------------------| 
--------------------------------|----------------------|---------|
-| kylin.env.max-keep-log-file-number       | Maximum number of files to keep 
for log rotate | 10                   |         |
-| kylin.env.max-keep-log-file-threshold-mb | Log files are rotated when they 
grow bigger than this  | 256,whose unit is MB |         |
-| kylin.env.log-rotate-check-cron          | The `crontab` time configuration  
                       | 33 * * * *           |         |
-| kylin.env.log-rotate-enabled             | Whether to enable `crontab` to 
check log rotate               | true                 | false   |
+| Property | Description | Default Value | Options |
+| --- | --- | --- | --- |
+| `kylin.env.max-keep-log-file-number` | Maximum number of log files to keep | 
10 |  |
+| `kylin.env.max-keep-log-file-threshold-mb` | Log file rotation threshold (in 
MB) | 256 |  |
+| `kylin.env.log-rotate-check-cron` | Crontab time configuration for log 
rotation | `33 * * * *` |  |
+| `kylin.env.log-rotate-enabled` | Enable log rotation using crontab | `true` 
| `false` |
 
-### Default Regularly Rotate strategy
+### Default Log Rotation Strategy
 
-To use the default regularly rotate strategy, you need to set the parameter 
`kylin.env.log-rotate-enabled=true` (default), and also need to ensure that 
users running Kylin can use the `logrotate` and `crontab` commands to add a 
scheduled task.
+To use the default log rotation strategy:
 
-When using the rotate strategy, Kylin will add or update `crontab` tasks 
according to the `kylin.env.log-rotate-check-cron` parameter on startup or 
restart, and remove the added `crontab` tasks on exit.
+1. Set `kylin.env.log-rotate-enabled` to `true` (default).
+2. Ensure users running Kylin can use the `logrotate` and `crontab` commands 
to add a scheduled task.
+
+Kylin will:
+
+* Add or update crontab tasks according to `kylin.env.log-rotate-check-cron` 
on startup or restart.
+* Remove added crontab tasks on exit.
 
 ### Known Limitations
-- If the default regularly rotate policy conditions are not met, Kylin will 
only trigger the log rolling check at startup. Every time the `kylin.sh start` 
command is executed, according to the parameter 
`kylin.env.max-keep-log-file-number` and 
`kylin.env.max-keep-log-file-threshold-mb` for log rolling. If Kylin runs for a 
long time, the log file may be too large.
-- When using `crontab` to control log rotation, the rolling operation is 
implemented by the `logrotate` command. If the log file is too large, the log 
may be lost during the rotation.
+
+* If the default log rotation policy conditions are not met, Kylin will only 
perform log rolling checks at startup. This means that log files will be 
rotated based on the `kylin.env.max-keep-log-file-number` and 
`kylin.env.max-keep-log-file-threshold-mb` parameters every time the `kylin.sh 
start` command is executed. Note that prolonged Kylin runtime may result in 
excessively large log files.
+* Using `crontab` to control log rotation may result in log loss during 
rotation if the log file is too large.
diff --git a/website/docs/configuration/query_cache.md 
b/website/docs/configuration/query_cache.md
index 22a4947176..dd5fa5233f 100644
--- a/website/docs/configuration/query_cache.md
+++ b/website/docs/configuration/query_cache.md
@@ -1,8 +1,8 @@
 ---
-title: Query Cache Settings
+title: Query Cache
 language: en
-sidebar_label: Query Cache Settings
-pagination_label: Query Cache Settings
+sidebar_label: Query Cache
+pagination_label: Query Cache
 toc_min_heading_level: 2
 toc_max_heading_level: 6
 pagination_prev: null
@@ -13,26 +13,14 @@ draft: false
 last_update:
     date: 08/16/2022
 ---
+Query caching is a crucial optimization technique for enhancing query 
performance. By leveraging various caching mechanisms, you can improve query 
performance at multiple levels, including process, node, and cross-node. For 
hit-model queries, caching is enabled by default, but to ensure data 
consistency, it is disabled by default when querying the data source directly.
+Note that system restart is required for any query cache configuration changes 
to take effect.
 
-By default, Kylin enables query cache in each process to improve query 
performance.
+### Caching Criteria
 
-> **Note**: In order to ensure data consistency, query cache is not available 
in pushdown.
+Kylin selectively caches query results to optimize performance while managing 
memory resources. By default, it only caches slow queries with suitable result 
sizes. The caching criteria are defined by the following parameters:
 
-
-### Use Default Cache
-
-Kylin enables query cache by default at each node/process level. The 
configuration details are described  below. You can change them in 
`$KYLIN_HOME/conf/kylin.properties` under Kylin installation directory.
-
-> **Caution:** Must restart for any configurations to take effect. 
-
-| Properties                | Description                                      
            | Default | Options |
-| ------------------------- | 
------------------------------------------------------------ | ------- | 
------- |
-| kylin.query.cache-enabled | Whether to enable query cache. When this 
property is enabled, the following properties take effect. | true    | false   |
-
-
-### Query Cache Criteria
-Kylin doesn't cache the query result of all SQL queries by default (because 
the memory resource might be limited). It only caches slow queries and the 
result size is appropriate. The criterion are configured by the following 
parameters. 
-The query that satisfies any one of the No.1, No.2, No.3 configuration and 
also satisfies No.4 configuration will be cached.
+**Conditions for Caching**: A query must meet at least one of the following 
conditions (No.1, No.2, or No.3) and also satisfy the condition in No.4 to be 
eligible for caching.
 
 |No |  Properties                         | Description                        
                          | Default        | Default unit |
 | ----| ---------------------------------- | 
------------------------------------------------------------ | -------------- | 
------- |
@@ -41,19 +29,29 @@ The query that satisfies any one of the No.1, No.2, No.3 
configuration and also
 | 3|kylin.query.cache-threshold-scan-bytes          | Queries whose scan bytes 
is above this value | 1048576           | byte |
 | 4|kylin.query.large-query-threshold          | Queries whose result set size 
is below this value  | 1000000           | cell |
 
-### Ehcache Cache Configuration
 
-By default, Kylin uses Ehcache as the query cache. You can configure Ehcache 
to control the query cache size and policy. You can replace the default query 
cache configuration by modifying the following configuration item. For more 
Ehcache configuration items, please refer to the official website [ehcache 
documentation](https://www.ehcache.org/generated/2.9.0/html/ehc-all/#page/Ehcache_Documentation_Set%2Fehcache_all.1.017.html%23).
+### Ehcache Cache
+
+**By default, Kylin utilizes Ehcache as the query cache at each node or 
process level.** To customize the configuration, update the settings in 
`$KYLIN_HOME/conf/kylin.properties` within your Kylin installation directory.
+
+You can configure Ehcache to control the query cache size and policy by 
modifying the following configuration item:
+
+* Replace the default query cache configuration
+* Control query cache size
+* Define cache policy
 
 | Properties | Description | Default |
 | ----- | ---- | ----- |
+| kylin.query.cache-enabled | Whether to enable query cache. When this 
property is enabled, the following properties take effect. | true    |
 | kylin.cache.config | The path to ehcache.xml. To replace the default query 
cache configuration file, you can create a new file `xml`, for exemple 
`ekcache2.xml`, in the directory  `${KYLIN_HOME}/conf/`, and modify the value 
of this configuration item: `file://${KYLIN_HOME}/conf/ehcache2.xml` | 
classpath:ehcache.xml |
 
+For more Ehcache configuration items, please refer to the official website: 
[Ehcache 
Documentation](https://www.ehcache.org/generated/2.9.0/html/ehc-all/#page/Ehcache_Documentation_Set%2Fehcache_all.1.017.html%23)
+
+### Redis Cache
 
-### Redis Cache Configuration
+The default query cache in Kylin is process-level, which means it cannot be 
shared across different nodes or processes. This limitation can lead to 
inefficiencies in cluster deployment mode, where subsequent identical queries 
may be routed to different Kylin nodes and cannot leverage the cache from the 
initial query.
 
-The default query cache cannot be shared among different nodes or processes 
because it is process level. Because of this,  when subsequent and same queries 
are routed to different Kylin nodes, the cache of the first query result cannot 
be used in cluster deployment mode. Therefore, you can configure Redis cluster 
as distributed cache, which can be shared across all Kylin nodes. The detail 
configurations are described as below:
-(Redis 5.0 or 5.0.5 is recommended.)
+To overcome this limitation, you can configure a Redis cluster as a 
distributed cache, enabling cache sharing across all Kylin nodes. For optimal 
performance, we recommend using Redis 5.0 or 5.0.5.
 
 | Properties                         | Description                             
                     | Default        | Options |
 | ---------------------------------- | 
------------------------------------------------------------ | -------------- | 
------- |
@@ -66,7 +64,6 @@ The default query cache cannot be shared among different 
nodes or processes beca
 | kylin.cache.redis.reconnection.interval | Automatic reconnection interval, 
in minutes | 60 | |
 | kylin.cache.redis.password | Redis password | | |
 
-#### Limitation
-Due to metadata inconsistency between Query nodes and All/Job nodes, the redis 
cache swith `kylin.cache.redis.enabled=true` should be configured along with 
`kylin.server.store-type=jdbc`.
+**Limitation:**Due to metadata inconsistency between Query nodes and All/Job 
nodes, the redis cache swith `kylin.cache.redis.enabled=true` should be 
configured along with `kylin.server.store-type=jdbc`. 
 
-> **Caution:** Redis passwords can be encrypted, please refer to: [Use MySQL 
as 
Metastore](../deployment/on-premises/rdbms_metastore/mysql/mysql_metastore.md)
+Redis passwords can be encrypted, please refer to: [Use MySQL as 
Metastore](../deployment/on-premises/rdbms_metastore/mysql/mysql_metastore.md)
diff --git a/website/docs/configuration/spark_dynamic_allocation.md 
b/website/docs/configuration/spark_dynamic_allocation.md
index c1f4d2c2eb..afa25e93c1 100644
--- a/website/docs/configuration/spark_dynamic_allocation.md
+++ b/website/docs/configuration/spark_dynamic_allocation.md
@@ -11,76 +11,71 @@ keywords:
       - spark dynamic allocation
 draft: false
 last_update:
-      date: 08/16/2022
+      date: 09/12/2024
 ---
 
-In Spark, the resource unit is executor, something like containers in YARN. 
Under Spark on YARN, we use num-executors to specify the executor numbers. 
While executor-memory and executor-cores will limit the memory and virtual CPU 
cores each executor consumes.
+In Spark, the fundamental resource unit is the executor, which is similar to 
containers in YARN. When running Spark on YARN, you can specify the number of 
executors using the `num-executors` parameter. Additionally, `executor-memory` 
and `executor-cores` parameters limit the memory and virtual CPU cores 
allocated to each executor.
 
-Take Kylin as sample, if user choose fixed resource allocation strategy and 
set num-executor to 3. Then each Kylin instance will always keep 4 YARN 
containers(1 for application master and 3 for executor). These 4 containers 
will be occupied until user log out. While we use Dynamic Resource Allocation, 
Spark will dynamically increase and reduce executors according to Kylin query 
engine workload which will dramatically save resource.
+Consider a Kylin instance as an example. When using a fixed resource 
allocation strategy with `num-executor` set to 3, each Kylin instance will 
occupy 4 YARN containers (1 for the application master and 3 for executors) 
until the user logs out. In contrast, Dynamic Resource Allocation enables Spark 
to dynamically adjust the number of executors based on the Kylin query engine 
workload, resulting in significant resource savings.
 
-Please refer to official document for details of Spark Dynamic Allocation:
+For more information on Spark Dynamic Allocation, please refer to the official 
Spark documentation: 
[http://spark.apache.org/docs/2.4.1/job-scheduling.html#dynamic-resource-allocation](http://spark.apache.org/docs/2.4.1/job-scheduling.html#dynamic-resource-allocation)
 
-http://spark.apache.org/docs/2.4.1/job-scheduling.html#dynamic-resource-allocation
 
-### Spark Dynamic Allocation Config
+### Overview
 
-#### Overview
-There are two parts we need to configure for Spark Dynamic Allocation:
-1.  Resource Management for cluster, it will be diversed due to different 
resource manager(YARN、Mesos、Standalone).
-2.  Configure file spark-default.conf, this one is irrespective of the 
environment.
+Configuring Spark Dynamic Allocation involves two key components:
 
-#### Resource Manager Configuration
-##### CDH
+1. **Resource Management**: This varies depending on the cluster's resource 
manager, which can be YARN, Mesos, or Standalone.
+2. **spark-defaults.conf**: This configuration file is environment-agnostic 
and applies universally.
 
-1. Log into Cloudera Manager, choose YARN configuration and find NodeManager 
Advanced Configuration Snippet(Safety Valve) for yarn-site.xml, config as 
following:
+### Config ResourceManager
+1. For CDH
 
-```
-<property>
- <name>yarn.nodemanager.aux-services</name>
- <value>mapreduce_shuffle,spark_shuffle</value>
-</property>
-<property>
- <name>yarn.nodemanager.aux-services.spark_shuffle.class</name>
- <value>org.apache.spark.network.yarn.YarnShuffleService</value>
-</property>
-```
-
-2. Copy the `$KYLIN_HOME/spark/yarn/spark-<version>-yarn-shuffle.jar` and put 
it under path /opt/lib/kylin/ of Hadoop node.
-
-   Find NodeManager Environment Advanced Configuration Snippet  (Safety Valve) 
in Cloudera Manager, Config:
-
-   `YARN_USER_CLASSPATH=/opt/lib/kylin/*`
+   Log into Cloudera Manager, choose YARN configuration and find NodeManager 
Advanced Configuration Snippet(Safety Valve) for `yarn-site.xml`, config as 
following:
 
-   Then yarn-shuffle.jar will be added into the startup classpath of Node 
Manager.
+   ```
+   <property>
+    <name>yarn.nodemanager.aux-services</name>
+    <value>mapreduce_shuffle,spark_shuffle</value>
+   </property>
+   <property>
+    <name>yarn.nodemanager.aux-services.spark_shuffle.class</name>
+    <value>org.apache.spark.network.yarn.YarnShuffleService</value>
+   </property>
+   ```
 
-3. Save the config and restart
-   In Cloudera Manager, choose actions --> deploy client configuration, save 
and restart all services.
+   Copy the `$KYLIN_HOME/spark/yarn/spark-<version>-yarn-shuffle.jar` and put 
it under path `/opt/lib/kylin/` of Hadoop node. Find NodeManager Environment 
Advanced Configuration Snippet  (Safety Valve) in Cloudera Manager, Config:
 
-##### HDP
-1. Log into Ambari management page, choose Yarn -> Configs -> Advanced, find 
following configurations via filter and update: 
-   
`yarn.nodemanager.aux-services.spark_shuffle.class=org.apache.spark.network.yarn.YarnShuffleService`
+   ```shell
+   YARN_USER_CLASSPATH=/opt/lib/kylin/*
+   ```
+   Then `yarn-shuffle.jar` will be added into the Node Manager's startup 
classpath. To apply the changes, save the configuration, restart the Node 
Manager, and then deploy the client configuration in Cloudera Manager. Finally, 
restart all services to ensure the updates take effect.
 
-2. Save the config and restart all services.
+2. For HDP
 
+   Log into Ambari management page, navigate to **Yarn -> Configs -> 
Advanced**, use the filter to find the following configurations and update them 
as needed:
+   ```shell
+   
yarn.nodemanager.aux-services.spark_shuffle.class=org.apache.spark.network.yarn.YarnShuffleService
+   ```
 
-#### Kylin configuration
-To enable the Spark Dynamic Allocaiton, we will need to add some configuration 
items in Spark config files. Since we can override spark configuraion in 
kylin.properties, we will add following configuration items in it:
+   To apply the changes, save the configuration, and restart all services to 
ensure the updates take effect.
 
-`kylin.storage.columnar.spark-conf.spark.dynamicAllocation.enabled=true`
+### How to Enable
+To enable the Spark Dynamic Allocation, we will need to add some configuration 
items in Spark config files. Since we can override spark configuraion in 
kylin.properties, we will add following configuration items in it:
 
-`kylin.storage.columnar.spark-conf.spark.dynamicAllocation.maxExecutors=5`
-
-`kylin.storage.columnar.spark-conf.spark.dynamicAllocation.minExecutors=1`
-
-`kylin.storage.columnar.spark-conf.spark.shuffle.service.enabled=true`
-
-`kylin.storage.columnar.spark-conf.spark.dynamicAllocation.initialExecutors=3`
+```shell
+kylin.storage.columnar.spark-conf.spark.dynamicAllocation.enabled=true
+kylin.storage.columnar.spark-conf.spark.dynamicAllocation.maxExecutors=5
+kylin.storage.columnar.spark-conf.spark.dynamicAllocation.minExecutors=1
+kylin.storage.columnar.spark-conf.spark.shuffle.service.enabled=true
+kylin.storage.columnar.spark-conf.spark.dynamicAllocation.initialExecutors=3
+```
 
 More configurations please refer to: 
 http://spark.apache.org/docs/latest/configuration.html#dynamic-allocation
 
-### Spark Dynamic Allocation Verification
-After above configurations, start Kylin and monitor current executor numbers 
in Spark Executor page.
+### How to Verification
+After completing the configurations, start the Kylin service and navigate to 
the Spark Executor page to monitor the current executor numbers. Observe how 
the executor count adjusts dynamically based on the defined settings.
 
 ![](images/spark_executor_original.jpg)
 
diff --git a/website/docs/configuration/spark_rpc_encryption.md 
b/website/docs/configuration/spark_rpc_encryption.md
index e6e3b9bb17..9d514065ff 100644
--- a/website/docs/configuration/spark_rpc_encryption.md
+++ b/website/docs/configuration/spark_rpc_encryption.md
@@ -1,8 +1,8 @@
 ---
-title: Spark RPC Communication Encryption
+title: Spark RPC Encryption
 language: en
-sidebar_label: Spark RPC Communication Encryption
-pagination_label: Spark RPC Communication Encryption
+sidebar_label: Spark RPC Encryption
+pagination_label: Spark RPC Encryption
 toc_min_heading_level: 2
 toc_max_heading_level: 6
 pagination_prev: null
@@ -14,33 +14,30 @@ last_update:
     date: 08/16/2022
 ---
 
-Kylin supports the configuration of communication encryption between Spark 
nodes, which can improve the security of internal communication and prevent 
specific security attacks.
+Kylin supports enabling communication encryption between Spark nodes, which 
enhances the security of internal communication and prevents specific security 
attacks. This feature is disabled by default. To enable it, follow the steps 
below:
 
-For more details about Spark RPC communication encryption, please see [Spark 
Security](http://spark.apache.org/docs/1.6.2/job-scheduling.html#dynamic-resource-allocation).
+### How to Configure
 
-This function is disabled by default. If you need to enable it, please refer 
to the following method for configuration.
+Ensure that RPC communication encryption is enabled in the Spark cluster by 
referring to the [Spark Security 
documentation](https://spark.apache.org/docs/latest/security.html#authentication).
 
-### Spark RPC Communication Encryption Configuration
+Add the following configurations in the `$KYLIN_HOME/conf/kylin.properties` 
file to enable Kylin nodes and Spark cluster communication encryption:
 
-1、Please refer to [Spark 
Security](http://spark.apache.org/docs/1.6.2/job-scheduling.html#dynamic-resource-allocation)
 to ensure that RPC communication encryption is enabled in the Spark cluster.
+   ```properties
+   ### spark rpc encryption for build jobs
+   kylin.storage.columnar.spark-conf.spark.authenticate=true
+   kylin.storage.columnar.spark-conf.spark.authenticate.secret=kylin
+   kylin.storage.columnar.spark-conf.spark.network.crypto.enabled=true
+   kylin.storage.columnar.spark-conf.spark.network.crypto.keyLength=256
+   
kylin.storage.columnar.spark-conf.spark.network.crypto.keyFactoryAlgorithm=PBKDF2WithHmacSHA256
 
-2、Add the following configurations in `$KYLIN_HOME/conf/kylin.properties`, to 
To enable Kylin nodes and Spark cluster communication encryption
+   ### spark rpc encryption for query jobs
+   kylin.engine.spark-conf.spark.authenticate=true
+   kylin.engine.spark-conf.spark.authenticate.secret=kylin
+   kylin.engine.spark-conf.spark.network.crypto.enabled=true
+   kylin.engine.spark-conf.spark.network.crypto.keyLength=256
+   
kylin.engine.spark-conf.spark.network.crypto.keyFactoryAlgorithm=PBKDF2WithHmacSHA256
+   ```
 
-```
-### spark rpc encryption for build jobs
-kylin.storage.columnar.spark-conf.spark.authenticate=true
-kylin.storage.columnar.spark-conf.spark.authenticate.secret=kylin
-kylin.storage.columnar.spark-conf.spark.network.crypto.enabled=true
-kylin.storage.columnar.spark-conf.spark.network.crypto.keyLength=256
-kylin.storage.columnar.spark-conf.spark.network.crypto.keyFactoryAlgorithm=PBKDF2WithHmacSHA256
+### How to Verification
 
-### spark rpc encryption for query jobs
-kylin.engine.spark-conf.spark.authenticate=true
-kylin.engine.spark-conf.spark.authenticate.secret=kylin
-kylin.engine.spark-conf.spark.network.crypto.enabled=true
-kylin.engine.spark-conf.spark.network.crypto.keyLength=256
-kylin.engine.spark-conf.spark.network.crypto.keyFactoryAlgorithm=PBKDF2WithHmacSHA256
-```
-
-### Spark RPC Communication Encryption Cerification
-After the configuration is complete, start Kylin and verify that the query and 
build tasks can be executed normally.
+After completing the configuration, restart Kylin and verify that both query 
and build tasks are executed successfully.
diff --git a/website/docs/quickstart/intro.md b/website/docs/quickstart/intro.md
index fe2f280bcb..993b429014 100644
--- a/website/docs/quickstart/intro.md
+++ b/website/docs/quickstart/intro.md
@@ -14,14 +14,11 @@ last_update:
     date: 09/13/2022
 ---
 
-In this guide, we will explain how to quickly install and start Kylin 5.
-
-Before proceeding, please make sure the 
[Prerequisite](../deployment/on-premises/prerequisite.md) is met.
+In this guide, we will explain how to quickly install and start Kylin 5. 
Before you begin, ensure you have met the 
[Prerequisites](../deployment/on-premises/prerequisite.md).
 
 ## <span id="docker">Play Kylin in docker</span>
 
-If we want to learn what new features did Kylin 5 provided, and you only have 
a laptop,
-we recommend you to pulling the docker image and check the [standalone image 
in dockerhub](https://hub.docker.com/r/apachekylin/apache-kylin-standalone) .
+To explore new features in Kylin 5 on a laptop, we recommend pulling the 
Docker image and checking the [Apache Kylin Standalone Image on Docker 
Hub](https://hub.docker.com/r/apachekylin/apache-kylin-standalone).
 
 ```shell
 docker pull apachekylin/apache-kylin-standalone:5.0.0-GA
@@ -57,20 +54,16 @@ docker pull apachekylin/apache-kylin-standalone:5.0.0-GA
 
 5. Prepare RDBMS metastore.
 
-   If PostgreSQL or MySQL has been installed already in your environment, you 
can choose one of them as the metastore. 
-   
-   **Note**: 
-   
-   + For the production environment, we recommend to set up a dedicated 
metastore. You can use PostgreSQL or MySQL. 
-   
-   Please refer to the below links for complete steps to install and configure:
-   
-   * [Use PostgreSQL as 
Metastore](../deployment/on-premises/rdbms_metastore/postgresql/default_metastore.md).
-   * [Use MySQL as 
Metastore](../deployment/on-premises/rdbms_metastore/mysql/mysql_metastore.md).
+   If you have PostgreSQL or MySQL installed in your environment, you can use 
either as a metastore. Follow the links below for installation and 
configuration instructions:
+
+   * [PostgreSQL Metastore 
Setup](../deployment/on-premises/rdbms_metastore/postgresql/default_metastore.md)
+   * [MySQL Metastore 
Setup](../deployment/on-premises/rdbms_metastore/mysql/mysql_metastore.md)
+
+   For production environments, we strongly recommend setting up a dedicated 
metastore using either PostgreSQL or MySQL to ensure reliability.
    
-6. (out-dated) Install InfluxDB.
-  
-   Kylin uses InfluxDB to save various system monitoring information. If you 
do not need to view related information, you can skip this step. It is strongly 
recommended to complete this step in a production environment and use related 
monitoring functions.
+6. Install InfluxDB(**Out-dated**).
+
+   Kylin utilizes InfluxDB to store system monitoring data. This step is 
optional, but highly recommended for production environments to leverage 
monitoring capabilities.
    
    ```sh
    # download influxdb
@@ -132,7 +125,7 @@ In the `conf` directory under the root directory of the 
installation package, yo
    If you use ACL for Zookeeper, need setting the follow configuration
 
    | Properties                                                  | Description 
                                                                                
                         |
-      | 
------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------|
+   | 
------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------|
    | kylin.env.zookeeper-acl-enabled                             | Whether to 
enable Zookeeper ACL. The default value is disabled.                            
                          |
    | kylin.env.zookeeper.zk-auth                                 | The user 
password and authentication method used by Zookeeper. The default value is 
empty.                           |
    | kylin.env.zookeeper.zk-acl                                  | ACL 
permission setting. The default value is `world:anyone:rwcda`. By default, all 
users can perform all operations. |
diff --git a/website/sidebars.js b/website/sidebars.js
index f81394dd6e..55663bfcca 100644
--- a/website/sidebars.js
+++ b/website/sidebars.js
@@ -143,7 +143,7 @@ const sidebars = {
                 },
                 {
                     type: 'category',
-                    label: 'System Configuration',
+                    label: 'Configuration',
                     link: {
                         type: 'doc',
                         id: 'configuration/intro',
@@ -153,29 +153,30 @@ const sidebars = {
                             type: 'doc',
                             id: 'configuration/configuration'
                         },
+
                         {
                             type: 'doc',
-                            id: 'configuration/spark_dynamic_allocation'
+                            id: 'configuration/hadoop_queue_config'
                         },
                         {
                             type: 'doc',
-                            id: 'configuration/hadoop_queue_config'
+                            id: 'configuration/https'
                         },
                         {
                             type: 'doc',
-                            id: 'configuration/query_cache'
+                            id: 'configuration/log_rotate'
                         },
                         {
                             type: 'doc',
-                            id: 'configuration/https'
+                            id: 'configuration/query_cache'
                         },
                         {
                             type: 'doc',
-                            id: 'configuration/spark_rpc_encryption'
+                            id: 'configuration/spark_dynamic_allocation'
                         },
                         {
                             type: 'doc',
-                            id: 'configuration/log_rotate'
+                            id: 'configuration/spark_rpc_encryption'
                         },
                     ],
                 },

Reply via email to