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

duanzhengqiang pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/shardingsphere-on-cloud.git


The following commit(s) were added to refs/heads/main by this push:
     new ab5ce00  docs: add more instructions for Pitr readme
     new 3ebb612  Merge pull request #446 from mlycore/update-pitr-doc
ab5ce00 is described below

commit ab5ce004c171f08291f7122dfde88fa7594f24c4
Author: mlycore <[email protected]>
AuthorDate: Sun Sep 24 15:38:36 2023 +0800

    docs: add more instructions for Pitr readme
    
    Signed-off-by: mlycore <[email protected]>
---
 pitr/README.md | 98 +++++++++++++++++++++++++++++++++++++++++-----------------
 1 file changed, 69 insertions(+), 29 deletions(-)

diff --git a/pitr/README.md b/pitr/README.md
index 3b141c6..ae9ab84 100644
--- a/pitr/README.md
+++ b/pitr/README.md
@@ -4,8 +4,24 @@ This is a cli tool for point-in-time recovery of Apache 
ShardingSphere and OpenG
 
 ## Prerequisition
 
+Before you start, you need to prepare at least three servers, set the running 
environment and deploy required softwares respectively. The topology is:
+
+
+```shell
++------------------------------+             +------------------+
+|                              |             | OpenGauss Server |
+| Apache ShardingSphere Proxy  |             | Pitr Agent       |
+| Apache Zookeeper             | ----------> +------------------+
+| Pitr Cli (aka `gs_pitr`)     |             | OpenGauss Server |
+|                              |             | Pitr Agent       |
++------------------------------+             +------------------+
+```
+
+
 ### Servers
 
+You need to prepare at least three servers: one server for the Pitr 
commandline tool and Apache ShardingSphere, other two servers for the Pitr 
agent and OpenGauss:
+
 | | Role | Components |
 |:-:|:-:|:-:|
 |1| Pitr cli operation server | Pitr Cli + ShardingSphere Proxy + Zookeeper|
@@ -14,18 +30,25 @@ This is a cli tool for point-in-time recovery of Apache 
ShardingSphere and OpenG
 
 ### Environment
 
-- Apache ShardingSphere Proxy can access OpenGauss network
+After the servers are ready, you should check and ensure the following items:
+
+- Apache ShardingSphere Proxy is allowed to access OpenGauss Servers
 - External access to Apache ShardingSphere Proxy
 - External access to OpenGauss Server via port 18080
+- Set below environment variables on OpenGauss Servers
+  - export PGDATABASE=13100
+  - export PGPORT=tpccdb
 - OpenGauss has user `omm` and database `omm` which can be accessed
 - OpenGauss enables `cbm tracking`
-- SSL key pairs for Pitr cli-agent secure communication
+- SSL key pairs. Any valid key pairs are acceptable, they will be used for 
Pitr cli-agent secure communication
 
 #### Compilation (optional)
 
