terraform/huawei/cloud-init.yml (103 lines of code) (raw):

#cloud-config # # 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. packages: - default-jre - netcat write_files: - path: /run/shardingsphere-proxy.service permissions: 0644 content: | [Unit] Description=ShardingSphere Proxy Service Requires=network.target After=network.target [Service] Type=forking LimitNOFILE=65536 ExecStart=/usr/local/shardingsphere-proxy/bin/start.sh ExecStop=/usr/local/shardingsphere-proxy/bin/stop.sh Restart=always RestartSec=3 StartLimitInterval=0 [Install] WantedBy=default.target %{ if element(version_elems, 0) <= 5 && element(version_elems, 1) < 3 } - path: /run/server.yaml permissions: 0644 content: | mode: type: Cluster repository: type: ZooKeeper props: namespace: governance_ds server-lists: ${zk_servers} retryIntervalMilliseconds: 500 timeToLiveSeconds: 60 maxRetries: 3 operationTimeoutMilliseconds: 500 rules: - !AUTHORITY users: - root@%:root - sharding@:sharding provider: type: ALL_PERMITTED - !TRANSACTION defaultType: XA providerType: Atomikos - !SQL_PARSER sqlCommentParseEnabled: true sqlStatementCache: initialCapacity: 2000 maximumSize: 65535 parseTreeCache: initialCapacity: 128 maximumSize: 1024 props: max-connections-size-per-query: 1 kernel-executor-size: 16 # Infinite by default. proxy-frontend-flush-threshold: 128 # The default value is 128. proxy-hint-enabled: false sql-show: false check-table-metadata-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: -1 proxy-frontend-executor-size: 0 # 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 # and block other clients if client connections are more than `proxy-frontend-executor-size`, especially executing slow SQL. proxy-backend-executor-suitable: OLAP proxy-frontend-max-connections: 0 # Less than or equal to 0 means no limitation. # Available sql federation type: NONE (default), ORIGINAL, ADVANCED sql-federation-type: NONE # Available proxy backend driver type: JDBC (default), ExperimentalVertx proxy-backend-driver-type: JDBC proxy-mysql-default-version: 5.7.22 # In the absence of schema name, the default version will be used. proxy-default-port: 3307 # Proxy default port. proxy-netty-backlog: 1024 # Proxy netty backlog. %{ endif } %{ if element(version_elems, 0) >= 5 && element(version_elems, 1) > 2 } - path: /run/server.yaml permissions: 0644 content: | mode: type: Cluster repository: type: ZooKeeper props: namespace: governance_ds server-lists: ${zk_servers} retryIntervalMilliseconds: 500 timeToLiveSeconds: 60 maxRetries: 3 operationTimeoutMilliseconds: 500 %{ endif } - path: /run/install_shardingsphere_proxy.sh permissions: 0700 content: | #!/bin/bash echo Installing ShardingSphere v${version} wget -O /run/ss.tar.gz https://mirrors.huaweicloud.com/apache/shardingsphere/${version}/apache-shardingsphere-${version}-shardingsphere-proxy-bin.tar.gz mkdir -p /usr/local/shardingsphere-proxy tar xvf /run/ss.tar.gz --strip 1 -C /usr/local/shardingsphere-proxy if [ -f /run/server.yaml ]; then /bin/cp -avf /run/server.yaml /usr/local/shardingsphere-proxy/conf/server.yaml fi /bin/cp -avf /run/shardingsphere-proxy.service /usr/lib/systemd/system/shardingsphere-proxy.service systemctl daemon-reload systemctl enable shardingsphere-proxy systemctl start shardingsphere-proxy runcmd: - bash /run/install_shardingsphere_proxy.sh