I want to connect to Cassandra installed in a remote server from my dev environment. Dev Environment doesn't have cassandra installed and hence it is not allowing me to do the below for connecting to my cassandra server running on a different machine.
Client System - Dev System without Cassandra
Destination System - Prod Environment where Cassandra is installed
I am trying the below command over my dev terminal to connect to Prod Cassandra.
/opt/cassandra/dse-4.8.7/bin/cqlsh -e "select * from
/"IasService/"./"Table/" limit 10"
remote.stress.py1.s.com 9160 -u test-p test2;
Any leads would be helpful.
tldr;
Remove the 9160 from your command.
It would be easier to help you if you provided the error message or result of your command.
That being said, DSE 4.8.7 has Cassandra 2.1.14 at its core. As of Cassandra 2.1, cqlsh connects using the native binary protocol on port 9042. So forcing it to 9160 (as you are) will definitely not work.
$ cqlsh -e "SELECT release_version FROM system.local" 192.168.6.5 9042
-u cassdba -p superSecret
release_version
-----------------
2.1.13
(1 rows)
And since 9042 is the default port used by cqlsh now, you don't need to specify it at all.
A quick question. When we are trying to take snapshot of our keyspace it is throwing an exception as Read Timeout. Below is the command we are using:-
./nodetool -h 172.16.100.52 -p 9042 snapshot test;
"test" is our keyspace which has some tables and we were trying to take a backup through the snapshot command. Below is the error we are receiving after a minute :-
nodetool: Failed to connect to '172.16.100.52:9042' - SocketTimeoutException: 'Read timed out'.
Is there any parameter in the yaml file or env file which you can think of which might help?
Try it without specifying your port
./nodetool -h 172.16.100.52 snapshot test
9042 is the native binary protocol port, so that's not going to work. 7199 is the JMX port, which is what nodetool is expecting here. In fact, you shouldn't need to specify that at all.
If you insist on specifying a port, try 7199 (unless you have altered the JMX port).
./nodetool -h 172.16.100.52 -p 7199 snapshot test
I have a similar issue, looks like you are using local JMX connection. Check cassandra-env.sh.
I installed Cassandra on OSX.
When trying to run cqlsh from /bin/, I get the following error:
> Connection error: ('Unable to connect to any servers', {'127.0.0.1':
> ConnectionShutdown('Connection <AsyncoreConnection(4522252560)
> 127.0.0.1:9160 (closed)> is already closed',)})
I had difficulty installing Cassandra, and had used brew install cassandra, installed DSE from datastax, and downloaded a binary from Apache.
I think the issue was the result of having a previous installation that wasn't properly uninstalled. My user .cassandra directory had some default configs, that must have been for a different version, and prevented cqlsh from starting.
rm -Rf ~/.cassandra
After that, I could run cqlsh properly.
$ bin/cqlsh
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 2.1.2 | CQL spec 3.2.0 | Native protocol v3]
Use HELP for help.
cqlsh>
Running cassandra helped me to troubleshot the problem:
> cassandra
Cassandra 3.0 and later require Java 8u40 or later.
and:
> java -version
java version "1.7.0_95"
OpenJDK Runtime Environment (IcedTea 2.6.4) (7u95-2.6.4-3)
OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode)
After installing Java 8 it worked.
Cassandra-2.1 uses 9042 as cqlsh port.Connect on this it is default port.If you want to connect on 9160 port then change it by setting environment variable CQLSH_PORT and CQLSH_HOST but for setting this you have to change rpc_port from default 9160 to any other port.
Well, I faced same issue and this is what i did on Mac.
$cd /usr/local/Cellar/cassandra/3.10_1/bin/
Or wherever your cassandra is installed.
$cassandra
this initializes all configuration in your local system to start cassandra.
$./cqlsh
This lets you enter cql query mode.
I resolved this in DSE-5.0 by editing below file:
vi ~/.cassandra/cqlshrc
And editing below configs to current IP address (192.168.1.6) of the machine I am running. In my case it's my MacBook.
[connection]
hostname = 192.168.1.6
port = 9042
; factory = cqlshlib.kerberos_ssl.kerberos_ssl_transport_factory
; [kerberos]
; hostname = 192.168.1.6
; service = cassandra
; optional
; principal = bill/cassandra-admin#foo.example.com
I hope it will help someone.
Thanks,
Chandan
I faced this issue when I was trying to connect to Cassandra 2.0.1 version using cqlsh 5.0.1
[cqlsh 4.1.1 | Cassandra 2.0.11.83 | CQL spec 3.1.1 | ]
[cqlsh 5.0.1 | Cassandra 2.1.2 | CQL spec 3.2.0 ]
This is just one of the reasons for the error "Connection error: ('Unable to connect to any servers',".
When I used the cqlsh client compatible with Cassandra 2.0.1, I was able to connect to the cluster.
Hope this helps to find the root cause.
I got the same error after moving from Java 8 to Java 11. From https://github.com/nosan/embedded-cassandra/issues/21, Apache Cassandra does not yet have support for java 11.
Reverting to the system's current java version to Java 8 solved the problem.
Just add/modify the following into the cassandra.yaml:
rpc_address: 127.0.0.1
seeds: "127.0.0.1"
listen_address: 127.0.0.1
Note that, the values in all these fields must be same.
That means, if you are pointing to a static IP, then the same IP should be used. And if you are just pointing the localhost, then localhost must be used in all fields.
I got myself into a mess so here was my scenario if anyone else runs into it:
I followed this tutorial
http://www.datastax.com/2012/01/working-with-apache-cassandra-on-mac-os-x
(which is somewhat outdated).
I got everything installed and working - all good. Then I decided to download Datastax Enterprise tools to try them out
Ran into errors during the install but the install went through. Again following the tutorial above, tried running the ./datastax-agent program and it failed. Decided to just bag it so ran their uninstaller in their installation folder.
Tried to go back to original cassandra folder (what I had working in step 2) and run "sudo ./cassandra" then I started getting JMX error (message "Unable to bind JMX, is Cassandra already running?") which led me to this link about changing the port which i did (not really fixing the issue but working around it) run two cassandra versions in the same machine.
Got the server service running underneath a new port but when trying to connect with the client "sudo ./cqlsh" would not work (would get "Error=none" or destination not found).
Did the remove step #Peter mentioned above and tried again and still did not work.
Decided to go back and see what was holding onto the original port cassandra was using which I changed in step 4 Who is listening on a given TCP port on Mac OS X?
Determined that JAVA.app was hanging onto it so killed it within Activity Monitor.
Reran the remove command #Peter mentioned above again and decided to download the stable release (v2.0.13) instead of the dev release and walk through the tutorial from step 1 again.
Exited and re-opened terminal. Ran "sudo ./cassandra" - worked perfect running under standard ports. Open another terminal window and ran "sudo ./cqlsh" and this also worked correctly.
I believe between Java hanging onto the default port 9042 (maybe from the DataStax install errors), version/host/port settings within ~/.cassandra/cqlshrc and using the dev version of cassandra these were all causing me fits.
I was having trouble connecting Cassandra from the terminal
[
and then I tried to connect using /usr/local/Cellar/
[
and then invoke cassandra. Then opened a new terminal and typed cqlsh the Cassandra started.
Hope this may also applicable one to resolve Cassandra issue.
install java jdk and Set JAVA_HOME in Environment Variables or set JAVA_HOME = java path in command prompt.
after
run cassandra.bat
it will show the logs if you get any error
You need to start Cassandra form the install_location's bin directory.
For example, this command will start Cassandra in the foreground:
$ ./cassandra -f
Then open another terminal tab (command + t) and run cqlsh
$ ./cqlsh
Ensure that DEFAULT_HOST = '127.0.0.1' in script cqlsh.py is pointing to the node IP where you have done your cassandra installation.
In my case I had installed cassandra on 10.160.1.5, edited above file and it started working.
Running cqlsh gets this error for me but running bin/cqlsh from the cassandra directory works.
I faced the same issue. I ran cassandra.bat --> This appears to have started the server. Then I opened a new command prompt (run as an administrator), changed directory to the cassandra/bin location. When I ran the command cqlsh, voila it worked!
I solve this issue by just simply restarting cassandra sudo systemctl restart cassandra
In case of MacOSX, it worked to just run
cassandra
rather than running it through brew services start cassandra.
I was having the same problem with Cassandra configured with SSL.
cqlsh --ssl
Solves connects correctly.
I am trying to setup cassandra cluster with 5 nodes. I have installed dse on all nodes and started dse on all the nodes by command.
sudo service dse start
dse is running fine on all nodes.
Now I am trying to configure opscenter following http://www.datastax.com/documentation/opscenter/3.2/webhelp/index.html#opsc/install/../../opsc/install/opscInstallRHEL_t.html
When I execute "sudo service opscenterd start", it starts without any problem and even log doesnt show any problem.
But when I try doing "netstat -a | grep 8888", it doesnt show any listener.
Can anybody please help me in identifying issue?
Thanks,
Jenish
I would first figure out if the service is indeed starting. When you say you checked log, was that /var/log/messages or the opscenter logs? I would check both.
Next I would see if it stays running. You can also check for the process running with
ps -eaf | grep opscenterd
If everything is running but not listening on the right port, you should check your opscenterd.conf file for proper port and interface:
[webserver]
port = 8888
interface = 127.0.0.1
Note that your interface definition may be different - for example, it may be 0.0.0.0 which signifies binding to all interfaces (rather than just localhost as above), but you should validate that it is correct for your environment.
My Cassandra used to work with no problems.
I was able to connect with no problems but now for some reason it doesn't work anymore.
[default#unknown] connect localhost/9160;
Exception connecting to localhost/9160. Reason: Connection refused.
I am in Ubuntu server
Thanks in-advance
The solution to this question was provided to you on the pycassa google group:
https://groups.google.com/d/topic/pycassa-discuss/Bai7bvkHYU4/discussion
This is not a pycassa problem. The problems you are having are specific to starting a Cassandra instance and not following the documentation in the README.txt that is in the root folder of the distribution:
Getting started
This short guide will walk you through getting a basic one node cluster up
and running, and demonstrate some simple reads and writes.
tar -zxvf apache-cassandra-$VERSION.tar.gz
cd apache-cassandra-$VERSION
sudo mkdir -p /var/log/cassandra
sudo chown -R whoami /var/log/cassandra
sudo mkdir -p /var/lib/cassandra
sudo chown -R whoami /var/lib/cassandra
Note: The sample configuration files in conf/ determine the file-system
locations Cassandra uses for logging and data storage. You are free to
change these to suit your own environment and adjust the path names
used here accordingly.
Now that we're ready, let's start it up!
bin/cassandra -f
Running the startup script with the -f argument will cause Cassandra to
remain in the foreground and log to standard out.
Now let's try to read and write some data using the command line client.
bin/cassandra-cli --host localhost
The command line client is interactive so if everything worked you should
be sitting in front of a prompt...
Connected to: "Test Cluster" on localhost/9160
Welcome to cassandra CLI.
Type 'help;' or '?' for help. Type 'quit;' or 'exit;' to quit.
[default#unknown]
As the banner says, you can use 'help;' or '?' to see what the CLI has to
offer, and 'quit;' or 'exit;' when you've had enough fun.
Verify the following:
Cassandra process is running and thrift is listening on 9160 (netstat-tulpn)
9160 port not being blocked by a firewall rule or similar
If the above are true, then check the cassandra log for additional information.
Other than that your description is pretty vague. So any other information about what may have changed in the environment would be helpful.
I faced the same problem and the reason was that I had configured Cassandra to listen on the Server IP and not on localhost.
/etc/dse/cassandra/cassandra.yaml
listen_address: 10.102.8.71
So try this and check if it works for you:
cassandra-cli --host "your host name"