1. 將 listen interface 由 localhost 改為其他 IP, 支援外部連線
2. 建帳號
兩者皆由修改 ~/cassandra/conf/cassandra.yaml 著手
1. Change IP
目前只是先試出來有兩個地方要改
#listen_address: localhost
listen_interface: [your interface] ex. eth1
#rpc_address: localhost
rpc_address: [your ip] ex. 192.168.2.129
比較奇怪的是,
看說明, 應該設 listen_address 就可以, 但直到改了 rpc_address 才真的 listen 在指定的 IP上
另外我目前 listen_address 要改用 listen_interface 才行. 否則執行 cassandra 會有error.待有空再來研究
[另外試了 Cassandra 3.2.1 則是兩者都要設 ip address, 也是奇怪]
2. Create User
預設執行 cql 是不需要 username/password
但當要執行 create user 時, 會出現類似以下 error:
InvalidRequest: code=2200 [Invalid query] message="org.apache.cassandra.auth.CassandraRoleManager doesn't support PASSWORD"
同樣需要修改 config
#authenticator: AllowAllAuthenticator
authenticator: PasswordAuthenticator
#authorizer: AllowAllAuthorizer
authorizer: CassandraAuthorizer
ex.
~/cassandra/bin/cqlsh 192.168.2.129 -u cassandra -p cassandra
Connected to Test Cluster at 192.168.2.129:9042.
[cqlsh 5.0.1 | Cassandra 3.2.1 | CQL spec 3.4.0 | Native protocol v4]
Use HELP for help.
cassandra@cqlsh> create user test with password 'test' ;
參考資料:
http://stackoverflow.com/questions/31820914/in-cassandra-2-2-unable-to-create-role-containing-password
沒有留言:
張貼留言