質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Cassandra

Cassandraは、key-valueストア型のデータベース管理ソフト及び オープンソースの分散データベース管理システムのことです。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Q&A

0回答

375閲覧

vagrant環境で、Cassandraのnodetoolを使用できない。

kenji267

総合スコア50

Cassandra

Cassandraは、key-valueストア型のデータベース管理ソフト及び オープンソースの分散データベース管理システムのことです。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

0グッド

0クリップ

投稿2018/11/10 03:55

編集2018/11/10 07:49

実現したいこと

構築した環境(前提参照)で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

・2台が相互に通信できることを確認
イメージ説明

・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

質問に当たって

今回のエラーはネットで色々出ています。
しかしながら考慮するところが色々あり、知識も浅いところが多く、解決に至りません。
基本的なところがわかっていないところもありますが、わかっていないだけにどう調査いていったらいいかわからなくなっているというのが正直なところです。
質問した経緯として、どこから手をつけていいかわかりづらくなり、わからないところを整理するためもあります。
お力いただければ幸いです。よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問