檢視 Apache Cassandra 的原始碼
←
Apache Cassandra
跳至導覽
跳至搜尋
由於以下原因,您無權編輯此頁面:
您請求的操作只有這個群組的使用者能使用:
使用者
您可以檢視並複製此頁面的原始碼。
'''Apache Cassandra'''是一套資料庫。 == 需求 == 開機就大約吃1.3GB左右,用2GB記憶體機器開機完就已經有吃到Swap了,最好是4GB記憶體,我這邊是用[[AWS]]的<code>t4g.medium</code>跑測試環境。 == 安裝 == 先安裝[[OpenJDK]] 11: <syntaxhighlight lang="bash"> sudo apt install -y openjdk-11-jdk; sudo apt clean </syntaxhighlight> 再來安裝Cassandra 4: <syntaxhighlight lang="bash"> curl -L https://www.apache.org/dist/cassandra/KEYS | sudo apt-key add -; echo "deb http://www.apache.org/dist/cassandra/debian 40x main" | sudo tee /etc/apt/sources.list.d/cassandra.list; sudo apt update; sudo apt install -y cassandra </syntaxhighlight> == 設定 == === 防火牆 === {| class="sortable wikitable" ! Port ! Usage ! Comment |- | 7000/tcp | Cluster communication | |- | 7001/tcp | Cluster communication (TLS mode) | |- | 7199/tcp | JMX | |- | 9042/tcp | Native protocol | |} === /etc/cassandra/cassandra.yaml === 基本上一定會改的: * <code>cluster_name</code>改成自己要的名稱。 * <code>listen_address</code>改成自己的IP位置(但不能是<code>0.0.0.0</code>,有擋),這樣外部才能連線。可以考慮直接用<code>listen_interface</code>。 * <code>seeds</code>改成第一台機器的IP位置與Port,這個參數只在第一次初始化整個Cassandra時用一次,後續的機器資訊都會存到硬碟裡。如果沒有用Cluster架構的話不需要改。 其他會改的: * <code>commitlog_compression</code>改用<code>LZ4Compressor</code>。 * <code>endpoint_snitch</code>改成<code>Ec2Snitch</code>或是<code>Ec2MultiRegionSnitch</code>,如果你的Cassandra架在[[AWS]]上。 * <code>hints_compression</code>改用<code>LZ4Compressor</code>。 * <code>internode_compression</code>改成<code>all</code>。 === 帳號密碼 === Cassandra預設是不檢查帳號密碼的,需要修改設定: * <code>authenticator</code>改成<code>PasswordAuthenticator</code>。 * <code>authorizer</code>改成<code>CassandraAuthorizer</code>。 * <code>role_manager</code>改成<code>CassandraRoleManager</code>(似乎已經是預設)。 重啟所有節點後,然後用預設的帳號密碼(都是<code>cassandra</code>)連進cluster: <syntaxhighlight lang="bash"> cqlsh cassandra-1.example.com -u cassandra -p cassandra </syntaxhighlight> 接下來可以設定最高使用者以及一般使用者: <syntaxhighlight lang="sql"> CREATE USER root WITH PASSWORD 'rootpassword' SUPERUSER; CREATE USER alice WITH PASSWORD 'alicepassword'; CREATE USER bob WITH PASSWORD 'bobpassword'; </syntaxhighlight> 然後授權<code>alice</code>這個keyspace給<code>alice</code>這個使用者,並且給<code>bob</code>這個使用者查詢: <syntaxhighlight lang="sql"> GRANT ALL ON KEYSPACE alice TO alice; GRANT SELECT ON KEYSPACE alice TO bob; </syntaxhighlight> == 常用指令 == === cqlsh === 使用cqlsh: <syntaxhighlight lang="bash"> cqlsh cassandra-1.example.com -u root -p password </syntaxhighlight> 列出所有的keyspace: <syntaxhighlight lang="sql"> DESCRIBE keyspaces; </syntaxhighlight> 使用<code>ks1</code>然後列出table: <syntaxhighlight lang="sql"> USE ks1; DESCRIBE tables; </syntaxhighlight> === 其他指令 === 看目前Cluster的狀態: <syntaxhighlight lang="bash"> nodetool status </syntaxhighlight> == 連結 == * {{Official|https://cassandra.apache.org/}} [[Category:軟體]]
此頁面使用了以下模板:
Template:Official
(
檢視原始碼
)
Template:Official website
(
檢視原始碼
)
Module:Arguments
(
檢視原始碼
)
Module:Official website
(
檢視原始碼
)
Module:URL
(
檢視原始碼
)
返回到「
Apache Cassandra
」。
導覽選單
個人工具
登入
命名空間
頁面
討論
臺灣正體
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
臺灣正體
視圖
閱讀
檢視原始碼
檢視歷史
更多
搜尋
導覽
首頁
近期變更
隨機頁面
MediaWiki說明
工具
連結至此的頁面
相關變更
特殊頁面
頁面資訊