檢視 CockroachDB 的原始碼
←
CockroachDB
跳至導覽
跳至搜尋
由於以下原因,您無權編輯此頁面:
您請求的操作只有這個群組的使用者能使用:
使用者
您可以檢視並複製此頁面的原始碼。
'''CockroachDB'''是一個分散式的資料庫軟體,目標是與[[PostgreSQL]]相容但可以提供橫向擴充的能力。 == 安裝 == CockroachDB的設計是單一執行檔,沒有複雜的安裝包,所以下載複製到目錄裡即可: <syntaxhighlight lang="bash"> cd /tmp wget -qO- https://binaries.cockroachdb.com/cockroach-v2.1.3.linux-amd64.tgz | tar xvz cp -i cockroach-v2.1.3.linux-amd64/cockroach /usr/local/bin </syntaxhighlight> == 設定 == 設定分成兩塊,一塊是初始第一台機器: <syntaxhighlight lang="bash"> cockroach start --background --insecure --listen-addr=0.0.0.0 --advertise-addr=$(ifconfig eth0 | grep inet | awk '{print $2}') </syntaxhighlight> 另外一塊是後續的機器,多了<code>--join</code>要設定: <syntaxhighlight lang="bash"> cockroach start --background --insecure --listen-addr=0.0.0.0 --join=192.168.x.x --advertise-addr=$(ifconfig eth0 | grep inet | awk '{print $2}') </syntaxhighlight> 可以用以下指令確認機器都有連上cluster: <syntaxhighlight lang="bash"> cockroach node ls --insecure </syntaxhighlight> 然後用PostgreSQL的client連上測試: <syntaxhighlight lang="bash"> psql -h 192.168.x.x -p 26257 -U root </syntaxhighlight> 另外可能要修改<code>replica</code>的數量(預設是5): <syntaxhighlight lang="sql"> ALTER RANGE default CONFIGURE ZONE USING num_replicas = 3; </syntaxhighlight> == 測試 == 使用一台<code>c5.2xlarge</code>與五台<code>r5.large</code>架設[[Kubernetes]]後在裡面建立六個Pod測試。 === Kubernetes === 使用[[Kubernetes]]時的設定檔如下: <syntaxhighlight lang="bash"> apiVersion: apps/v1 kind: StatefulSet metadata: name: poc-c5 spec: replicas: 1 serviceName: cockroachdb-c5 selector: matchLabels: app: cockroachdb-c5 template: metadata: labels: app: cockroachdb-c5 spec: containers: - name: cockroachdb-c5 image: ubuntu:18.04 command: ["/bin/sh", "-c"] args: - export DEBIAN_FRONTEND=noninteractive; sed -i 's/archive.ubuntu.com/us.archive.ubuntu.com/' /etc/apt/sources.list; apt update; apt install -y ant default-jdk git iproute2 iputils-ping locales mtr-tiny net-tools openjdk-8-jdk postgresql-client sysbench tzdata vim-nox wget; update-alternatives --set java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java; locale-gen en_US.UTF-8; cd /root; git clone https://github.com/oltpbenchmark/oltpbench.git; cd oltpbench; sed -i -e 's/^ALTER TABLE/-- ALTER TABLE/' src/com/oltpbenchmark/benchmarks/tpcc/ddls/tpcc-postgres-ddl.sql; ant clean; ant; cp config/tpcc_config_postgres.xml config/tpcc.xml; sed -i -e 's/localhost:5432/cockroachdb-port.default.svc.cluster.local:26257/' config/tpcc.xml; sed -i -e 's/<username>tpcc/<username>root/' config/tpcc.xml; sed -i -e 's/<password>tpcc/<password>' config/tpcc.xml; sed -i -e 's/TRANSACTION_READ_COMMITTED/TRANSACTION_SERIALIZABLE/' config/tpcc.xml; sleep 3153600000 env: - name: LC_ALL value: en_US.UTF-8 nodeSelector: instancetype: c5 --- apiVersion: apps/v1 kind: StatefulSet metadata: name: poc-r5 spec: replicas: 5 serviceName: cockroachdb-r5 selector: matchLabels: app: cockroachdb-r5 template: metadata: labels: app: cockroachdb-r5 spec: containers: - name: cockroachdb-r5 image: ubuntu:18.04 command: ["/bin/sh", "-c"] args: - export DEBIAN_FRONTEND=noninteractive; sed -i 's/archive.ubuntu.com/us.archive.ubuntu.com/' /etc/apt/sources.list; apt update; apt install -y iproute2 iputils-ping locales mtr-tiny net-tools tzdata vim-nox wget; locale-gen en_US.UTF-8; cd /tmp; wget -qO- https://binaries.cockroachdb.com/cockroach-v2.1.3.linux-amd64.tgz | tar xvz; cp -i cockroach-v2.1.3.linux-amd64/cockroach /usr/local/bin; sleep 3153600000 env: - name: LC_ALL value: en_US.UTF-8 nodeSelector: instancetype: r5 --- apiVersion: v1 kind: Service metadata: name: cockroachdb-port spec: selector: app: cockroachdb-r5 ports: - protocol: TCP port: 26257 targetPort: 26257 </syntaxhighlight> 後續的測試都需要先連入<code>poc-c5-0</code>的terminal: <syntaxhighlight lang="bash"> kubectl exec -it poc-c5-0 /bin/bash </syntaxhighlight> === oltpbenchmark === {{See also|oltpbenchmark}} 這邊是拿[[oltpbenchmark]]測試。 ==== 指令 ==== <syntaxhighlight lang="sql"> CREATE DATABASE tpcc; </syntaxhighlight> <syntaxhighlight lang="bash"> cd /root/oltpbench ./oltpbenchmark -b tpcc -c config/tpcc.xml --create=true --load=true ./oltpbenchmark -b tpcc -c config/tpcc.xml --execute=true </syntaxhighlight> === Sysbench === {{See also|sysbench}} 這邊是拿[[sysbench]]測試。 ==== 指令 ==== <syntaxhighlight lang="sql"> CREATE DATABASE sbtest; </syntaxhighlight> <syntaxhighlight lang="bash"> sysbench --db-driver=pgsql --pgsql-host=cockroachdb-port.default.svc.cluster.local --pgsql-port=26257 --pgsql-user=root --pgsql-password= --time=0 --events=10000000 --report-interval=1 --threads=128 /usr/share/sysbench/oltp_insert.lua prepare sysbench --db-driver=pgsql --pgsql-host=cockroachdb-port.default.svc.cluster.local --pgsql-port=26257 --pgsql-user=root --pgsql-password= --time=0 --events=10000000 --report-interval=1 --threads=128 /usr/share/sysbench/oltp_insert.lua run </syntaxhighlight> == 外部連結 == * {{Official|https://www.cockroachlabs.com}} [[Category:軟體]]
此頁面使用了以下模板:
Template:Official
(
檢視原始碼
)
Template:Official website
(
檢視原始碼
)
Template:See also
(
檢視原始碼
)
Module:Arguments
(
檢視原始碼
)
Module:Hatnote
(
檢視原始碼
)
Module:Official website
(
檢視原始碼
)
Module:See also
(
檢視原始碼
)
Module:TableTools
(
檢視原始碼
)
Module:URL
(
檢視原始碼
)
返回到「
CockroachDB
」。
導覽選單
個人工具
登入
命名空間
頁面
討論
臺灣正體
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
臺灣正體
視圖
閱讀
檢視原始碼
檢視歷史
更多
搜尋
導覽
首頁
近期變更
隨機頁面
MediaWiki說明
工具
連結至此的頁面
相關變更
特殊頁面
頁面資訊