From 2d49070899a8a8faffede6aa120a6fb3093f6549 Mon Sep 17 00:00:00 2001 From: buter Date: Thu, 31 Mar 2022 16:35:46 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ad5421e..6697015 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ K8S一键化部署脚本参照distributed下的 Kubernates环境部署说明.doc #### 使用说明 -1. distributed:一键化部署脚本 +1. distributed:openGauss分布式搭建脚本 2. docker-build:打包镜像 3. patroni-for-openGauss:适配了openGauss的patroni,负责对openGauss数据库集群进行自动故障管理 -4. simple_install:调用的安装脚本 \ No newline at end of file +4. simple_install:K8S环境初始化脚本 \ No newline at end of file -- Gitee From dadab72248d7344aaeef3eefcdc90b98bdf4e468 Mon Sep 17 00:00:00 2001 From: buter Date: Thu, 31 Mar 2022 20:05:00 +0800 Subject: [PATCH 2/3] =?UTF-8?q?3.0.0=E9=80=82=E9=85=8D=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- distributed/delpoy_sharding.sh | 4 ++-- distributed/patroni.sh | 2 +- ...\250\347\275\262\350\257\264\346\230\216.docx" | Bin 0 -> 162 bytes 3 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 "distributed/~$bernates\347\216\257\345\242\203\351\203\250\347\275\262\350\257\264\346\230\216.docx" diff --git a/distributed/delpoy_sharding.sh b/distributed/delpoy_sharding.sh index 291f6ff..6da9632 100644 --- a/distributed/delpoy_sharding.sh +++ b/distributed/delpoy_sharding.sh @@ -30,11 +30,11 @@ spec: nodeName: ${hostname} containers: - name: ${name}-sha - image: shardingsphere:1.0.1 + image: teslacn/shardingsphere-proxy:og-3714873740 imagePullPolicy: Never volumeMounts: - name: config-file - mountPath: /tmp/ + mountPath: /opt/shardingsphere-proxy/conf ports: - containerPort: 3307 name: ${name} diff --git a/distributed/patroni.sh b/distributed/patroni.sh index ba57e71..1148fba 100644 --- a/distributed/patroni.sh +++ b/distributed/patroni.sh @@ -33,7 +33,7 @@ spec: restartPolicy: Never containers: - name: ${hostname} - image: opengauss:1.0.5 + image: opengauss:3.0.0 imagePullPolicy: Never securityContext: runAsUser: 0 diff --git "a/distributed/~$bernates\347\216\257\345\242\203\351\203\250\347\275\262\350\257\264\346\230\216.docx" "b/distributed/~$bernates\347\216\257\345\242\203\351\203\250\347\275\262\350\257\264\346\230\216.docx" new file mode 100644 index 0000000000000000000000000000000000000000..fcd42e3fa9819ae3c2e99e74ae57ff52b9d59275 GIT binary patch literal 162 xcmd;eOv%m6%PcM_N-W7QVjvRmGB`4%Fyu01GUNeqF+&MM5kn%7%m>oc1^`8%3f%wz literal 0 HcmV?d00001 -- Gitee From 2162fe333f244e1f5338582b9229bcd15f1b20bc Mon Sep 17 00:00:00 2001 From: buter Date: Thu, 31 Mar 2022 20:11:11 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=96=B0=E5=A2=9Esharding=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\347\275\262\350\257\264\346\230\216.docx" | Bin 1229640 -> 1231186 bytes distributed/logback.xml | 45 ++++++++++ distributed/server.yaml | 77 ++++++++++++++++++ ...\347\275\262\350\257\264\346\230\216.docx" | Bin 162 -> 0 bytes 4 files changed, 122 insertions(+) create mode 100644 distributed/logback.xml create mode 100644 distributed/server.yaml delete mode 100644 "distributed/~$bernates\347\216\257\345\242\203\351\203\250\347\275\262\350\257\264\346\230\216.docx" diff --git "a/distributed/Kubernates\347\216\257\345\242\203\351\203\250\347\275\262\350\257\264\346\230\216.docx" "b/distributed/Kubernates\347\216\257\345\242\203\351\203\250\347\275\262\350\257\264\346\230\216.docx" index 45456adcde6a60dc512a4e5e2fe5b6faa3749d1c..cbabdf4a8a6157258a1f181c837a430ed45f87fa 100644 GIT binary patch delta 25409 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%0DABr6?-m{@j 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%0ACR0Dh_=)e-|_I->*&+wEe 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 K8xXj*NdFH8gn~!_ diff --git a/distributed/logback.xml b/distributed/logback.xml new file mode 100644 index 0000000..fad5208 --- /dev/null +++ b/distributed/logback.xml @@ -0,0 +1,45 @@ + + + + + + + [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %logger{36} - %msg%n + + + + + + + + + + + + + + + + + + + + + + + diff --git a/distributed/server.yaml b/distributed/server.yaml new file mode 100644 index 0000000..4afa6e9 --- /dev/null +++ b/distributed/server.yaml @@ -0,0 +1,77 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +###################################################################################################### +# +# If you want to configure governance, authorization and proxy properties, please refer to this file. +# +###################################################################################################### + +#scaling: +# blockQueueSize: 10000 +# workerThread: 40 +# clusterAutoSwitchAlgorithm: +# type: IDLE +# props: +# incremental-task-idle-minute-threshold: 30 +# dataConsistencyCheckAlgorithm: +# type: DEFAULT +# +#mode: +# type: Cluster +# repository: +# type: ZooKeeper +# props: +# namespace: governance_ds +# server-lists: localhost:2181 +# retryIntervalMilliseconds: 500 +# timeToLiveSeconds: 60 +# maxRetries: 3 +# operationTimeoutMilliseconds: 500 +# overwrite: false + +rules: + - !AUTHORITY + users: + - root@%:root + - sharding@:sharding + provider: + type: ALL_PRIVILEGES_PERMITTED +# - !TRANSACTION +# defaultType: XA +# providerType: Atomikos + +props: + max-connections-size-per-query: 2 + # kernel-executor-size: 16 # Infinite by default. + # proxy-frontend-flush-threshold: 128 # The default value is 128. + # proxy-opentracing-enabled: false + # proxy-hint-enabled: false + # sql-show: true +# check-table-metadata-enabled: false +# lock-wait-timeout-milliseconds: 50000 # The maximum time to wait for a lock +# show-process-list-enabled: false +# # Proxy backend query fetch size. A larger value may increase the memory usage of ShardingSphere Proxy. +# # The default value is -1, which means set the minimum value for different JDBC drivers. + proxy-backend-query-fetch-size: 1000 +# check-duplicate-table-enabled: false +# sql-comment-parse-enabled: false + proxy-frontend-executor-size: 128 # Proxy frontend executor size. The default value is 0, which means let Netty decide. +# # Available options of proxy backend executor suitable: OLAP(default), OLTP. The OLTP option may reduce time cost of writing packets to client, but it may increase the latency of SQL execution +# # if client connections are more than proxy-frontend-netty-executor-size, especially executing slow SQL. +# proxy-backend-executor-suitable: OLTP + diff --git "a/distributed/~$bernates\347\216\257\345\242\203\351\203\250\347\275\262\350\257\264\346\230\216.docx" "b/distributed/~$bernates\347\216\257\345\242\203\351\203\250\347\275\262\350\257\264\346\230\216.docx" deleted file mode 100644 index fcd42e3fa9819ae3c2e99e74ae57ff52b9d59275..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 162 xcmd;eOv%m6%PcM_N-W7QVjvRmGB`4%Fyu01GUNeqF+&MM5kn%7%m>oc1^`8%3f%wz -- Gitee