【问题标题】:Can't run nodetool on my vagrant virtual cassandra cluster无法在我的 vagrant 虚拟 cassandra 集群上运行 nodetool
【发布时间】:2016-08-02 19:25:35
【问题描述】:

基本上,我正在尝试运行一个简单的两节点虚拟 cassandra 集群来进行试验。我正在尝试设置它,所以我需要做的就是运行 vagrant up 并让 cassandra 启动并运行。

我已经设法让实际的集群正常工作(我知道这一点是因为在一个节点中我创建了一个键空间和表并在其中插入了一个值,我可以从另一个节点访问该值)但我似乎无法让 nodetool 工作。

当我跑步时

nodetool -h 192.168.10.11 -p 7000 status

我得到了错误

nodetool: Failed to connect to '192.168.10.11:7000' - SocketException: 'Connection reset'.

我更改端口的原因是为了避免端口冲突。 (所以我将一个节点的 jmx_port 更改为 7000,另一个节点更改为 7001,我还更改了 rpc_port 和 native_transport_port 以便每个节点使用唯一的端口)

【问题讨论】:

    标签: cassandra vagrant nodetool


    【解决方案1】:

    好的,我知道我需要修复什么才能让 nodetool 正常工作。

    首先,您根本不需要修改 jmx 端口设置。您也不需要将其公开为 forwarded_port。

    现在谈谈如何让它真正发挥作用:

    在 cassandra-env.sh 中有一行被注释掉,上面写着:

    #JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=<hostname>
    

    取消注释此行并输入您希望 nodetool 连接的节点的主机名或 ip 或您要连接到的节点。就这么简单。

    【讨论】:

      【解决方案2】:

      对于使用 Ubuntu 让 Cassandra 在 vagrant 上运行仍有问题的人,我想分享我的 shell 脚本来安装 Java8 和 Cassandra。也许有帮助:

      # Update Packages
      sudo apt-get update
      # sudo apt-get upgrade -y
      
      # Install necassary software
      sudo apt-get install software-properties-common python-software-properties debconf-utils curl --assume-yes
      
      # Installing the Oracle Java Virtual Machine
      sudo add-apt-repository ppa:webupd8team/java -y
      sudo apt-get update
      echo debconf shared/accepted-oracle-license-v1-1 select true | sudo debconf-set-selections
      echo debconf shared/accepted-oracle-license-v1-1 seen true | sudo debconf-set-selections
      sudo apt-get install oracle-java8-set-default -y 
      
      # Installing Cassandra
      curl -L http://debian.datastax.com/debian/repo_key | sudo apt-key add -
      echo "deb http://debian.datastax.com/community stable main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list
      sudo apt-get update
      sudo apt-get install dsc22=2.2.7-1 cassandra=2.2.7 -y
      sudo apt-get install cassandra-tools=2.2.7 -y
      sudo chmod 750 /var/run/cassandra
      # Configure hostname or ip for nodetool
      sudo sed -i 's@# JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=<public name>"@JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=127.0.0.1"@' /etc/cassandra/cassandra-env.sh
      sleep 10
      
      # Status Cassandra And Oracle Java Version
      java -version
      sudo service cassandra status
      sudo nodetool status
      

      【讨论】:

        猜你喜欢
        • 2017-04-21
        • 1970-01-01
        • 2021-11-21
        • 2019-06-14
        • 2019-05-26
        • 1970-01-01
        • 2023-03-02
        • 2017-03-02
        • 1970-01-01
        相关资源
        最近更新 更多