CockroachDB
安裝完成後, 能夠本地啓動一個單節點服務器
或多節點集羣
, 並經過內置的SQL客戶端與服務器通訊. 集羣能夠是不安全的
或安全的
方式啓動.html
CockroachDB
的最快方法(), 但在客戶端和服務器之間沒有驗證和加密, 所以它僅限於測試和開發.加密
的客戶端/服務端通訊, 須要建立證書用於客戶端和服務器端的通訊.1.從包含cockroach
的目錄,啓動第一個節點:git
➜ cockroach git:(master) ./cockroach start --insecure build: alpha.v1-735-gbfab4ae @ 2016/03/08 05:20:06 (go1.6) admin: http://localhost:26257 sql: postgresql://root@localhost:26257?sslmode=disable logs: cockroach-data/logs store[0]: path=cockroach-data
--insecure
設置通訊模式爲非安全
模式. 服務器默認在端口26257
監聽客戶端請求, 如要綁定到其餘端口, 使用--port=<port>
參數.cockroach-data
目錄. 要存儲到不一樣的位置, 設置--store=<filepath>
. 要使用多個存儲, 但對爲每個設置該編輯.CockroachDB
版本等一些有幫助的信息, 管理UI的URL, 客戶端節點的SQL URL, 以及節點數據和日誌的存儲位置.2.對於每個集羣中的節點, 重複第一步的命令, 並附加額外的標記:sql
$ ./cockroach start --insecure --store=<filepath> --port=26258 --join=localhost:26257 &
--store
參數指定一個未被其餘節點使用的存儲位置. 要使用多個存儲, 分別爲每個設置該標記詳細的參數可經過 ./cockroach start --help
查看:shell
--port
標記, 指定一個未被使用的端口--join
參數加入該節點到集羣. 設置該參數 localhost
和第一個節點的端口號$ ./cockroach sql --insecure # Welcome to the cockroach SQL interface. # All statements must be terminated by a semicolon. # To exit: CTRL + D. root@:26257> CREATE DATABASE bank; CREATE DATABASE root@:26257> SET DATABASE = bank; SET DATABASE root@:26257> CREATE TABLE accounts (id INT PRIMARY KEY, balance DECIMAL); CREATE TABLE root@26257> INSERT INTO accounts VALUES (1234, DECIMAL '10000'); INSERT 1 root@26257> SELECT * FROM accounts; +------+---------+ | id | balance | +------+---------+ | 1234 | 10000 | +------+---------+
http://localhost:26257
能夠查看數據的管理控制檯. 這在啓動數據庫的輸出當中有提示.1.在 cockroach
二進制程序所在的目錄, 建立安全證書:數據庫
$ mkdir certs $ ./cockroach cert create-ca --ca-cert=certs/ca.cert --ca-key=certs/ca.key $ ./cockroach cert create-node localhost $(hostname) --ca-cert=certs/ca.cert --ca-key=certs/ca.key --cert=certs/node.cert --key=certs/node.key $ ./cockroach cert create-client root --ca-cert=certs/ca.cert --ca-key=certs/ca.key --cert=certs/root.cert --key=certs/root.key
Certificate Authority (CA)
證書和祕鑰: ca.cert
和 ca.key
node.cert
和 node.key
. 這些文件用於節點之間通訊. 一般狀況須要爲每個節點生成單獨的這些文件, 由於每一個節點都有其惟一的地址, 由於咱們在本地運行左右節點, 這裏只須要生成一個節點證書和祕鑰.root
用戶: root.cert
和root.key
. 這些文件用於內置客戶端和集羣之間的安全通訊.2.啓動首個節點瀏覽器
$ ./cockroach start --ca-cert=certs/ca.cert --cert=certs/node.cert --key=certs/node.key & build: alpha.v1-903-g51388a2 @ 2016/03/11 14:15:26 (go1.6) admin: https://ROACHs-MBP:8080 sql: postgresql://root@ROACHs-MBP:26257?sslcert=%2FUsers%2F... logs: cockroach-data/logs store[0]: path=cockroach-data
--ca-cert
, --cert
, 以及 --key
參數指向在第一個中建立的CA證書, 以及節點證書和祕鑰.26257
, 默認的HTTPS端口爲8080. 要綁定不一樣的端口, 設置--port=<port>
和--http-port=<port>
參數.cockroach-data
目錄. 要存儲到其餘位置, 設置--store=<filepath>
參數. 要使用多個存儲設備, 對每一個設備分別設置.3.對每一個其餘節點,重複步驟二, 並添加額外的參數:安全
$ ./cockroach start --store=node2-data --port=26258 --http-port=8081 --join=localhost:26257 --ca-cert=certs/ca.cert --cert=certs/node.cert --key=certs/node.key &
--store
參數指定一個未被其餘節點使用的存儲位置. 要使用多個存儲, 分別爲每個設置該標記--port
和--http-port
參數, 指定未被使用的端口--join
參數加入該節點到集羣. 設置該參數 localhost
和第一個節點的端口號$ ./cockroach sql --ca-cert=certs/ca.cert --cert=certs/root.cert --key=certs/root.key # Welcome to the cockroach SQL interface. # All statements must be terminated by a semicolon. # To exit: CTRL + D.
--ca-cert
和--cert
, 以及--key
參數指向CA證書以及在第一步建立的root
用戶的證書和祕鑰.26257
, 要指定不一樣的端口, 設置--port=<port>
參數.root@:26257> CREATE DATABASE bank; CREATE DATABASE root@:26257> SET DATABASE = bank; SET DATABASE root@:26257> CREATE TABLE accounts (id INT PRIMARY KEY, balance DECIMAL); CREATE TABLE root@26257> INSERT INTO accounts VALUES (1234, DECIMAL '10000'); INSERT 1 root@26257> SELECT * FROM accounts; +------+---------+ | id | balance | +------+---------+ | 1234 | 10000 | +------+---------+
5.瀏覽器指向 http://localhost:8080
能夠查看數據的管理控制檯. 這在啓動數據庫的輸出當中有提示.post