You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Suan Aik Yeo <ye...@gmail.com> on 2011/06/09 07:56:08 UTC

Is there a way from a running Cassandra node to determine whether or not itself is "up"?

Is there a way (preferably an exposed method accessible through Thrift),
from a running Cassandra node to determine whether or not itself is "up"?
(Per Cassandra standards, I'm assuming based on the gossip protocol).
Another way to think of what I'm looking for is basically running "nodetool
ring" just on myself, but I'm only interested in knowing whether I'm "Up" or
"Down"?

I'm currently using the "describe_cluster" method, but earlier today when
the commitlogs for a node filled up and it appeared down to the other nodes,
describe_cluster() still worked fine, thus failing the check.

Thanks,
Suan

Re: Is there a way from a running Cassandra node to determine whether or not itself is "up"?

Posted by aaron morton <aa...@thelastpickle.com>.
take a look at mx4j http://wiki.apache.org/cassandra/Operations#Monitoring_with_MX4J

someone told me once you can call the JMX ops via http, i've not checked though. 

Cheers
-----------------
Aaron Morton
Freelance Cassandra Developer
@aaronmorton
http://www.thelastpickle.com

On 16 Jun 2011, at 14:45, Jake Luciani wrote:

> No force a node "down" you can use nodetool disablegossip
> 
> On Wed, Jun 15, 2011 at 6:42 PM, Suan Aik Yeo <ye...@gmail.com> wrote:
> Thanks, Aaron, but we determined that adding Java into the equation just brings in too much complexity for something that's called out of an Nginx Perl module. Right now I'm having trouble even replicating the above scenario and posted a question here: http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Easy-way-to-overload-a-single-node-on-purpose-tt6480958.html
> 
> 
> - Suan
> 
> 
> On Thu, Jun 9, 2011 at 3:58 AM, aaron morton <aa...@thelastpickle.com> wrote:
> None via thrift that I can recall, but the StorageService MBean exposes getLiveNodes() this is what nodetool uses to see which nodes are live.
> 
> From the code...
>    /**
>     * Retrieve the list of live nodes in the cluster, where "liveness" is
>     * determined by the failure detector of the node being queried.
>     *
>     * @return set of IP addresses, as Strings
>     */
>    public List<String> getLiveNodes();
> 
> Hope that helps.
> 
> -----------------
> Aaron Morton
> Freelance Cassandra Developer
> @aaronmorton
> http://www.thelastpickle.com
> 
> On 9 Jun 2011, at 17:56, Suan Aik Yeo wrote:
> 
> > Is there a way (preferably an exposed method accessible through Thrift), from a running Cassandra node to determine whether or not itself is "up"? (Per Cassandra standards, I'm assuming based on the gossip protocol). Another way to think of what I'm looking for is basically running "nodetool ring" just on myself, but I'm only interested in knowing whether I'm "Up" or "Down"?
> >
> > I'm currently using the "describe_cluster" method, but earlier today when the commitlogs for a node filled up and it appeared down to the other nodes, describe_cluster() still worked fine, thus failing the check.
> >
> > Thanks,
> > Suan
> 
> 
> 
> 
> 
> -- 
> http://twitter.com/tjake


Re: Is there a way from a running Cassandra node to determine whether or not itself is "up"?

Posted by Jake Luciani <ja...@gmail.com>.
No force a node "down" you can use nodetool disablegossip

On Wed, Jun 15, 2011 at 6:42 PM, Suan Aik Yeo <ye...@gmail.com> wrote:

> Thanks, Aaron, but we determined that adding Java into the equation just
> brings in too much complexity for something that's called out of an Nginx
> Perl module. Right now I'm having trouble even replicating the above
> scenario and posted a question here:
> http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Easy-way-to-overload-a-single-node-on-purpose-tt6480958.html
>
>
> - Suan
>
>
> On Thu, Jun 9, 2011 at 3:58 AM, aaron morton <aa...@thelastpickle.com>wrote:
>
>> None via thrift that I can recall, but the StorageService MBean exposes
>> getLiveNodes() this is what nodetool uses to see which nodes are live.
>>
>> From the code...
>>    /**
>>     * Retrieve the list of live nodes in the cluster, where "liveness" is
>>     * determined by the failure detector of the node being queried.
>>     *
>>     * @return set of IP addresses, as Strings
>>     */
>>    public List<String> getLiveNodes();
>>
>> Hope that helps.
>>
>> -----------------
>> Aaron Morton
>> Freelance Cassandra Developer
>> @aaronmorton
>> http://www.thelastpickle.com
>>
>> On 9 Jun 2011, at 17:56, Suan Aik Yeo wrote:
>>
>> > Is there a way (preferably an exposed method accessible through Thrift),
>> from a running Cassandra node to determine whether or not itself is "up"?
>> (Per Cassandra standards, I'm assuming based on the gossip protocol).
>> Another way to think of what I'm looking for is basically running "nodetool
>> ring" just on myself, but I'm only interested in knowing whether I'm "Up" or
>> "Down"?
>> >
>> > I'm currently using the "describe_cluster" method, but earlier today
>> when the commitlogs for a node filled up and it appeared down to the other
>> nodes, describe_cluster() still worked fine, thus failing the check.
>> >
>> > Thanks,
>> > Suan
>>
>>
>


-- 
http://twitter.com/tjake

Re: Is there a way from a running Cassandra node to determine whether or not itself is "up"?

Posted by Suan Aik Yeo <ye...@gmail.com>.
Thanks, Aaron, but we determined that adding Java into the equation just
brings in too much complexity for something that's called out of an Nginx
Perl module. Right now I'm having trouble even replicating the above
scenario and posted a question here:
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Easy-way-to-overload-a-single-node-on-purpose-tt6480958.html


- Suan

On Thu, Jun 9, 2011 at 3:58 AM, aaron morton <aa...@thelastpickle.com>wrote:

> None via thrift that I can recall, but the StorageService MBean exposes
> getLiveNodes() this is what nodetool uses to see which nodes are live.
>
> From the code...
>    /**
>     * Retrieve the list of live nodes in the cluster, where "liveness" is
>     * determined by the failure detector of the node being queried.
>     *
>     * @return set of IP addresses, as Strings
>     */
>    public List<String> getLiveNodes();
>
> Hope that helps.
>
> -----------------
> Aaron Morton
> Freelance Cassandra Developer
> @aaronmorton
> http://www.thelastpickle.com
>
> On 9 Jun 2011, at 17:56, Suan Aik Yeo wrote:
>
> > Is there a way (preferably an exposed method accessible through Thrift),
> from a running Cassandra node to determine whether or not itself is "up"?
> (Per Cassandra standards, I'm assuming based on the gossip protocol).
> Another way to think of what I'm looking for is basically running "nodetool
> ring" just on myself, but I'm only interested in knowing whether I'm "Up" or
> "Down"?
> >
> > I'm currently using the "describe_cluster" method, but earlier today when
> the commitlogs for a node filled up and it appeared down to the other nodes,
> describe_cluster() still worked fine, thus failing the check.
> >
> > Thanks,
> > Suan
>
>

Re: Is there a way from a running Cassandra node to determine whether or not itself is "up"?

Posted by aaron morton <aa...@thelastpickle.com>.
None via thrift that I can recall, but the StorageService MBean exposes getLiveNodes() this is what nodetool uses to see which nodes are live. 

From the code...
    /**
     * Retrieve the list of live nodes in the cluster, where "liveness" is
     * determined by the failure detector of the node being queried.
     *
     * @return set of IP addresses, as Strings
     */
    public List<String> getLiveNodes();

Hope that helps. 

-----------------
Aaron Morton
Freelance Cassandra Developer
@aaronmorton
http://www.thelastpickle.com

On 9 Jun 2011, at 17:56, Suan Aik Yeo wrote:

> Is there a way (preferably an exposed method accessible through Thrift), from a running Cassandra node to determine whether or not itself is "up"? (Per Cassandra standards, I'm assuming based on the gossip protocol). Another way to think of what I'm looking for is basically running "nodetool ring" just on myself, but I'm only interested in knowing whether I'm "Up" or "Down"?
> 
> I'm currently using the "describe_cluster" method, but earlier today when the commitlogs for a node filled up and it appeared down to the other nodes, describe_cluster() still worked fine, thus failing the check.
> 
> Thanks,
> Suan