From 7fcad51d55f7db61c6269da8253b05cf4a42efbc Mon Sep 17 00:00:00 2001 From: Kent Yao Date: Wed, 28 Oct 2020 15:55:21 +0800 Subject: [PATCH] doc init 2 --- docs/client/index.rst | 5 ++--- docs/conf.py | 11 +++++------ docs/imgs/index.rst | 1 - docs/quick_start/index.rst | 3 +-- docs/server/architecture.md | 8 ++------ docs/server/containerization.md | 12 +++--------- docs/server/high_availability_guide.md | 8 ++------ docs/server/trouble_shooting.md | 2 +- 8 files changed, 16 insertions(+), 34 deletions(-) delete mode 100644 docs/imgs/index.rst diff --git a/docs/client/index.rst b/docs/client/index.rst index df838377d..f30c3ef05 100644 --- a/docs/client/index.rst +++ b/docs/client/index.rst @@ -1,6 +1,5 @@ - -Kyuubi Client Documentation -=========================== +Client Documentation +==================== .. toctree:: :maxdepth: 2 diff --git a/docs/conf.py b/docs/conf.py index 90e72f54b..b5338181d 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -23,14 +23,12 @@ html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] import recommonmark from recommonmark.transform import AutoStructify from recommonmark.parser import CommonMarkParser -source_parsers = { - '.md': CommonMarkParser, -} +# source_parsers = { +# '.md': CommonMarkParser, +# } source_suffix = ['.rst', '.md'] - - # -- Project information ----------------------------------------------------- project = 'Kyuubi' @@ -98,5 +96,6 @@ def setup(app): app.add_config_value('recommonmark_config', { 'url_resolver': lambda url: github_doc_root + url, 'auto_toc_tree_section': 'Contents', + 'enable_eval_rst': True, }, True) - app.add_transform(AutoStructify) \ No newline at end of file + app.add_transform(AutoStructify) diff --git a/docs/imgs/index.rst b/docs/imgs/index.rst deleted file mode 100644 index f3517b018..000000000 --- a/docs/imgs/index.rst +++ /dev/null @@ -1 +0,0 @@ -.. image:: ha.png \ No newline at end of file diff --git a/docs/quick_start/index.rst b/docs/quick_start/index.rst index 1e889e2aa..dafe7cff6 100644 --- a/docs/quick_start/index.rst +++ b/docs/quick_start/index.rst @@ -1,4 +1,3 @@ - Quick Start =========== @@ -6,4 +5,4 @@ Quick Start :maxdepth: 2 :numbered: 2 - building \ No newline at end of file + building diff --git a/docs/server/architecture.md b/docs/server/architecture.md index ee83b78de..97b5c07af 100644 --- a/docs/server/architecture.md +++ b/docs/server/architecture.md @@ -20,9 +20,7 @@ of HiveServer2, which can be found at [HiveServer2 Thrift API](https://cwiki.apa as the client-server communication mechanism, and a user session level `SparkContext` instantiating / registering / caching / recycling mechanism to implement multi-tenant functionality. -
- -
+![](../imgs/kyuubi_architecture.png)

Unified Interface

@@ -113,9 +111,7 @@ spark.kyuubi.
ha.zk.namespace|kyuubiserver|The parent node in ZooKeeper use Kyuubi's internal is very simple to understand, which is shown as the picture below. We may take about it more detailly later. -
- -
+![](../imgs/kyuubi_internal.png) ## Additional Documentations diff --git a/docs/server/containerization.md b/docs/server/containerization.md index 93ab956de..deed6fc62 100644 --- a/docs/server/containerization.md +++ b/docs/server/containerization.md @@ -12,9 +12,7 @@ service serving in YARN Container.

Service Model

-
- -
+![](../imgs/containerization.png) The above picture shows the whole architecture for Kyuubi containerization. The key concept is simple and obvious, which runs Kyuubi server as YARN container and serve the JDBC/ODBC client remotely. In such an deployment mode, we do not need to configure or even make some customizations for some complicated situations. @@ -61,15 +59,11 @@ $ bin/start-kyuubi.sh \ At last, a KYUUBI type YARN application named KYUUBI SERVER[version] will be created on the YARN cluster. If we go to the ResourceManager UI, we may see somme thing as follow, -
- -
+![](../imgs/kyuubi_server_on_yarn.png) And also, the server log is available to look up through the ApplicationMaster page. -
- -
+![](../imgs/kyuubi_server_on_yarn_log.png) ## Additional Documentations [Building Kyuubi](https://yaooqinn.github.io/kyuubi/docs/building.html) diff --git a/docs/server/high_availability_guide.md b/docs/server/high_availability_guide.md index a1b0f6379..ef9736c90 100644 --- a/docs/server/high_availability_guide.md +++ b/docs/server/high_availability_guide.md @@ -20,9 +20,7 @@ The number of user concurrency and the size of your cluster may be two major ind Load balancing aims to optimize all Kyuubi service units usage, maximize throughput, minimize response time, and avoid overload of a single unit. Using multiple Kyuubi service units with load balancing instead of a single unit may increase reliability and availability through redundancy. -
- -
+![](../imgs/ha.png) With Hive JDBC Driver, a client can specify service discovery mode in JDBC connection string, i.e. `serviceDiscoveryMode=zooKeeper;` and set `zooKeeperNameSpace=kyuubiserver;`, then it can randomly pick one of the Kyuubi service uris from the specified ZooKeeper address in the `/kyuubiserver` path. @@ -32,9 +30,7 @@ When we set `spark.kyuubi.ha.enabled` to `true`, load balance mode is activated Active/Standby failover enables you to use a standby Kyuubi server to take over the functionality of a failed unit. When the active unit fails, it changes to the standby state after fixed while the standby unit changes to the active state. -
- -
+![](../imgs/ha_failover.png) A client need not to change any of its behaviours to support load balance or failover mode. But because only the active Kyuubi server will expose its service uri to ZooKeeper in `/kyuubiserver`, clients always randomly pick a server from one and the only choice. diff --git a/docs/server/trouble_shooting.md b/docs/server/trouble_shooting.md index 2530dd9fc..7e5ea38dd 100644 --- a/docs/server/trouble_shooting.md +++ b/docs/server/trouble_shooting.md @@ -1,6 +1,6 @@ # Trouble Shooting ## Debugging Kyuubi -```shell script +```java KYUUBI_JAVA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005 bin/kyuubi.sh start ``` \ No newline at end of file