连接远程scylla数据库服务器显示错误

时间:2018-02-01 10:23:37

标签: cassandra scylla

我在谷歌云服务器上安装了scylla-db。

我遵循的步骤:

sudo yum install epel-release

sudo curl -o /etc/yum.repos.d/scylla.repo -L http://repositories.scylladb.com/scylla/repo/a2a0ba89d456770dfdc1cd70325e3291/centos/scylladb-2.0.repo

sudo yum install scylla

sudo scylla_setup

(Given yes to "verify supportable version" , " verify packages" , "core dump", " fstim ssd "
For remaining : Given NO)

IN  file :/etc/scylla.d/io.conf

SEASTAR_IO="--max-io-requests=12 --num-io-queues=1"
( edited this file manually )

sudo systemctl start scylla-server

它显示:无法读取yaml文件。然后google它并将yaml-cpp版本从0.5.3版本降级到0.5.1。 然后 scylla-server开始运行。

[root@scylla ~]# nodetool status
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address    Load       Tokens       Owns    Host ID                               Rack
UN  127.0.0.1  208.69 KB  256          ?       888e91da-9385-4c61-8417-dd59c1a979b8  rack1
Note: Non-system keyspaces don't have the same replication settings, effective ownership information is meaningless


[root@scylla ~]# cat /etc/scylla/scylla.yaml | grep seeds:
          - seeds: "127.0.0.1"
[root@scylla ~]# cat /etc/scylla/scylla.yaml | grep rpc_address:
rpc_address: localhost
#broadcast_rpc_address: 
[root@scylla ~]# cat /etc/scylla/scylla.yaml | grep listen_address:
listen_address: localhost

[root@scylla ~]# cqlsh
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.0.8 | CQL spec 3.3.1 | Native protocol v4]
Use HELP for help.
cqlsh> exit



[root@scylla ~]# netstat -tupln | grep LISTEN
tcp        0      0 127.0.0.1:10000         0.0.0.0:*               LISTEN      6387/scylla         
tcp        0      0 127.0.0.1:9042          0.0.0.0:*               LISTEN      6387/scylla         
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1105/sshd           
tcp        0      0 127.0.0.1:7000          0.0.0.0:*               LISTEN      6387/scylla         
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1119/master         
tcp        0      0 0.0.0.0:9180            0.0.0.0:*               LISTEN      6387/scylla         
tcp        0      0 127.0.0.1:9160          0.0.0.0:*               LISTEN      6387/scylla         
tcp6       0      0 :::80                   :::*                    LISTEN      5217/httpd          
tcp6       0      0 :::22                   :::*                    LISTEN      1105/sshd           
tcp6       0      0 :::35063                :::*                    LISTEN      6412/scylla-jmx     
tcp6       0      0 ::1:25                  :::*                    LISTEN      1119/master         
tcp6       0      0 127.0.0.1:7199          :::*                    LISTEN      6412/scylla-jmx     

scylla-server正在运行。

相同的设置是另一台服务器 服务器名称scylla-db-1

我需要从此服务器连接到服务器scylla(IP:xx.xx.xxx)。

当我执行以下内容时:

[root@scylla-db-1 ~]# cqlsh xx.xx.xxx
Connection error: ('Unable to connect to any servers', {'xx.xx.xxx': error(111, "Tried connecting to [('xx.xx.xxx', 9042)]. Last error: Connection refused")})

如何从此服务器连接远程服务器?

另外 在浏览器中查看http://xx.xx.xxx:10000http://xx.xx.xxx:10000/ui时,我遇到了问题加载页面。

注意:

  

我已经编辑了/etc/scylla.d/io.conf文件来分配   手动max-io-requests

2 个答案:

答案 0 :(得分:7)

端口10000是scylla的其余api,通常被限制在127.0.0.1 - 这就是为什么你无法访问它

要通过cql获取访问权限,您需要编辑/etc/scylla/scylla.yaml文件并设置rpc_address

请按照为群集部署配置scylla的说明进行操作:单个直流http://docs.scylladb.com/procedures/create_cluster/或多个直流http://docs.scylladb.com/procedures/create_cluster_multidc/

答案 1 :(得分:1)

您需要在scylla.yaml上设置rpc_address,并在通过cql连接时提供rpc_address以及cqlsh xx.xxx.xxx.xx(如果启用),并带有用户/密码。