【问题标题】:Cassandra config change to use hostnames after ip's changedCassandra 配置更改为在 ip 更改后使用主机名
【发布时间】:2017-11-06 19:12:03
【问题描述】:

Cassandra 的初始安装是使用 IP 地址完成的,并且已经运行了 6 个多月。上周末 DevOps 将安全性更改为不允许 IP 地址并重新分配新的 IP 地址。我修改了所需的文件(cassandra.yaml、cassandra-rackdc.properties 等)以包含主机名。问题是 nodetool 状态给出了错误,无法连接到 '127.0.0.1:7199,并且我在 cassandra-env.sh 中有 JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=blah"。任何想法如何进行环境备份?我应该浏览相同的文件并用新的 IP 地址替换主机名吗?谢谢。

【问题讨论】:

  • 欢迎来到 Stack Overflow。请查看Tour 和Asking。
  • 试试nodetool -h your_new_host status

标签: cassandra


【解决方案1】:

在 Cassandra.yaml 中有两个选项可以提供监听地址。

  • listen_address
  • listen_interface

要完全不知道 IP 地址或主机名,请使用 listen_interface 选项并注释 listen_address。这是所需的 Cassandra.yaml 更改

# Address or interface to bind to and tell other Cassandra nodes to  connect to.
#
#listen_address: xx.xxx.xx.xxx

# Set listen_address OR listen_interface, not both. Interfaces must    correspond
# to a single address, IP aliasing is not supported.
listen_interface: eth0

要找出实际的listen_interface,发出命令

  • ifconfig -a
  • 选择显示“UP BROADCAST RUNNING”的界面。 (在我的情况下为 eth0)

输出应该是这样的

root@ip-xx-xxx-x-xxx:~# ifconfig -a
docker0   Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx
      inet addr:xxx.xx.x.x  Bcast:0.0.0.0  Mask:255.255.0.0
      UP BROADCAST MULTICAST  MTU:1500  Metric:1
      RX packets:2 errors:0 dropped:0 overruns:0 frame:0
      TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:152 (152.0 B)  TX bytes:0 (0.0 B)

eth0      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx
         inet addr:xx.xxx.xx.xx  Bcast:xx.xxx.xx.xx  Mask:255.255.0.0
         UP BROADCAST RUNNING MULTICAST  MTU:9001  Metric:1
         RX packets:169552382 errors:0 dropped:0 overruns:0 frame:0
         TX packets:185182015 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:88406501352 (88.4 GB)  TX bytes:126516101404 (126.5 GB)

lo        Link encap:Local Loopback
          inet addr:xx.xxx.xx.xx  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:38490371 errors:0 dropped:0 overruns:0 frame:0
          TX packets:38490371 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:41155731774 (41.1 GB)  TX bytes:41155731774 (41.1 GB)

重新启动 Cassandra,一切顺利。 另一个优点是 Cassandra.yaml 在您的节点之间不再需要不同(假设所有节点都具有相同的网络接口)。

【讨论】:

  • 非常有帮助。问候。
猜你喜欢
  • 2017-12-19
  • 2020-04-17
  • 1970-01-01
  • 2012-02-10
  • 2010-10-06
  • 2019-01-09
  • 2013-02-26
  • 1970-01-01
相关资源
最近更新 更多