実現したいこと
構築した環境(前提参照)でCassandraのnodetoolを使えるようにしたい。
確認したいこと
・設定変更に関して
JVM_OPTS等の設定が必要になってくると考えています。
今2台で設定しているIPアドレスは192.168.33.41、192.168.33.42です。
127.0.0.1との関連性が実はよくわかっておりません。
その辺が整理つきません。
ちなみにこの変更は、全サーバで行うのでしょうか。
色々わかっていないところが多く、この辺何でもいいのでご教授いただけないでしょうか。
発生している問題・エラーメッセージ
[root@cassandra1 conf]# /usr/local/cassandra/bin/nodetool status nodetool: Failed to connect to '127.0.0.1:7199' - ConnectException: 'Connection refused (Connection refused)'.
前提
下記サイトを参考にcassandraを試す環境を作っています。
https://www.nttpc.co.jp/technology/cassandra.html
・サーバー構成を次の通り作成
vagrant環境でCassandraのサーバー 2台 (CentOS 7)
ホスト名: cassandra1, cassandra2
cassandra:apache-cassandra-3.11.3
centOS:CentOS Linux release 7.5.1804 (Core)
java-verion
(以下をインストールしている。特に制御はしていない)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
2台にした理由は、3台にするとなぜかかなりメモリを食うためです。
Vagrantfile
1Vagrant.configure("2") do |config| 2 (1..2).each do |no| 3 name = "cassandra#{no}" 4 config.vm.define name do |node| 5 node.vm.box = "centos/7" 6 node.vm.hostname = name 7 node.vm.network "private_network", ip: "192.168.33.4#{no}" 8 end 9 end 10end 11
(接続情報)
mbp:CassandraTest aaa$ vagrant ssh-config Host cassandra1 HostName 127.0.0.1 User vagrant Port 2222 UserKnownHostsFile /dev/null StrictHostKeyChecking no PasswordAuthentication no IdentityFile /Users/aaa/MyVagrant/CassandraTest/.vagrant/machines/cassandra1/virtualbox/private_key IdentitiesOnly yes LogLevel FATAL Host cassandra2 HostName 127.0.0.1 User vagrant Port 2200 UserKnownHostsFile /dev/null StrictHostKeyChecking no PasswordAuthentication no IdentityFile /Users/aaa/MyVagrant/CassandraTest/.vagrant/machines/cassandra2/virtualbox/private_key IdentitiesOnly yes LogLevel FATAL
・cassandra起動を確認
[root@cassandra1 init.d]# /etc/init.d/cassandra start Start Cassandra
試したこと
以下を調査中です。
・JVM_OPTSの設定
「JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=」箇所のコメントを外す。
https://www.liquidweb.com/kb/error-failed-to-connect-to-127-0-0-17199-connection-refused-cassandra-solved/
・JVM_OPTSの設定2
JVM_OPTS、listen_address、broadcast_rpc_addressの設定修正
https://stackoverflow.com/questions/41776345/cassandra-failed-to-connect
・メモリ状況及び変更方法の確認
以下調査中
https://stackoverflow.com/questions/46013168/apache-cassandra-connection-refused
(現状のメモリ状況)
[vagrant@cassandra1 ~]$ free -m total used free shared buff/cache available Mem: 487 39 301 1 146 410 Swap: 1535 30 1505
(対応方法)
メモリを増幅する。
Vagrantfile
1Vagrant.configure("2") do |config| 2 (1..2).each do |no| 3 name = "cassandra#{no}" 4 config.vm.define name do |node| 5 //メモリ調整 6 node.vm.provider "virtualbox" do |vm| 7 vm.customize ["modifyvm", :id, "--memory", "2048"] 8 end 9 10 node.vm.box = "centos/7" 11 node.vm.hostname = name 12 node.vm.network "private_network", ip: "192.168.33.4#{no}" 13 end 14 end 15end
※上記を行う場合、vagrant destroyしてからもう一度設定をし直す必要があり、できればvagrantをもう少し確認指定から行いたい。
・そもそも7199に接続できていない
以下調査中
https://www.cyberciti.biz/faq/unix-linux-check-if-port-is-in-use-command/
・繋がらないと諦めていたら、繋がっている時もありました。
下記が表示されるまでおそらくかなり時間がかかっていると思われます。
^[root@cassandra1 conf]# /usr/local/cassandra/bin/nodetool status Datacenter: datacenter1 ======================= Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns (effective) Host ID Rack UN 192.168.33.41 148.39 KiB 256 100.0% c2c8a839-7322-4cfc-b84c-a6de3c5ab6b4 rack1 UN 192.168.33.42 114.5 KiB 256 100.0% 3dd12b70-d283-4023-86ff-c34fd1ce13b9 rack1
質問に当たって
今回のエラーはネットで色々出ています。
しかしながら考慮するところが色々あり、知識も浅いところが多く、解決に至りません。
基本的なところがわかっていないところもありますが、わかっていないだけにどう調査いていったらいいかわからなくなっているというのが正直なところです。
質問した経緯として、どこから手をつけていいかわかりづらくなり、わからないところを整理するためもあります。
お力いただければ幸いです。よろしくお願いいたします。
あなたの回答
tips
プレビュー