-If you want to compile Pitr tools yourself, you should using a recommanded 
Golang version 1.20 with Linux 3.10.0-957.el7.x86_64. Following the steps below 
to compile both Pitr agent and cli.
+Generally the Pitr command line tools, including cli binary and agent binary 
could be downloaded throught the [Apache ShardingSphere-on-Cloud release 
page](https://github.com/apache/shardingsphere-on-cloud/releases). 
+
+In case of if you want to compile Pitr tools yourself, you should using this 
recommanded Golang version 1.20 with Linux 3.10.0-957.el7.x86_64. Please follow 
the steps below to compile both Pitr agent and cli.
 
-Step 1. Firstly clone the project
+Step 1. Clone the project
 
 ```shell
 git clone [email protected]:apache/shardingsphere-on-cloud.git
@@ -52,28 +75,48 @@ The communication of Pitr cli and Pitr agent is secured by 
TLS which needs a SSL
 - tls.key
 - tls.crt
 
+The key pair need to be deployed on the servers where Pitr agent and OpenGauss 
are installed.
+
 #### Generate new TLS keypair (Optional)
 
-Make sure you have a usable OpenSSL environment, check environment variable 
OPENSSL_CONF, generally it is set to `/etc/pki/tls`.
+If you want to generate a new key pair, please make sure you have a available 
OpenSSL environment, check environment variable OPENSSL_CONF, generally it is 
set to `/etc/pki/tls`.
 
 Then using the script under Pitr agent code directory, execute the commands 
below:
 
 ```shell
-git clone [email protected]:apache/shardingsphere-on-cloud.git
 cd shardingsphere-on-cloud/pitr/agent
 make openssl-local
 ```
 
-After that, the keypair files will be write to `./certs` in the current 
directory.
+After that, the keypair files will be write to `./certs` in the current 
directory. 
 
 
 ## Deployment
 
-Pitr cli (aka `gs_pitr`) and Pitr agent (aka `pitr-agent`) binaries could be 
downloaded at Apache ShardingSphere on Cloud release page, or just compiled in 
your local development environment.
+Pitr cli (aka `gs_pitr`) and Pitr agent (aka `pitr-agent`) binaries could be 
downloaded at [Apache ShardingSphere on Cloud release 
page](https://github.com/apache/shardingsphere-on-cloud/releases), or just 
compiled in your local development environment according the previous 
instructions.
 
-### Step 1: Get ShardingSphere Proxy Configurations
+The whole deployment process consists of two parts: 
 
-Substitute the OpenGauss server address below:
+1. Deploying Apache ShardingSphere Proxy, Zookeeper and Pitr Cli, refering to 
step 1 - step 2
+2. Deploying OpenGauss and Pitr Agent, refering to step 3 - step 5.
+
+### Step 1: Get Pitr tools
+
+You can download pre-compiled Pitr tools binary release or compile them 
yourself from source code.
+
+#### Get binary release
+
+The binaries are packaged as .tar.gz file on [release 
page](https://github.com/apache/shardingsphere-on-cloud/releases). You can 
download expected version and uncompress the binary files `gs_pitr` and 
`pitr-agent`.
+
+#### Compile it yourself
+
+Please refer to the `Compilation` section in `Prerequsition` for detailed 
instructions.
+
+After fetching the binaries successfully. You need to save the `gs_pitr` to 
the same server where Apache ShardingSphere Proxy is located. And save 
`pitr-agent` to the servers where OpenGauss is deployed.
+
+### Step 2: Get ShardingSphere Proxy Configurations
+
+Using the OpenGauss host to substitute the ${OPENGAUSS_SERVER_1} and 
${OPENGAUSS_SERVER_2} below:
 
 server.yaml
 
@@ -141,29 +184,23 @@ dataSources:
     minPoolSize: 1
 ```
 
-### Step 2: Get OpenGauss Configurations
+And using the script `bin/start.sh` to start ShardingSphere Proxy. This script 
could be found in 
apache-shardingsphere-{version}-shardingsphere-proxy-bin.tar.gz
+
+### Step 3: Set OpenGauss Configurations
 
-Enable `cbm tracking` in postgres.conf
+a. Enable `cbm tracking` in postgres.conf
 
 ```shell
 enable_cbm_tracking = on
 ```
+b. Execute `gs_probackup init -B ${backup-path}` to set the expected backup 
path. 
 
-### Step 3: Get Pitr tools
-
-You can download pre-compiled Pitr tools binary release or compile them 
yourself from source code.
-
-#### Get binary release
-
-The binaries are packaged as .tar.gz file on [release 
page](https://github.com/apache/shardingsphere-on-cloud/releases). You can 
download expected version and uncompress the binary files `gs_pitr` and 
`pitr-agent`.
+Then you can start both OpenGauss servers.
 
-#### Compile it yourself
 
-Please refer to the `Compilation` section in `Prerequsition` for detailed 
instructions.
+### Step 4: Deploy SSL certs for Pitr Agent
 
-### Step 4: Deploy Pitr Agent
-
-1. Copy cert files
+Before you start Pitr agent, you need to deploy SSL certs for Pitr agent:
 
 If the TLS keypair is compiled yourself, the cert files are located at 
`shardingsphere-on-cloud/pitr/agent/certs`. You should change directory to the 
cert directory before executing the command below:
 
@@ -172,7 +209,11 @@ scp tls.crt tls.key root@${OPENGAUSS_SERVER_1}:/home/omm/
 scp tls.crt tls.key root@${OPENGAUSS_SERVER_2}:/home/omm/
 ```
 
-2. Copy binary files
+Otherwise the key pairs need to be deployed to the same path on OpenGauss 
servers.
+
+### Step 5: Start Pitr Agent
+
+1. Copy binary files
 
 ```shell
 cd shardingsphere-on-cloud/pitr/agent
@@ -181,9 +222,7 @@ scp pitr-agent root@${OPENGAUSS_SERVER_1}:/home/omm/
 scp pitr-agent root@${OPENGAUSS_SERVER_2}:/home/omm/
 ```
 
-### Step 5: Start Pitr Agent
-
-1. Login OpenGauss servers and change directory to `/home/omm`
+2. Login OpenGauss servers and change directory to `/home/omm`
 
 Here are files under `/home/omm`:
 
@@ -197,7 +236,7 @@ drwx------ 29 omm  omm  4.0K May 23 11:37 pgdata
 -rwxr-xr-x  1 root root 1.7K May 16 18:26 tls.key
 ```
 
-2. Start Pitr agent
+3. Start Pitr agent
 
 ```shell
 ./pitr-agent -pgdata /data/data-glt/d1 -port 18080 -tls-crt tls.crt -tls-key 
tls.key -log-level debug
@@ -315,3 +354,4 @@ Verify data:
 ```SQL
 select * from t_user;
 ```
+

Reply via email to