Re: Using CCM with Opscenter and manual agent installation
Cassandra switched jmx to only bind to localhost, so I believe you just need to change jmx_host to localhost for all conf files. On Thu, Jan 7, 2016 at 4:48 PM, Giampaolo Trapasso < giampaolo.trapa...@radicalbit.io> wrote: > Thanks Michael for the reply. I'm quite new to Cassandra, so it make sense > to explain the use case. I just want to try different choices of data > modelling and compare number of reads and writes. At the moment I'm not > interested in a real stress test, I just want to understand implications of > my choices, and, of course want to see OpsCenter in action. I thought that > CCM+OpsCenter combo was good as choice. Do you think that there's something > else that I can try? Thank you in advance. > > giampaolo > > > > > > 2016-01-07 19:24 GMT+01:00 Michael Shuler: > >> On 01/07/2016 12:22 PM, Michael Shuler wrote: >> >> [, , > > 127.0.0.2='-4611686018427387904'>, > 127.0.0.1='-9223372036854775808'>] >> > >> > A couple of those, .4 and .2 are identical. >> >> Sorry, they are signed, so they are unique. (bad me.) Keep digging, I >> guess. >> >> -- >> Michael >> > >
Re: Using CCM with Opscenter and manual agent installation
stomp_interface is the address to connect back to the central OpsCenter daemon with, so 127.0.0.1 should be correct. I believe the issue is just jmx_host needing to be set to 'localhost' On Thu, Jan 7, 2016 at 8:50 PM, Michael Shulerwrote: > On 01/07/2016 08:46 PM, Michael Shuler wrote: > > I'm not sure exactly what that service is, but if all 4 nodes (which are > > all really localhost aliases) are attempting to bind to the same IP:port > > for that stomp connection, they could be stepping on one another. Should > > those be 127.0.0.1 for node1, 127.0.0.12 for node2, etc.? > > Since accurate typing is eluding me.. > > Should the stomp connection be 127.0.0.1 for node1, 127.0.0.2 for node2, > 127.0.0.3 for node3, 127.0.0.4 for node4? > > -- > :) > Michael >
Re: Status of OPSC-4080 ?
Cyril, That ticket should be fixed in the latest 5.2 series of OpsCenter. The fix did not make it into the 5.1 release series unfortunately. -Nick On Wed, Aug 5, 2015 at 3:44 AM, Cyril Scetbon cyril.scet...@free.fr wrote: Hi guys, I've seen at http://stackoverflow.com/a/27417153/2354384 that Arre said on December 14th 2014 that hopefully it would be fixed in next 5.1.x. However it seems it hasn't been fixed yet. Any more information on the status of this ticket ? Thanks -- Cyril SCETBON -- Nick Bailey OpsCenter Architect | n...@datastax.com http://cassandrasummit-datastax.com/ The World’s Largest Gathering of Cassandra Users September 22 – 24, 2015 Santa Clara, CA
Re: Deploying OpsCenter behind a HTTP(S) proxy
Unfortunately OpsCenter doesn't currently support running behind a proxy, because of the issues you've discovered. Fixing this is on our roadmap though, but I unfortunately can't give a specific date or release when we will get to it. You will definitely see it in the release notes when we release a version that fixes this. Sorry for the trouble. -Nick On Tue, Jun 23, 2015 at 2:33 PM, Otis Gospodnetić otis.gospodne...@gmail.com wrote: Hi, Here's an alternative if OpsCenter + proxy situation proves to be a pain: http://sematext.com/spm/integrations/cassandra-monitoring.html Proxy situation is super simple https://sematext.atlassian.net/wiki/display/PUBSPM/SPM+FAQ#SPMFAQ-CanSPMclientsenddataoutfromserversthatarebehindaproxy . HTH Otis -- Monitoring * Alerting * Anomaly Detection * Centralized Log Management Solr Elasticsearch Support * http://sematext.com/ On Thu, Jun 18, 2015 at 1:26 PM, Ben Bromhead b...@instaclustr.com wrote: OpsCenter is a little bit tricky to simply just rewrite urls, the lhr requests and rest endpoints it hits are all specified a little differently in the javascript app it loads. We ended up monkey patching a buttload of the js files to get all the requests working properly with our proxy. Everytime a new release of OpsCenter comes out we have to rework it. If you are a DSE customer I would raise it as a support issue :) On 18 June 2015 at 02:29, Spencer Brown lilspe...@gmail.com wrote: First, your firewall should really be your frontend There operational frontend is apache, which is common. You want every url with opscenter in it handled elsewhere. You could also set up proxies for /. cluster-configs, etc... Then there is mod_rewrite, which provides a lot more granularity about when you want what gets handled where.I set up the architectural infrastructure for Orbitz and some major banks, and I'd be happpy to help you out on this. I charge $30/hr., but what you need isn't very complex so we're really just talking $100. On Thu, Jun 18, 2015 at 5:13 AM, Jonathan Ballet jbal...@gfproducts.ch wrote: Hi, I'm looking for information on how to correctly deploy an OpsCenter instance behind a HTTP(S) proxy. I have a running instance of OpsCenter 5.1 reachable at http://opscenter:/opscenter/ but I would like to be able to serve this kind of tool under a single hostname on HTTPS along with other tools of this kind, for easier convenience. I'm currently using Apache as my HTTP front-end and I tried this naive configuration: VirtualHost *:80 ServerName tools ... ProxyPreserveHost On # Proxy to OpsCenter # ProxyPass /opscenter/ http://opscenter:/opscenter/ ProxyPassReverse/opscenter/ http://opscenter:/opscenter/ /VirtualHost This doesn't quite work, as OpsCenter seem to also serve specific endpoints from / directly Of course, it doesn't correctly work, as OpsCenter seem to also serve specific data from / directly, such as: /cluster-configs /TestCluster /meta /rc /tcp Is there something I can configure in OpsCenter so that it serves these URLs from somewhere else, or a list of known URLs that I can remap on the proxy, or better yet, a known proxy configuration to put in front of OpsCenter? Regards, Jonathan -- Ben Bromhead Instaclustr | www.instaclustr.com | @instaclustr http://twitter.com/instaclustr | (650) 284 9692
Re: Datastax Enterprise AMI EC2
This is a known issue with older versions of the AMI. Use the 2.5.1 version of the AMI (seehttps:// raw.githubusercontent.com/riptano/ComboAMI/2.5/ami_ids.json for the ids for your region). For a more detailed discussion of what's going wrong, see this StackExchange answer:http://stackoverflow.com/a/29174929 Sorry, for the inconvenience. It's a bug we are working on. On Tue, Mar 24, 2015 at 3:53 AM, Vanessa Gligor vanessagli...@gmail.com wrote: Hi, I tried to launch the datastax AMI using enterprise version following these steps: - I launched the AMI only with the Opscenter in a ec2 instance and then I have created a new Cluster containg 2 nodes - Cassanrda Solr. This scenario works just fine in South America (Sao Paulo). I tried to do the exact same thing, following the exact same steps, the same AMI in US East (N. Virginia), but it's not working and I don't know why. It gets this error: *Stop Errored: /usr/sbin/service dse stop failed* *Error Details* *Stop Errored: /usr/sbin/service dse stop failed* *exit status: 1* *stdout:* *log_daemon_msg is a shell function* *Cassandra 2.0 and later require Java 7 or later.* Or it gets blocked up somewhere at : Waiting for the agent to start Do you have any ideea about what is happening? Thank you very much! Vanessa.
Re: Adding a Cassandra node using OpsCenter
There isn't an OpsCenter specific mailing list no. To answer your question, the reason OpsCenter provisioning doesn't support 2.0.10 and 2.0.11 is due to https://issues.apache.org/jira/browse/CASSANDRA-8072. That bug unfortunately prevents OpsCenter provisioning from working correctly, but isn't serious outside of provisioning. OpsCenter may be able to come up with a workaround but at the moment those versions are unsupported. Sorry for inconvenience. -Nick On Thu, Mar 12, 2015 at 9:18 AM, Ajay ajay.ga...@gmail.com wrote: Is there a separate forum for Opscenter? Thanks Ajay On 11-Mar-2015 4:16 pm, Ajay ajay.ga...@gmail.com wrote: Hi, While adding a Cassandra node using OpsCenter (which is recommended), the versions of Cassandra (Datastax community edition) shows only 2.0.9 and not later versions in 2.0.x. Is there a reason behind it? 2.0.9 is recommended than 2.0.11? Thanks Ajay
Re: Adding a Cassandra node using OpsCenter
Correct, Opscenter can monitor 2.0.10 and later clusters/nodes. It just can't provision them. On Thu, Mar 12, 2015 at 1:16 PM, Ajay ajay.ga...@gmail.com wrote: Thanks Nick. Does it mean that only adding a new node with 2.0.10 or later is a problem?. If a new node added manually can be monitored from Opscenter? Thanks Ajay On 12-Mar-2015 10:19 pm, Nick Bailey n...@datastax.com wrote: There isn't an OpsCenter specific mailing list no. To answer your question, the reason OpsCenter provisioning doesn't support 2.0.10 and 2.0.11 is due to https://issues.apache.org/jira/browse/CASSANDRA-8072. That bug unfortunately prevents OpsCenter provisioning from working correctly, but isn't serious outside of provisioning. OpsCenter may be able to come up with a workaround but at the moment those versions are unsupported. Sorry for inconvenience. -Nick On Thu, Mar 12, 2015 at 9:18 AM, Ajay ajay.ga...@gmail.com wrote: Is there a separate forum for Opscenter? Thanks Ajay On 11-Mar-2015 4:16 pm, Ajay ajay.ga...@gmail.com wrote: Hi, While adding a Cassandra node using OpsCenter (which is recommended), the versions of Cassandra (Datastax community edition) shows only 2.0.9 and not later versions in 2.0.x. Is there a reason behind it? 2.0.9 is recommended than 2.0.11? Thanks Ajay
Re: How to remove obsolete error message in Datastax Opscenter?
To clarify what Chris said, restarting opscenter will remove the notification, but we also have a bug filed to make that behavior a little better and allow dismissing that notification without a restart. Thanks for reporting the issue! -Nick On Mon, Feb 9, 2015 at 9:00 AM, Chris Lohfink clohfin...@gmail.com wrote: Restarting opscenter service will get rid of it. Chris On Mon, Feb 9, 2015 at 3:01 AM, Björn Hachmann bjoern.hachm...@metrigo.de wrote: Good morning, unfortunately my last rolling restart of our Cassandra cluster issued from OpsCenter (5.0.2) failed. No big deal, but since then OpsCenter is showing an error message at the top of its screen: Error restarting cluster: Timed out waiting for Cassandra to start.. Does anybody know how to remove that message permanently? Thank you very much in advance! Kind regards Björn Hachmann
Re: opscenter: 0 of 0 agents connected, but /nodes/all gives 3 results
Often this is caused by the agent version not matching the OpsCenter version. Unfortunately the UI currently reports a version mismatch as 'not installed'. Can you check the versions of your OpsCenter and agent installs? On Tue, Dec 2, 2014 at 5:06 PM, Nikolai Grigoriev ngrigor...@gmail.com wrote: I have observed this kind of situation with 0 agents connected. Restarting the agents always helped so far. By the way, check the agent's logs and opscenterd logs, there may be some clues there. On Tue, Dec 2, 2014 at 4:59 PM, Ian Rose ianr...@fullstory.com wrote: Hi all - Just getting started setting up OpsCenter today. I have a 3 node cassandra cluster and (afaict) the agent installed and running happily on all 3 nodes. I also have OpsCenter up and running on a 4th node. I do not have SSL enabled between these nodes. In the OpsCenter interface, I see 0 of 0 agents connected and restarting OpsCenter does not change this. However, in my cluster settings I have the following entered for the least one host / IP in the cluster portion, and these hostnames are all resolvable/pingable from the OpsCenter machine. cassandra-db-1 cassandra-db-2 cassandra-db-3 Also, from this post http://www.datastax.com/support-forums/topic/agents-running-without-error-but-not-connecting-to-opscenter I found a suggestion to curl cluster/nodes/all and when I do that I (think I) get results showing 3 nodes. Any suggestions? Thanks! - Ian curl http://localhost:/FullStory/nodes/all [{load: 0.0, has_jna: false, vnodes: true, devices: {saved_caches: sdb, commitlog: sdb, other: [sda], data: [sdb]}, task_progress: {}, node_ip: 10.240.167.187, network_interfaces: [eth0, lo], ec2: {instance-type: null, placement: null, ami-id: null, instance-id: null}, node_version: {search: null, jobtracker: null, tasktracker: null, spark: {master: null, version: null, worker: null}, dse: null, cassandra: 2.0.9}, dc: us-central1, node_name: cassandra-db-3.c.fs-staging.internal, num_procs: 1, streaming: {}, token: -3220529141950148793, data_held: 54064133.0, mode: normal, rpc_ip: 10.240.167.187, partitions: {saved_caches: /dev/sdb, commitlog: /dev/sdb, other: [/dev/disk/by_uuid/121fd70f_e625_4394_89ce_5e5eff3d25e0, rootfs], data: [/dev/sdb]}, os: linux, rack: f, last_seen: 0}, {load: 0.0, has_jna: false, vnodes: true, devices: {saved_caches: sdb, commitlog: sdb, other: [sda], data: [sdb]}, task_progress: {}, node_ip: 10.240.111.79, network_interfaces: [eth0, lo], ec2: {instance-type: null, placement: null, ami-id: null, instance-id: null}, node_version: {search: null, jobtracker: null, tasktracker: null, spark: {master: null, version: null, worker: null}, dse: null, cassandra: 2.0.9}, dc: us-central1, node_name: cassandra-db-1.c.fs-staging.internal, num_procs: 1, streaming: {}, token: 6048217978730786970, data_held: 54319361.0, mode: normal, rpc_ip: 10.240.111.79, partitions: {saved_caches: /dev/sdb, commitlog: /dev/sdb, other: [/dev/disk/by_uuid/2795e34f_4e9b_46a9_9e39_e6cc0f1f1478, rootfs], data: [/dev/sdb]}, os: linux, rack: a, last_seen: 0}, {load: 0.04, has_jna: false, vnodes: true, devices: {saved_caches: sdb, commitlog: sdb, other: [sda], data: [sdb]}, task_progress: {}, node_ip: 10.240.129.185, network_interfaces: [eth0, lo], ec2: {instance-type: null, placement: null, ami-id: null, instance-id: null}, node_version: {search: null, jobtracker: null, tasktracker: null, spark: {master: null, version: null, worker: null}, dse: null, cassandra: 2.0.9}, dc: us-central1, node_name: cassandra-db-2.c.fs-staging.internal, num_procs: 1, streaming: {}, token: 4393271482730462700, data_held: 51388793.0, mode: normal, rpc_ip: 10.240.129.185, partitions: {saved_caches: /dev/sdb, commitlog: /dev/sdb, other: [/dev/disk/by_uuid/2795e34f_4e9b_46a9_9e39_e6cc0f1f1478, rootfs], data: [/dev/sdb]}, os: linux, rack: b, last_seen: 0}] -- Nikolai Grigoriev (514) 772-5178
Re: opscenter with community cassandra
OpsCenter does work with Apache Cassandra however it isn't always immediately compatible with new releases of Cassandra. It will work somewhat with Cassandra 2.1 but there is definitely some functionality that is broken. You can check the release notes for new versions of OpsCenter to monitor when full 2.1 support is included. On Tue, Oct 28, 2014 at 10:08 AM, Colin colpcl...@gmail.com wrote: I cant run opscenter in a secure environment for a couple of reasons, one - it phones home, two - lack of role based security. It is a mistake to call a proprietary piece of software community when you cant use it in production. It is easy enough to automate what opscenter does rather than relying in a third party in my enterprise,. On Oct 28, 2014, at 10:04 AM, Josh Smith josh.sm...@careerbuilder.com wrote: Yes Opscenter does work with the opensource version of Cassandra. I am currently running both in the cloud and our private datacenter with no problems. I have not tried 2.1.1 yet but I do not see why it wouldn’t work also. Josh *From:* Tim Dunphy [mailto:bluethu...@gmail.com bluethu...@gmail.com] *Sent:* Tuesday, October 28, 2014 10:43 AM *To:* user@cassandra.apache.org *Subject:* opscenter with community cassandra Hey all, I'd like to setup datastax opscenter to monitor my cassandra ring. However I'm using the open source version of 2.1.1. And before I expend any time and effort in setting this up, I'm wondering if it will work with the open source version? Or would I need to be running datastax cassandra in order to get this going? Thanks Tim -- GPG me!! gpg --keyserver pool.sks-keyservers.net --recv-keys F186197B
Re: How often are JMX Cassandra metrics reset?
Those percentile values should be for the lifetime of the node yes. Depending on what version of OpsCenter you are using it is either using the 'recent' metrics described by Rob, or it is using the FiveMinuteRate from JMX as well as doing some of it's own aggregation depending on the rollup size. On Thu, Aug 28, 2014 at 12:36 PM, Robert Coli rc...@eventbrite.com wrote: On Thu, Aug 28, 2014 at 9:27 AM, Donald Smith donald.sm...@audiencescience.com wrote: And yet OpsCenter shows graphs with ever-changing metrics that show recent performance. Does OpsCenter not get its stats from JMX? 1) Certain JMX endpoints expose recent metrics, or at least used to. These are recent as in since the last time someone polled this endpoint. 2) OpsCenter samples via JMX and then stores metrics in its own columnfamily. I would not be shocked if it does some minor aggregation as it does so. This all said, OpsCenter is not Apache Cassandra software, so the Apache Cassandra user mailing list may not be the ideal place for it to be discussed or supported... =Rob
Re: Multi-DC Repairs and Token Questions
See https://issues.apache.org/jira/browse/CASSANDRA-7317 On Mon, Jun 2, 2014 at 8:57 PM, Matthew Allen matthew.j.al...@gmail.com wrote: Hi Rameez, Chovatia, (sorry I initially replied to Dwight individually) SN_KEYSPACE and MY_KEYSPACE are just typos (was try to mask out identifiable information), they are same keyspace. Keyspace: SN_KEYSPACE: Replication Strategy: org.apache.cassandra.locator.NetworkTopologyStrategy Durable Writes: true Options: [DC_VIC:2, DC_NSW:2] In a nutshell, replication is working as expected, I'm just confused about token range assignments in a Multi-DC environment and how repairs should work From http://www.datastax.com/documentation/cassandra/1.2/cassandra/configuration/configGenTokens_c.html, it specifies *Multiple data center deployments: calculate the tokens for each data center so that the hash range is evenly divided for the nodes in each data center* Given that nodetool -repair isn't multi-dc aware, in our production 18 node cluster (9 nodes in each DC), which of the following token ranges should be used (Murmur3 Partitioner) ? Token range divided evenly over the 2 DC's/18 nodes as below ? Node DC_NSWDC_VIC 1'-9223372036854775808''-8198552921648689608' 2'-7173733806442603408''-6148914691236517208' 3'-5124095576030431008''-4099276460824344808' 4'-3074457345618258608''-2049638230412172408' 5'-1024819115206086208''-8' 6'1024819115206086192' '2049638230412172392' 7'3074457345618258592' '4099276460824344792' 8'5124095576030430992' '6148914691236517192' 9'7173733806442603392' '8198552921648689592' Or An offset used for DC_VIC (i.e. DC_NSW + 100) ? Node DC_NSW DC_VIC 1 '-9223372036854775808''-9223372036854775708' 2 '-7173733806442603407''-7173733806442603307' 3 '-5124095576030431006''-5124095576030430906' 4 '-3074457345618258605''-3074457345618258505' 5 '-1024819115206086204''-1024819115206086104' 6 '1024819115206086197' '1024819115206086297' 7 '3074457345618258598' '3074457345618258698' 8 '5124095576030430999' '5124095576030431099' 9 '7173733806442603400' '7173733806442603500' It's too late for me to switch to vnodes, hope that makes sense, thanks Matt On Thu, May 29, 2014 at 12:01 AM, Rameez Thonnakkal ssram...@gmail.com wrote: as Chovatia mentioned, the keyspaces seems to be different. try Describe keyspace SN_KEYSPACE and describe keyspace MY_KEYSPACE from CQL. This will give you an idea about how many replicas are there for these keyspaces. On Wed, May 28, 2014 at 11:49 AM, chovatia jaydeep chovatia_jayd...@yahoo.co.in wrote: What is your partition type? Is it org.apache.cassandra.dht.Murmur3Partitioner? In your repair command i do see there are two different KeySpaces MY_KEYSPACE and SN_KEYSPACE, are these two separate key spaces or typo? -jaydeep On Tuesday, 27 May 2014 10:26 PM, Matthew Allen matthew.j.al...@gmail.com wrote: Hi, Am a bit confused regarding data ownership in a multi-dc environment. I have the following setup in a test cluster with a keyspace with (placement_strategy = 'NetworkTopologyStrategy' and strategy_options = {'DC_NSW':2,'DC_VIC':2};) Datacenter: DC_NSW == Replicas: 2 Address RackStatus State Load OwnsToken 0 nsw1 rack1 Up Normal 1007.43 MB 100.00% -9223372036854775808 nsw2 rack1 Up Normal 1008.08 MB 100.00% 0 Datacenter: DC_VIC == Replicas: 2 Address RackStatus State Load OwnsToken 100 vic1 rack1 Up Normal 1015.1 MB 100.00% -9223372036854775708 vic2 rack1 Up Normal 1015.13 MB 100.00% 100 My understanding is that both Datacenters have a complete copy of the data, but when I run a repair -pr on each of the nodes, the vic hosts only take a couple of seconds, while the nsw nodes take about 5 minutes each. Does this mean that nsw nodes own the majority of the data given their key ranges and that repairs will need to cross datacenters ? Thanks Matt commandnodetool -h vic1 repair -pr (takes seconds) Starting NodeTool [2014-05-28 15:11:02,783] Starting repair command #1, repairing 1 ranges for keyspace MY_KEYSPACE [2014-05-28 15:11:03,110] Repair session 76d170f0-e626-11e3-af4e-218541ad23a1 for range (-9223372036854775808,-9223372036854775708] finished [2014-05-28 15:11:03,110] Repair command #1 finished [2014-05-28 15:11:03,126] Nothing to repair for keyspace 'system' [2014-05-28 15:11:03,126] Nothing to repair for keyspace 'system_traces' commandnodetool -h vic2 repair -pr (takes seconds) Starting NodeTool [2014-05-28 15:11:28,746] Starting repair command #1, repairing 1 ranges for keyspace MY_KEYSPACE [2014-05-28 15:11:28,840]
Re: Opscenter help?
I'm happy to help here as well :) Can you give some more information? Specifically: What exact versions of EL5 and EL6 have you tried? What version of OpsCenter are you using? What file/dependency is rpm/yum saying conflicts with sudo? Also, you can find the OpsCenter documentation here http://www.datastax.com/documentation/opscenter/4.1/index.html, although this isn't an issue I've seen before. -Nick On Wed, Mar 12, 2014 at 1:51 PM, Drew from Zhrodague drewzhroda...@zhrodague.net wrote: I am having a hard time installing the Datastax Opscenter agents on EL6 and EL5 hosts. Where is an appropriate place to ask for help? Datastax has move their forums to Stack Exchange, which seems to be a waste of time, as I don't have enough reputation points to properly tag my questions. The agent installation seems to be broken: [] agent rpm conflicts with sudo [] install from opscenter does not work, even if manually installing the rpm (requres --force, conflicts with sudo) [] error message re: log4j #noconf [] Could not find the main class: opsagent.opsagent. Program will exit. [] No other (helpful/more in-depth) documentation exists -- Drew from Zhrodague post-apocalyptic ad-hoc industrialist d...@zhrodague.net
Re: Question 1: JMX binding, Question 2: Logging
Unfortunately, you can't change the interface jmx binds to initially. So in order to accomplish what you want you will need to use different jmx ports for each process. This is how ccm (https://github.com/pcmanus/ccm) accomplishes this as well. On Wed, Feb 5, 2014 at 9:35 AM, Kyle Crumpton (kcrumpto) kcrum...@cisco.com wrote: Hi Andrey, I only see a port for JMX. I do not see a value for the interface. I am using Cassandra 1.2.6 From: Andrey Ilinykh ailin...@gmail.com Reply-To: user@cassandra.apache.org user@cassandra.apache.org Date: Tuesday, February 4, 2014 4:46 PM To: user@cassandra.apache.org user@cassandra.apache.org Subject: Re: Question 1: JMX binding, Question 2: Logging JMX stuff is in /conf/cassandra-env.sh On Tue, Feb 4, 2014 at 2:25 PM, Kyle Crumpton (kcrumpto) kcrum...@cisco.com wrote: Hi all, I'm fairly new to Cassandra. I'm deploying it to a PaaS. One thing this entails is that it must be able to have more than one instance on a single node. I'm running into the problem that JMX binds to 0.0.0.0:7199. My question is this: Is there a way to configure this? I have actually found the post that said to change the the following JVM_OPTS=$JVM_OPTS -Djava.rmi.server.hostname=127.1.246.3 where 127.1.246.3 is the IP I want to bind to.. This actually did not change the JMX binding by any means for me. I saw a post about a jmx listen address in cassandra.yaml and this also did not work. Any clarity on whether this is bindable at all? Or if there are plans for it? Also- I have logging turned on. For some reason, though, my Cassandra is not actually logging as intended. My log folder is actually empty after each (failed) run (due to the port being taken by my other cassandra process). Here is an actual copy of my log4j-server.properites file: http://fpaste.org/74470/15510941/ Any idea why this might not be logging? Thank you and best regards Kyle
Re: Opscenter tabs
The tabs you see at the top of the page indicate distinct clusters not datacenters. Unfortunately you can not change the name used for these clusters, but I will note that as a feature request. In some situations it is possible to add the same cluster twice. If you click on 'Edit Cluster' after browsing to a specific cluster the edit dialog will have an option to delete that cluster. And for reference, the ability to have multiple clusters was previously only in the enterprise edition but is now included in the community edition. Hope that answers all the questions. -Nick On Fri, Jan 24, 2014 at 10:47 AM, Daniel Curry daniel.cu...@arrayent.comwrote: FYI we are running the enterprise version. You would think that this might be a good feature to have available? On 01/23/2014 12:11 PM, Brian Tarbox wrote: A vaguely related question...my OpsCenter now has two separate tabs for the same cluster...one tab shows all six nodes and has their agents...the other tab has the same six nodes but no agents. I see no way to get rid of the spurious tab. On Thu, Jan 23, 2014 at 12:47 PM, Ken Hancock ken.hanc...@schange.comwrote: Multiple DCs are still a single cluster in OpsCenter. If you go to Physical View, you should see one column for each data center. Also, the Community edition of OpsCenter, last I saw, only supported a single cluster. On Thu, Jan 23, 2014 at 12:06 PM, Daniel Curry daniel.cu...@arrayent.com wrote: I am unable to find any references on if the tabs to monitor multiple DC can be configure to read the DC location. I do not want to change the cluster name itself. Right now I see three tabs all with the same names cluster_name: test. Like to keep the current cluster name test, but change the opscenter tabs to DC1, DC2, and DC3. Is this documented somewhere? -- Daniel Curry Sr Linux Systems Administrator Arrayent, Inc. 2317 Broadway Street, Suite 20 Redwood City, CA 94063 dan...@arrayent.com -- *Ken Hancock *| System Architect, Advanced Advertising SeaChange International 50 Nagog Park Acton, Massachusetts 01720 ken.hanc...@schange.com | www.schange.com | NASDAQ:SEAChttp://www.schange.com/en-US/Company/InvestorRelations.aspx Office: +1 (978) 889-3329 | [image: Google Talk:] ken.hanc...@schange.com | [image: Skype:]hancockks | [image: Yahoo IM:]hancockks [image: LinkedIn] http://www.linkedin.com/in/kenhancock [image: SeaChange International] http://www.schange.com/ This e-mail and any attachments may contain information which is SeaChange International confidential. The information enclosed is intended only for the addressees herein and may not be copied or forwarded without permission from SeaChange International. -- Daniel Curry Sr Linux Systems Administrator Arrayent, Inc. 2317 Broadway Street, Suite 20 Redwood City, CA 94063dan...@arrayent.com
Re: cassandra monitoring
Install Errored: Failure installing agent on beta.jokefire.com. Error output: /var/lib/opscenter/ssl/agentKeyStore.pem: No such file or directory Exit code: 1 This indicates that there was a problem generating ssl files when OpsCenter first started up. I would check the log around the first time you started opscenter for errors. Another option would be to disable ssl communication between OpsCenter and the agents. http://www.datastax.com/documentation/opscenter/4.0/webhelp/index.html#opsc/configure/opscConfigSSL_g.html I was wondering where I could go from here. Also I would like to password protect my OpsCenter installation (assuming I can ever get any useful data into it). Are there any docs on how I can do that? http://www.datastax.com/documentation/opscenter/4.0/webhelp/index.html#opsc/configure/opscConfigureUserAccess_c.html#opscConfigureUserAccess
Re: Opscenter Metrics
I believe the answer to your similar question on server fault should answer this: http://serverfault.com/questions/564107/what-does-opscenters-write-requests-count-shown-as-ops-sec-exactly-mean On Tue, Dec 31, 2013 at 12:55 AM, Arun Kumar K arunk...@gmail.com wrote: Hi guys, I am using YCSB and using thrift based *client.batch_mutate()* call. Now say opscenter reports the write requests as say 1000 *operations*/sec when a record count is say 1 records. OpsCenter API docs say 'Write Requests as requests per second 1 What does an 'operation or request' mean from opscenter perspective? 2 Does it mean unique row inserts across all column families ? or Does itmean count of each mutations for a row ? Can some one guide me ? Thanks, Arun
Re: OpsCenter CQL support
OpsCenter only has limited CQL support. In the latest versions you should be able to see tables created with CQL but you aren't able to modify them or browse the data. For those type of operations we recommend DevCenter - http://www.datastax.com/what-we-offer/products-services/devcenter On Thu, Nov 21, 2013 at 12:23 AM, subhankar biswas neo20iit...@gmail.comwrote: Afaik. you can't. u can only see the created tables.. On Nov 21, 2013 11:18 AM, Techy Teck comptechge...@gmail.com wrote: Anyone? On Tue, Nov 19, 2013 at 1:26 PM, Techy Teck comptechge...@gmail.comwrote: Does OpsCenter support CF created using CQL? If yes, then is there any specific version that we need to use for the OpsCenter? Currently we have OpsCenter in production which doesn't show the tables created using CQL..
Re: Opscenter 3.2.2 (?) jmx auth issues
Sven, I've verified there is an issue with jmx authentication in the 3.2.2 release. Thanks for the bug report! Sorry it's giving you issues. The bug should be fixed in the next release of OpsCenter. Nick On Wed, Oct 16, 2013 at 8:07 PM, Sven Stark sven.st...@m-square.com.auwrote: Hi guys, we have secured C* jmx with username/pw. We upgraded our Opscenter from 3.0.2 to 3.2.2 last week and noticed that the agents could not connect anymore ERROR [jmx-metrics-4] 2013-10-17 00:45:54,437 Error getting general metrics java.lang.SecurityException: Authentication failed! Credentials required at com.sun.jmx.remote.security.JMXPluggableAuthenticator.authenticationFailure(JMXPluggableAuthenticator.java:193) at com.sun.jmx.remote.security.JMXPluggableAuthenticator.authenticate(JMXPluggableAuthenticator.java:145) even though the credentials were correctly in /etc/opscenter/clusters/foo-cluster.conf [jmx] username = secret password = verysecret port = 20001 Checks with other jmx based tools (nodetool, jmxtrans) confirm that the jmx setup is correct. Downgrading Opscenter to 3.0.2 immediately resolved the issue. Could anybody confirm whether that's a known bug? Cheers, Sven
Re: datastax ops center shows a lot of activity when idle
OpsCenter's writes for monitoring data will show up in the request/latency graphs yes. 100/sec may be reasonable depending on the number of nodes and columnfamilies OpsCenter is monitoring. On Wed, Sep 18, 2013 at 7:15 AM, Alexander Shutyaev shuty...@gmail.comwrote: Hi all! We have experienced a strange issue with datastax opscenter. It showed much more write requests that we should actually have. We've set everything up on an isolated node and there without any activity it showed 100+ writes per second. Is this some opscenter bug? Does it maybe count some internal cassandra operations? Or maybe the OpsCenter itselft generates such load because it's saving its monitoring data to the same cassandra it's actually monitoring? Thanks in advance!
Re: Rebalancing vnodes cluster
OpsCenter only supports vnodes minimally at this point. More specifically, it chooses a random token that a node owns in order to display that node on the ring. So a vnode cluster will always appear unbalanced in OpsCenter. Your cluster is probably balanced fine, but 'nodetoo status' should indicate that. Better vnode support is coming up in a future OpsCenter release. On Wed, Sep 18, 2013 at 6:26 PM, Nimi Wariboko Jr nimiwaribo...@gmail.comwrote: Hi, When I started with cassandra I had originally set it up to use tokens. I then migrated to vnodes (using shuffle), but my cluster isn't balanced ( http://imgur.com/73eNhJ3). What steps can I take to balance my cluster? Thanks, Nimi
Re: Any good GUI based tool to manage data in Casandra?
OpsCenter allows CRUD of column families themselves (although not CQL3 column families). It only allows viewing the data inside column families though, no support for writing or updating. On Wed, Aug 7, 2013 at 12:54 PM, Aaron Morton aa...@thelastpickle.comwrote: I think on of the versions of ops centre has the feature http://www.datastax.com/what-we-offer/products-services/datastax-opscenter otherwise people use the cassandra-cli or cqlsh. Cheers - Aaron Morton Cassandra Consultant New Zealand @aaronmorton http://www.thelastpickle.com On 7/08/2013, at 1:28 AM, Tony Anecito adanec...@yahoo.com wrote: Thanks Aaron. I found that before I asked the question and Helenos seems the closest but it does not allow you to easily use CRUD like say SQL Server Management tools where you can get a list of say 1,000 records in a grid control and select rows for deletion or insert or update. I will look closer at that one since this is the reply from the team but if users on this email list have other suggestions please do not hesitate to reply. Many Thanks, -Tony *From:* Aaron Morton aa...@thelastpickle.com *To:* Cassandra User user@cassandra.apache.org *Sent:* Tuesday, August 6, 2013 1:38 AM *Subject:* Re: Any good GUI based tool to manage data in Casandra? There is a list here. http://wiki.apache.org/cassandra/Administration%20Tools Cheers - Aaron Morton Cassandra Consultant New Zealand @aaronmorton http://www.thelastpickle.com/ On 3/08/2013, at 6:19 AM, Tony Anecito adanec...@yahoo.com wrote: Hi All, Is there a GUI tool for managing data in Cassandra database? I have google and seen tools but they seem to be schema management or explorer to just view data. IT would be great to delete/inset rows or update values for a column via GUI. Thanks, -Tony
Re: JMX Latency stats
The column family specific numbers are reporting latencies local to the node. So a write/read that has reached the correct replica and just needs to hit memory/disk. The non column family specific numbers are reporting latencies from the coordinator. So the latency from the time the coordinator receives a write/read request, contacts the right replica(s), receives an internal response and responds to the client. On Wed, Jul 10, 2013 at 12:27 PM, Christopher Wirt chris.w...@struq.comwrote: I was wondering if anyone knows the difference between the JMX latency stats and could enlighten me. ** ** We’ve been looking the column family specific stats and see really lovely 3ms 99th percentile stats for all our families. org.apache.cassandra.metrics:type=ColumnFamily,keyspace=mykeyspace,scope=mycolumnfamily,name=ReadLatency ** ** Now, when we look at the overall client request read latency stats we see a far more inconsistent jagged 99th percentile flying between 5ms – 80ms * *** org.apache.cassandra.metrics:type=ClientRequest,scope=Read,name=Latency*** * ** ** ** ** Thanks ** ** Chris ** ** ** ** ** ** ** **
Re: Opscenter access roles
OpsCenter uses http auth so the credentials will be saved by your browser. There are a couple things you could do. * Clear the local data/cache on your browser * Open your browser in private browsing/incognito mode * Manually enter credentials into the url: http:// user:pw@opscenter_ip:/ -Nick On Wed, Jul 3, 2013 at 7:55 AM, cscetbon@orange.com wrote: Hi, When we connect to Opscenter using an account, we do not see any disconnect button to connect under another account. Thanks -- Cyril SCETBON _ Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration, Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci. This message and its attachments may contain confidential or privileged information that may be protected by law; they should not be distributed, used or copied without authorisation. If you have received this email in error, please notify the sender and delete this message and its attachments. As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified. Thank you.
Re: opscentrer is spying
Thanks everyone. We always appreciate constructive criticism. Regarding what OpsCenter collects, we completely agree it should be documented more clearly. You can expect to see an update to the documentation later today. I will update this thread once that goes live. Regarding notifying the user when installing, we agree this process should be more transparent to the user. Adding that information as well as making it easier to disable will be a high priority for the OpsCenter team. Obviously that will take more time than documentation, but hopefully that feature will be out soon as well. -Nick On Thu, Jun 20, 2013 at 7:57 AM, Peter Lin wool...@gmail.com wrote: I use Cassandra, but I don't use OpsCenter. Seems like it would be in everyone's best interest to clearly define what data OpsCenter collects today, what OpsCenter won't collect and a promise to users none of the data will be used without first getting a customer's approval. I can understand the desire to collect general statistics, since it helps developers get a sense of how cassandra is used in production. I'm guessing these types of security issues can be easily addressed by improving EULA, documentation and communication. my bias 2 cents as a user. peter On Thu, Jun 20, 2013 at 8:49 AM, Radim Kolar h...@filez.com wrote: OpsCenter collects anonymous usage data and reports it back to DataStax. For example, number of nodes, keyspaces, column families, etc. Stat reporting isn't required to run OpsCenter however. To turn this feature off, see the docs here (stat_reporter): You never informed user that installing your crap will get him spyed upon. Thats very different from Firefox which asks for permission before sending data back and presents both choices to user. 1. You do not have documented what information and how often you are going to spy 2. how you are processing this information, which is required by EU law. 3. In your crap EULA you demand right to present any user of your spyware to public for PR purposes. 4. You guys tried to add spyware into apache cassandra and got huge negative response on cassandra-dev. You will simply never learn lesson. I dont trust Datastax: 1 .I am responsible for data security because we have sensitive data in database. Because you are spying by default, we can not trust that due to our admin mistake your spyware will not be left enabled. 2. We can not trust you that configuring that particual option really turns spying off. There might be bug in code or option can change name 3. We do not like to be spyed by software holding sensitive data 4. Spying is not anonymous - you will get IP address of reporter - you will see what company is using your product and from keyspace/CF names you can easily guess for what it is beeing used. If you do not spy keyspace/CF names yet you can do it in future since you have no clear privacy what we spy policy. I improved cassandra nagios plugin to fit our needs and give red stop sign to sw made by datastax.
Re: opscentrer is spying
As promised, updated docs detailing the data collected by OpsCenter are now live. http://www.datastax.com/docs/opscenter/configure/configure_opscenter_adv#stat-reporter-interval -Nick On Thu, Jun 20, 2013 at 12:34 PM, Alain RODRIGUEZ arodr...@gmail.comwrote: Good, fast and appreciated reaction from Datastax. Also thanks to Radim for the warning. Alain, Opscenter-free user. 2013/6/20 Nick Bailey n...@datastax.com Thanks everyone. We always appreciate constructive criticism. Regarding what OpsCenter collects, we completely agree it should be documented more clearly. You can expect to see an update to the documentation later today. I will update this thread once that goes live. Regarding notifying the user when installing, we agree this process should be more transparent to the user. Adding that information as well as making it easier to disable will be a high priority for the OpsCenter team. Obviously that will take more time than documentation, but hopefully that feature will be out soon as well. -Nick On Thu, Jun 20, 2013 at 7:57 AM, Peter Lin wool...@gmail.com wrote: I use Cassandra, but I don't use OpsCenter. Seems like it would be in everyone's best interest to clearly define what data OpsCenter collects today, what OpsCenter won't collect and a promise to users none of the data will be used without first getting a customer's approval. I can understand the desire to collect general statistics, since it helps developers get a sense of how cassandra is used in production. I'm guessing these types of security issues can be easily addressed by improving EULA, documentation and communication. my bias 2 cents as a user. peter On Thu, Jun 20, 2013 at 8:49 AM, Radim Kolar h...@filez.com wrote: OpsCenter collects anonymous usage data and reports it back to DataStax. For example, number of nodes, keyspaces, column families, etc. Stat reporting isn't required to run OpsCenter however. To turn this feature off, see the docs here (stat_reporter): You never informed user that installing your crap will get him spyed upon. Thats very different from Firefox which asks for permission before sending data back and presents both choices to user. 1. You do not have documented what information and how often you are going to spy 2. how you are processing this information, which is required by EU law. 3. In your crap EULA you demand right to present any user of your spyware to public for PR purposes. 4. You guys tried to add spyware into apache cassandra and got huge negative response on cassandra-dev. You will simply never learn lesson. I dont trust Datastax: 1 .I am responsible for data security because we have sensitive data in database. Because you are spying by default, we can not trust that due to our admin mistake your spyware will not be left enabled. 2. We can not trust you that configuring that particual option really turns spying off. There might be bug in code or option can change name 3. We do not like to be spyed by software holding sensitive data 4. Spying is not anonymous - you will get IP address of reporter - you will see what company is using your product and from keyspace/CF names you can easily guess for what it is beeing used. If you do not spy keyspace/CF names yet you can do it in future since you have no clear privacy what we spy policy. I improved cassandra nagios plugin to fit our needs and give red stop sign to sw made by datastax.
Re: opscentrer is spying
It is 'bdp_version' even though it is a list. That is a bit confusing. Thanks, I've added that additional feedback to our tracker. -Nick On Thu, Jun 20, 2013 at 3:47 PM, Dave Finnegan d...@datastax.com wrote: Nick, Just a nit, but is it 'bdp_version' or 'dbp_versions'? - 'bdp_version': A list of the different DataStax Enterprise versions in the cluster. Also, is this report available from OpsCenter? Seems like it would be nice to display a message to the user about what we send, and then provide a link to see the actual values that we are sending. Just a thought. Thanks, Dave On Thu, Jun 20, 2013 at 4:31 PM, Nick Bailey n...@datastax.com wrote: As promised, updated docs detailing the data collected by OpsCenter are now live. http://www.datastax.com/docs/opscenter/configure/configure_opscenter_adv#stat-reporter-interval -Nick On Thu, Jun 20, 2013 at 12:34 PM, Alain RODRIGUEZ arodr...@gmail.comwrote: Good, fast and appreciated reaction from Datastax. Also thanks to Radim for the warning. Alain, Opscenter-free user. 2013/6/20 Nick Bailey n...@datastax.com Thanks everyone. We always appreciate constructive criticism. Regarding what OpsCenter collects, we completely agree it should be documented more clearly. You can expect to see an update to the documentation later today. I will update this thread once that goes live. Regarding notifying the user when installing, we agree this process should be more transparent to the user. Adding that information as well as making it easier to disable will be a high priority for the OpsCenter team. Obviously that will take more time than documentation, but hopefully that feature will be out soon as well. -Nick On Thu, Jun 20, 2013 at 7:57 AM, Peter Lin wool...@gmail.com wrote: I use Cassandra, but I don't use OpsCenter. Seems like it would be in everyone's best interest to clearly define what data OpsCenter collects today, what OpsCenter won't collect and a promise to users none of the data will be used without first getting a customer's approval. I can understand the desire to collect general statistics, since it helps developers get a sense of how cassandra is used in production. I'm guessing these types of security issues can be easily addressed by improving EULA, documentation and communication. my bias 2 cents as a user. peter On Thu, Jun 20, 2013 at 8:49 AM, Radim Kolar h...@filez.com wrote: OpsCenter collects anonymous usage data and reports it back to DataStax. For example, number of nodes, keyspaces, column families, etc. Stat reporting isn't required to run OpsCenter however. To turn this feature off, see the docs here (stat_reporter): You never informed user that installing your crap will get him spyed upon. Thats very different from Firefox which asks for permission before sending data back and presents both choices to user. 1. You do not have documented what information and how often you are going to spy 2. how you are processing this information, which is required by EU law. 3. In your crap EULA you demand right to present any user of your spyware to public for PR purposes. 4. You guys tried to add spyware into apache cassandra and got huge negative response on cassandra-dev. You will simply never learn lesson. I dont trust Datastax: 1 .I am responsible for data security because we have sensitive data in database. Because you are spying by default, we can not trust that due to our admin mistake your spyware will not be left enabled. 2. We can not trust you that configuring that particual option really turns spying off. There might be bug in code or option can change name 3. We do not like to be spyed by software holding sensitive data 4. Spying is not anonymous - you will get IP address of reporter - you will see what company is using your product and from keyspace/CF names you can easily guess for what it is beeing used. If you do not spy keyspace/CF names yet you can do it in future since you have no clear privacy what we spy policy. I improved cassandra nagios plugin to fit our needs and give red stop sign to sw made by datastax. -- Dave Finnegan Sales Engineer DataStax d...@datastax.com 845.418.6121
Re: opscentrer is spying
OpsCenter collects anonymous usage data and reports it back to DataStax. For example, number of nodes, keyspaces, column families, etc. Stat reporting isn't required to run OpsCenter however. To turn this feature off, see the docs here (stat_reporter): http://www.datastax.com/docs/opscenter/configure/configure_opscenter_adv#stat-reporter-interval On Mon, Jun 17, 2013 at 11:44 AM, Robert Coli rc...@eventbrite.com wrote: On Sun, Jun 16, 2013 at 5:46 PM, Radim Kolar h...@filez.com wrote: in case you do not know yet, opscenter is sending certain data about your cassandra instalation back to datastax. This fact is not visibly presented to user, its same spyware crap like EHCache. Could you expand on this? What information do you see being sent, and how are you seeing it being transmitted to Datastax? =Rob
Re: Specifying initial token in 1.2 fails
If you are planning on using murmur3 without vnodes (specifying your own tokens) there is a quick python script in the datastax docs you can use to generate balanced tokens. http://www.datastax.com/docs/1.2/initialize/token_generation#calculating-tokens-for-the-murmur3partitioner On Fri, Jan 4, 2013 at 10:53 AM, Michael Kjellman mkjell...@barracuda.comwrote: To be honest I haven't run a cluster with Murmur3. You can still use indexing with RandomPartitioner (all us old folk are stuck on Random btw..) And there was a thread floating around yesterday where Edward did some benchmarks and found that Murmur3 was actually slower than RandomPartitioner. http://www.mail-archive.com/user@cassandra.apache.org/msg26789.htmlhttp://permalink.gmane.org/gmane.comp.db.cassandra.user/30182 I do know that with vnodes token allocation is now 100% dynamic so no need to manually assign tokens to nodes anymore. Best, michael From: Dwight Smith dwight.sm...@genesyslab.com Reply-To: user@cassandra.apache.org user@cassandra.apache.org Date: Friday, January 4, 2013 8:48 AM To: 'user@cassandra.apache.org' user@cassandra.apache.org Subject: RE: Specifying initial token in 1.2 fails Michael ** ** Yes indeed – my mistake. Thanks. I can specify RandomPartitioner, since I do not use indexing – yet. ** ** Just for informational purposes – with Murmur3 - to achieve a balanced cluster – is the initial token method supported? If so – how should these be generated, the token-generator seems to only apply to RandomPartitioner. ** ** Thanks again ** ** *From:* Michael Kjellman [mailto:mkjell...@barracuda.commkjell...@barracuda.com] *Sent:* Friday, January 04, 2013 8:39 AM *To:* user@cassandra.apache.org *Subject:* Re: Specifying initial token in 1.2 fails ** ** Murmur3 != MD5 (RandomPartitioner) ** ** *From: *Dwight Smith dwight.sm...@genesyslab.com *Reply-To: *user@cassandra.apache.org user@cassandra.apache.org *Date: *Friday, January 4, 2013 8:36 AM *To: *'user@cassandra.apache.org' user@cassandra.apache.org *Subject: *Specifying initial token in 1.2 fails ** ** Hi Just started evaluating 1.2 – starting a clean Cassandra node – the usual practice is to specify the initial token – but when I attempt to start the node the following is observed: INFO [main] 2013-01-03 14:08:57,774 DatabaseDescriptor.java (line 203) disk_failure_policy is stop DEBUG [main] 2013-01-03 14:08:57,774 DatabaseDescriptor.java (line 205) page_cache_hinting is false INFO [main] 2013-01-03 14:08:57,774 DatabaseDescriptor.java (line 266) Global memtable threshold is enabled at 339MB DEBUG [main] 2013-01-03 14:08:58,008 DatabaseDescriptor.java (line 381) setting auto_bootstrap to true ERROR [main] 2013-01-03 14:08:58,024 DatabaseDescriptor.java (line 495) Fatal configuration error org.apache.cassandra.exceptions.ConfigurationException: For input string: 85070591730234615865843651857942052863 at org.apache.cassandra.dht.Murmur3Partitioner$1.validate(Murmur3Partitioner.java:180) at org.apache.cassandra.config.DatabaseDescriptor.loadYaml(DatabaseDescriptor.java:433) at org.apache.cassandra.config.DatabaseDescriptor.clinit(DatabaseDescriptor.java:121) at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:178) at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:397) at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:440) This looks like a bug. Thanks ** ** -- Join Barracuda Networks in the fight against hunger. To learn how you can help in your community, please visit: http://on.fb.me/UAdL4f -- Join Barracuda Networks in the fight against hunger. To learn how you can help in your community, please visit: http://on.fb.me/UAdL4f
Re: can't get cqlsh running
It looks like easy_install is only recognizing python2.4 on your system. It is installing the cql module for that version. The cqlsh script explicitly looks for and runs with python2.6 since 2.4 isn't supported. I believe you can run 'python2.6 easy_install cql' to force it to use that python install. -Nick On Thu, Oct 11, 2012 at 10:45 AM, Tim Dunphy bluethu...@gmail.com wrote: Hey guys, I'm on cassandra 1.1.5 on a centos 5.8 machine. I have the cassandra bin directory on my path so that i can simply type 'cassandra-cli' from anywhere on my path to get into the cassandra command line environment. It's great! But I'd like to start using the cql shell (cqlsh) but apparently I don't know enough about python to get this working. This is what happens when I try to run cqlsh: [root@beta:~] #cqlsh Python CQL driver not installed, or not on PYTHONPATH. You might try easy_install cql. Python: /usr/bin/python2.6 Module load path: ['/usr/local/apache-cassandra-1.1.5/bin/../pylib', '/usr/local/apache-cassandra-1.1.5/bin', '/usr/local/apache-cassandra-1.1.5/bin', '/usr/lib64/python26.zip', '/usr/lib64/python2.6', '/usr/lib64/python2.6/plat-linux2', '/usr/lib64/python2.6/lib-tk', '/usr/lib64/python2.6/lib-old', '/usr/lib64/python2.6/lib-dynload', '/usr/lib64/python2.6/site-packages', '/usr/lib/python2.6/site-packages', '/usr/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg-info'] Error: No module named cql But easy_install claims that it's already installed: [root@beta:~] #easy_install cql Searching for cql Best match: cql 1.0.10 Processing cql-1.0.10-py2.4.egg cql 1.0.10 is already the active version in easy-install.pth Using /usr/lib/python2.4/site-packages/cql-1.0.10-py2.4.egg Processing dependencies for cql I'm thinking that I just don't know how to set the PYTHONPATH variable or where to point it to. Can someone give me a pointer here? Thanks Tim -- GPG me!! gpg --keyserver pool.sks-keyservers.net --recv-keys F186197B
Re: Persistent connection among nodes to communicate and redirect request
The comments here so far are correct. Cassandra itself will never open a thrift connection. Thrift is only for clients. Not sure what exactly you are seeing but I don't think it's cassandra. On Tue, Oct 2, 2012 at 10:48 AM, Niteesh kumar nitees...@directi.com wrote: not only a node make connection to other nodes. i can also see nodes making connection to itself on port 9160. On Tuesday 02 October 2012 07:42 PM, Viktor Jevdokimov wrote: not a thrift por
Re: Helenos - web based gui tool
This is the node.js driver with a similar name: https://github.com/simplereach/helenus On Fri, Sep 7, 2012 at 9:07 AM, Robin Verlangen ro...@us2.nl wrote: It's also some kind of OS (link: http://www.helenos.org/ ), not a really unique name. However the software looks nice! Best regards, Robin Verlangen Software engineer W http://www.robinverlangen.nl E ro...@us2.nl Disclaimer: The information contained in this message and attachments is intended solely for the attention and use of the named addressee and may be confidential. If you are not the intended recipient, you are reminded that the information remains the property of the sender. You must not use, disclose, distribute, copy, print or rely on this e-mail. If you have received this message in error, please contact the sender immediately and irrevocably delete this message and any copies. 2012/9/7 Tomek Kuprowski tomekkuprow...@gmail.com Could you give me a URL to this stuff ? 2012/9/7 Edward Capriolo edlinuxg...@gmail.com You might want to change the name. There is a node.js driver for cassandra with the same name. I am not sure which one of your got to the name first. On Thu, Sep 6, 2012 at 8:00 PM, aaron morton aa...@thelastpickle.com wrote: Thanks Tomek, Feel free to add it to http://wiki.apache.org/cassandra/Administration%20Tools Cheers - Aaron Morton Freelance Developer @aaronmorton http://www.thelastpickle.com On 5/09/2012, at 9:54 AM, Tomek Kuprowski tomekkuprow...@gmail.com wrote: Dear all, I'm happy to announce a first release of Helenos. This is a web based gui tool to manage your data stored in Cassandra. Project site: https://github.com/tomekkup/helenos Some screens: https://picasaweb.google.com/tomekkuprowski/Helenos Hope you'll find it usefull. I'll be grateful for your comments and opinions. -- -- Regards ! Tomek Kuprowski -- -- Pozdrawiam, regards Tomek Kuprowski Blog: http://tomekkup.blogspot.com/ Helenos: https://github.com/tomekkup/helenos
Re: Opscenter 2.1 vs 1.3
Robin, RF shouldn't affect the numbers on that graph at all. The only explanation for those differences that I can see is the increase in the number of writes OpsCenter itself is doing. Do you see the same jump in writes when viewing graphs just for your application's column families? -Nick On Sun, Aug 19, 2012 at 3:02 PM, Robin Verlangen ro...@us2.nl wrote: Hi Nick, I'm talking about the total writes/reads in the dashboard (left graph). It exactly tripled during our update. I guess this is a change because of the fact we also replicate with RF=3. Is that true? With kind regards, Robin Verlangen Software engineer W http://www.robinverlangen.nl E ro...@us2.nl Disclaimer: The information contained in this message and attachments is intended solely for the attention and use of the named addressee and may be confidential. If you are not the intended recipient, you are reminded that the information remains the property of the sender. You must not use, disclose, distribute, copy, print or rely on this e-mail. If you have received this message in error, please contact the sender immediately and irrevocably delete this message and any copies. 2012/8/17 Nick Bailey n...@datastax.com Robin, Are you talking about total writes to the cluster, writes to a specific column family, or something else? There has been some changes to OpsCenters metric collection/storage system but nothing that should cause something like that. Also its possible the number of writes to the OpsCenter keyspace itself would have changed quite a bit between those versions, I'm assuming you don't mean the column families in the OpsCenter keyspace though right? -Nick On Thu, Aug 16, 2012 at 7:05 PM, aaron morton aa...@thelastpickle.com wrote: You may have better luck on the Data Stax forums http://www.datastax.com/support-forums/ Cheers - Aaron Morton Freelance Developer @aaronmorton http://www.thelastpickle.com On 17/08/2012, at 4:36 AM, Robin Verlangen ro...@us2.nl wrote: Hi there, I just upgraded to opscenter 2.1 (from 1.3). It appears that my writes have tripled. Is this a change in the display/measuring of opscenter? Best regards, Robin Verlangen Software engineer W http://www.robinverlangen.nl E ro...@us2.nl Disclaimer: The information contained in this message and attachments is intended solely for the attention and use of the named addressee and may be confidential. If you are not the intended recipient, you are reminded that the information remains the property of the sender. You must not use, disclose, distribute, copy, print or rely on this e-mail. If you have received this message in error, please contact the sender immediately and irrevocably delete this message and any copies.
Re: Understanding UnavailableException
Last time I checked, this was not true for batch writes. The row mutations were started sequentially (ie, for each mutation check availability, then kick off an aynchronous write), so it was possible for the first to succeed, and the second to fail with an UnavailableException. Thats a good point, thanks for bringing that up. It is still the case that if a batch mutate fails you don't know which rows could have succeeded and which row caused the failure. It is generally good advice to optimize your application in other areas (threadpools/concurrency) before attempting to optimize with batches.
Re: Opscenter 2.1 vs 1.3
Robin, Are you talking about total writes to the cluster, writes to a specific column family, or something else? There has been some changes to OpsCenters metric collection/storage system but nothing that should cause something like that. Also its possible the number of writes to the OpsCenter keyspace itself would have changed quite a bit between those versions, I'm assuming you don't mean the column families in the OpsCenter keyspace though right? -Nick On Thu, Aug 16, 2012 at 7:05 PM, aaron morton aa...@thelastpickle.com wrote: You may have better luck on the Data Stax forums http://www.datastax.com/support-forums/ Cheers - Aaron Morton Freelance Developer @aaronmorton http://www.thelastpickle.com On 17/08/2012, at 4:36 AM, Robin Verlangen ro...@us2.nl wrote: Hi there, I just upgraded to opscenter 2.1 (from 1.3). It appears that my writes have tripled. Is this a change in the display/measuring of opscenter? Best regards, Robin Verlangen Software engineer W http://www.robinverlangen.nl E ro...@us2.nl Disclaimer: The information contained in this message and attachments is intended solely for the attention and use of the named addressee and may be confidential. If you are not the intended recipient, you are reminded that the information remains the property of the sender. You must not use, disclose, distribute, copy, print or rely on this e-mail. If you have received this message in error, please contact the sender immediately and irrevocably delete this message and any copies.
Re: Understanding UnavailableException
This blog post should help: http://www.datastax.com/dev/blog/how-cassandra-deals-with-replica-failure But to answer your question: UnavailableException is bit tricky. It means, that not all replicas required by CL received update. Actually you do not know, whenever update was stored or not, and actually what went wrong. This is actually incorrect. If you get an UnavailableException, the write was rejected by the coordinator and was not written anywhere. a) Suppose we are doing a ConsistencyLevel.ALL write on a 3 node cluster. My understanding is that if one of the nodes is down and the coordinator node is aware of that(through gossip), then it will respond to the request with an UnavailableException. Is this correct? Correct b) What happens if the coordinator isn't aware of a node being down and sends the request to all the nodes and never hears back from one of the node. Would this result in a TimedOutException or a UnavailableException? You will get a TimedOutException c) I am trying to understand the cases where the client receives an error, but data could have been inserted into Cassandra. One such case is the TimedOutException. Are there any other situations like these? This should be the only case.
Re: Unbalanced ring in Cassandra 0.8.4
No. Cleanup will scan each sstable to remove data that is no longer owned by that specific node. It won't compact the sstables together however. On Tue, Jun 19, 2012 at 11:11 PM, Raj N raj.cassan...@gmail.com wrote: But wont that also run a major compaction which is not recommended anymore. -Raj On Sun, Jun 17, 2012 at 11:58 PM, aaron morton aa...@thelastpickle.com wrote: Assuming you have been running repair, it' can't hurt. Cheers - Aaron Morton Freelance Developer @aaronmorton http://www.thelastpickle.com On 17/06/2012, at 4:06 AM, Raj N wrote: Nick, do you think I should still run cleanup on the first node. -Rajesh On Fri, Jun 15, 2012 at 3:47 PM, Raj N raj.cassan...@gmail.com wrote: I did run nodetool move. But that was when I was setting up the cluster which means I didn't have any data at that time. -Raj On Fri, Jun 15, 2012 at 1:29 PM, Nick Bailey n...@datastax.com wrote: Did you start all your nodes at the correct tokens or did you balance by moving them? Moving nodes around won't delete unneeded data after the move is done. Try running 'nodetool cleanup' on all of your nodes. On Fri, Jun 15, 2012 at 12:24 PM, Raj N raj.cassan...@gmail.com wrote: Actually I am not worried about the percentage. Its the data I am concerned about. Look at the first node. It has 102.07GB data. And the other nodes have around 60 GB(one has 69, but lets ignore that one). I am not understanding why the first node has almost double the data. Thanks -Raj On Fri, Jun 15, 2012 at 11:06 AM, Nick Bailey n...@datastax.com wrote: This is just a known problem with the nodetool output and multiple DCs. Your configuration is correct. The problem with nodetool is fixed in 1.1.1 https://issues.apache.org/jira/browse/CASSANDRA-3412 On Fri, Jun 15, 2012 at 9:59 AM, Raj N raj.cassan...@gmail.com wrote: Hi experts, I have a 6 node cluster across 2 DCs(DC1:3, DC2:3). I have assigned tokens using the first strategy(adding 1) mentioned here - http://wiki.apache.org/cassandra/Operations?#Token_selection But when I run nodetool ring on my cluster, this is the result I get - Address DC Rack Status State Load Owns Token 113427455640312814857969558651062452225 172.17.72.91 DC1 RAC13 Up Normal 102.07 GB 33.33% 0 45.10.80.144 DC2 RAC5 Up Normal 59.1 GB 0.00% 1 172.17.72.93 DC1 RAC18 Up Normal 59.57 GB 33.33% 56713727820156407428984779325531226112 45.10.80.146 DC2 RAC7 Up Normal 59.64 GB 0.00% 56713727820156407428984779325531226113 172.17.72.95 DC1 RAC19 Up Normal 69.58 GB 33.33% 113427455640312814857969558651062452224 45.10.80.148 DC2 RAC9 Up Normal 59.31 GB 0.00% 113427455640312814857969558651062452225 As you can see the first node has considerably more load than the others(almost double) which is surprising since all these are replicas of each other. I am running Cassandra 0.8.4. Is there an explanation for this behaviour? Could https://issues.apache.org/jira/browse/CASSANDRA-2433 be the cause for this? Thanks -Raj
Re: Unbalanced ring in Cassandra 0.8.4
This is just a known problem with the nodetool output and multiple DCs. Your configuration is correct. The problem with nodetool is fixed in 1.1.1 https://issues.apache.org/jira/browse/CASSANDRA-3412 On Fri, Jun 15, 2012 at 9:59 AM, Raj N raj.cassan...@gmail.com wrote: Hi experts, I have a 6 node cluster across 2 DCs(DC1:3, DC2:3). I have assigned tokens using the first strategy(adding 1) mentioned here - http://wiki.apache.org/cassandra/Operations?#Token_selection But when I run nodetool ring on my cluster, this is the result I get - Address DC Rack Status State Load Owns Token 113427455640312814857969558651062452225 172.17.72.91 DC1 RAC13 Up Normal 102.07 GB 33.33% 0 45.10.80.144 DC2 RAC5 Up Normal 59.1 GB 0.00% 1 172.17.72.93 DC1 RAC18 Up Normal 59.57 GB 33.33% 56713727820156407428984779325531226112 45.10.80.146 DC2 RAC7 Up Normal 59.64 GB 0.00% 56713727820156407428984779325531226113 172.17.72.95 DC1 RAC19 Up Normal 69.58 GB 33.33% 113427455640312814857969558651062452224 45.10.80.148 DC2 RAC9 Up Normal 59.31 GB 0.00% 113427455640312814857969558651062452225 As you can see the first node has considerably more load than the others(almost double) which is surprising since all these are replicas of each other. I am running Cassandra 0.8.4. Is there an explanation for this behaviour? Could https://issues.apache.org/jira/browse/CASSANDRA-2433 be the cause for this? Thanks -Raj
Re: Unbalanced ring in Cassandra 0.8.4
Did you start all your nodes at the correct tokens or did you balance by moving them? Moving nodes around won't delete unneeded data after the move is done. Try running 'nodetool cleanup' on all of your nodes. On Fri, Jun 15, 2012 at 12:24 PM, Raj N raj.cassan...@gmail.com wrote: Actually I am not worried about the percentage. Its the data I am concerned about. Look at the first node. It has 102.07GB data. And the other nodes have around 60 GB(one has 69, but lets ignore that one). I am not understanding why the first node has almost double the data. Thanks -Raj On Fri, Jun 15, 2012 at 11:06 AM, Nick Bailey n...@datastax.com wrote: This is just a known problem with the nodetool output and multiple DCs. Your configuration is correct. The problem with nodetool is fixed in 1.1.1 https://issues.apache.org/jira/browse/CASSANDRA-3412 On Fri, Jun 15, 2012 at 9:59 AM, Raj N raj.cassan...@gmail.com wrote: Hi experts, I have a 6 node cluster across 2 DCs(DC1:3, DC2:3). I have assigned tokens using the first strategy(adding 1) mentioned here - http://wiki.apache.org/cassandra/Operations?#Token_selection But when I run nodetool ring on my cluster, this is the result I get - Address DC Rack Status State Load Owns Token 113427455640312814857969558651062452225 172.17.72.91 DC1 RAC13 Up Normal 102.07 GB 33.33% 0 45.10.80.144 DC2 RAC5 Up Normal 59.1 GB 0.00% 1 172.17.72.93 DC1 RAC18 Up Normal 59.57 GB 33.33% 56713727820156407428984779325531226112 45.10.80.146 DC2 RAC7 Up Normal 59.64 GB 0.00% 56713727820156407428984779325531226113 172.17.72.95 DC1 RAC19 Up Normal 69.58 GB 33.33% 113427455640312814857969558651062452224 45.10.80.148 DC2 RAC9 Up Normal 59.31 GB 0.00% 113427455640312814857969558651062452225 As you can see the first node has considerably more load than the others(almost double) which is surprising since all these are replicas of each other. I am running Cassandra 0.8.4. Is there an explanation for this behaviour? Could https://issues.apache.org/jira/browse/CASSANDRA-2433 be the cause for this? Thanks -Raj
Release: OpsCenter 2.1
Hey Everyone, Today we released version 2.1 of OpsCenter. The main theme of the release was around bug fixes, although there are a few small features that have been added. Some highlights: * Data Browser improvements * Online feedback form. * Optional HTTPS support. * Cross platform agent installation * Column Family truncate support We hope the data browser improvements are particularly useful. Previous versions displayed any non UTF8 data as hex bytes. The new release should correctly display all built in Cassandra data types (including composites). Also there is an integrated feedback mechanism now. Please feel free to send us any feedback you have. Full Release Notes: http://www.datastax.com/docs/opscenter/release_notes Download: http://www.datastax.com/download/community *Note: The community version is completely free for all types of use. Thanks! Nick
Re: Possible bug in Cassandra 1.1.1 with NTS
The property file snitch isn't used by default. Did you change your cassandra.yaml to use PropertyFileSnitch so it reads cassandra-topology.properties? Also the formatting in your dc property file isn't right. It should be 'ip=dc:rack'. So: 127.0.0.1=dc-test:my-notebook On Mon, Jun 11, 2012 at 1:49 PM, Carlo Pires carlopi...@gmail.com wrote: Just installed cassandra 1.1.1 and run: root@carlo-laptop:/tmp# cassandra-cli -h localhost Connected to: Test Cluster on localhost/9160 Welcome to Cassandra CLI version 1.1.1 Type 'help;' or '?' for help. Type 'quit;' or 'exit;' to quit. [default@unknown] create keyspace accounts ... with placement_strategy = 'NetworkTopologyStrategy' ... and strategy_options = {dc-test : 2} ... and durable_writes = true; d05f1952-58a8-393b-b8b5-605ac8e434c4 Waiting for schema agreement... ... schemas agree across the cluster [default@unknown] [default@unknown] use accounts; Authenticated to keyspace: accounts [default@accounts] [default@accounts] create column family Users ... with column_type = 'Standard' ... and comparator = 'BytesType' ... and default_validation_class = 'BytesType' ... and key_validation_class = 'TimeUUIDType'; a8943316-ee58-3160-a922-5826f15bd674 Waiting for schema agreement... ... schemas agree across the cluster [default@accounts] list Users; Using default limit of 100 Using default column limit of 100 null UnavailableException() at org.apache.cassandra.thrift.Cassandra$get_range_slices_result.read(Cassandra.java:12346) at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78) at org.apache.cassandra.thrift.Cassandra$Client.recv_get_range_slices(Cassandra.java:692) at org.apache.cassandra.thrift.Cassandra$Client.get_range_slices(Cassandra.java:676) at org.apache.cassandra.cli.CliClient.executeList(CliClient.java:1425) at org.apache.cassandra.cli.CliClient.executeCLIStatement(CliClient.java:273) at org.apache.cassandra.cli.CliMain.processStatementInteractive(CliMain.java:219) at org.apache.cassandra.cli.CliMain.main(CliMain.java:346) [default@accounts] root@carlo-laptop:/tmp# root@carlo-laptop:/tmp# cat /etc/cassandra/cassandra-topology.properties 127.0.0.1:dc-test:my-notebook root@carlo-laptop:/tmp# I did not find anything relevant in JIRA. The setup is a single instance cassandra in my notebook running the default cassandra 1.1.1 of debian repo. -- Carlo Pires
Re: Possible bug in Cassandra 1.1.1 with NTS
I don't know why I got no error in 1.0.8 with PropertyFileSnitch in cassandra.yaml and wrong syntax in cassandra-topology.properties. Not sure either. PS: I had to change JVM_OPTS in /etc/cassandra/cassandra-env.sh to use 160k instead 128k. This has not been fixed? Still marked as unresolved. https://issues.apache.org/jira/browse/CASSANDRA-4275
Release: OpsCenter 2.0
Hey everyone, This past week we released OpsCenter 2.0. The main updates to the community version of this release are centered around performance and stability. These updates should greatly improve performance, especially in larger clusters. Some of the highlights include: * Refactoring of metric processing. Metrics are written directly from OpsCenter agents, which causes less network traffic and load in general. * Refactoring of metric storage. This should improve disk space consumption of metrics written by OpsCenter. * Update of gc_grace_seconds on OpsCenter column families. This will allow unused historical OpsCenter data to expire earlier. * UI performance enhancements. * Bug fixes. For anyone that hasn't used OpsCenter, it is a graphical tool for Cassandra administration and management. The community version is free for any use. You can download the OpsCenter 2.0 tarball directly here: http://downloads.datastax.com/community/, and find instructions for installing the tarball as well as deb or rpm versions of OpsCenter here: http://www.datastax.com/docs/opscenter2.0/install_opscenter Please send us any feedback or issues you have so we can continue to improve OpsCenter. -Nick
Re: DataStax Opscenter 2.0 question
What version of firefox? Someone has reported a similar issue with firefox 3.6? Can you try with chrome or perhaps a more recent version of firefox (assuming you are also on an older version)? On Wed, Apr 18, 2012 at 4:51 PM, Jay Parashar jparas...@itscape.com wrote: I am having trouble in running the OpsCenter. It starts without any error but the GUI stays in the index page and just shows “Loading OpsCenter…”. Firebug shows an error “this._onClusterSave.bind is not a function”. I have the log turned on DEBUG it shows no error (pasted below). This is the only change I have made to the “opscenterd.conf” file. Cassandra 1.0.8 included in DSE 2.0 is running fine. Would appreciate any help. Previously, I had no problems configuring/running the OpsCenter 1.4.1. 2012-04-18 23:40:32+0200 [] INFO: twistd 10.2.0 (/usr/bin/python2.6 2.6.6) starting up. 2012-04-18 23:40:32+0200 [] INFO: reactor class: twisted.internet.selectreactor.SelectReactor. 2012-04-18 23:40:32+0200 [] INFO: Logging level set to 'debug' 2012-04-18 23:40:32+0200 [] INFO: OpsCenterdService startService 2012-04-18 23:40:32+0200 [] INFO: OpsCenter version: 2.0 2012-04-18 23:40:32+0200 [] INFO: Compatible agent version: 2.7 2012-04-18 23:40:32+0200 [] DEBUG: Main config options: 2012-04-18 23:40:32+0200 [] DEBUG: agents : [('ssl_certfile', './ssl/opscenter.pem'), ('tmp_dir', './tmp'), ('path_to_installscript', './bin/install_agent.sh'), ('path_to_sudowrap', './bin/sudo_with_pass.py'), ('agent_keyfile', './ssl/agentKeyStore'), ('path_to_deb', 'NONE'), ('ssl_keyfile', './ssl/opscenter.key'), ('agent_certfile', './ssl/agentKeyStore.pem'), ('path_to_rpm', 'NONE')], webserver : [('interface', '127.0.0.1'), ('staticdir', './content'), ('port', ''), ('log_path', './log/http.log')], stat_reporter : [('ssl_key', './ssl/stats.pem')], logging : [('log_path', './log/opscenterd.log'), ('level', 'DEBUG')], authentication : [('passwd_file', './passwds')], 2012-04-18 23:40:32+0200 [] DEBUG: Loading all per-cluster config files 2012-04-18 23:40:32+0200 [] DEBUG: Done loading all per-cluster config files 2012-04-18 23:40:32+0200 [] INFO: No clusters are configured yet, checking to see if a config migration is needed 2012-04-18 23:40:32+0200 [] INFO: Main config does not appear to include a cluster configuration, skipping migration 2012-04-18 23:40:32+0200 [] DEBUG: Loading all per-cluster config files 2012-04-18 23:40:32+0200 [] DEBUG: Done loading all per-cluster config files 2012-04-18 23:40:32+0200 [] INFO: No clusters are configured 2012-04-18 23:40:32+0200 [] INFO: HTTP BASIC authentication disabled 2012-04-18 23:40:32+0200 [] INFO: SSL enabled 2012-04-18 23:40:32+0200 [] INFO: opscenterd.WebServer.OpsCenterdWebServer starting on 2012-04-18 23:40:32+0200 [] INFO: Starting factory opscenterd.WebServer.OpsCenterdWebServer instance at 0x9e35c2c 2012-04-18 23:40:32+0200 [] INFO: morbid.morbid.StompFactory starting on 61619 2012-04-18 23:40:32+0200 [] INFO: Starting factory morbid.morbid.StompFactory instance at 0x9e96a4c 2012-04-18 23:40:32+0200 [] INFO: Configuring agent communication with ssl support enabled. 2012-04-18 23:40:32+0200 [] INFO: morbid.morbid.StompFactory starting on 61620 2012-04-18 23:40:32+0200 [] INFO: OS Version: Linux version 2.6.35-22-generic (buildd@rothera) (gcc version 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu4) ) #33-Ubuntu SMP Sun Sep 19 20:34:50 UTC 2010 2012-04-18 23:40:32+0200 [] INFO: CPU Info: ['2197.558', '2197.558'] 2012-04-18 23:40:33+0200 [] INFO: Mem Info: 2966MB 2012-04-18 23:40:33+0200 [] INFO: Package Manager: apt 2012-04-18 23:41:32+0200 [] DEBUG: Average opscenterd CPU usage: 0.23%, memory usage: 16 MB 2012-04-18 23:42:32+0200 [] DEBUG: Average opscenterd CPU usage: 0.07%, memory usage: 16 MB Thanks Jay
Re: Lexer error at char '\u201C'
https://github.com/thobbs/flume-cassandra-plugin I think that is fairly up to date, right Tyler? On Wed, Apr 18, 2012 at 11:18 PM, Trevor Francis trevor.fran...@tgrahamcapital.com wrote: …..slaps himself. Oh you guys at Datastax are great. I have deployed a small Cassandra cluster using your community edition. Actually currently working on making Flume use cassandra as a sink…..unsuccessfully. However, I did just get this Flume error fixed. Are you aware of any cassandra sinks that actually work for Flume? Trevor Francis On Apr 18, 2012, at 11:12 PM, Tyler Hobbs wrote: This... looks like Flume. Are you sure you've got the right mailing list? On Wed, Apr 18, 2012 at 11:04 PM, Trevor Francis trevor.fran...@tgrahamcapital.com wrote: Trying to add an agent config through the master web server to point to a collector node, getting: FAILED config [10.38.20.197, tailDir(/var/log/acc/, .*, true, 0), agentDFOSink(“10.38.20.203”,35853)] Attempted to write an invalid sink/source: Lexer error at char '\u201C' at line 1 char 13 Any ideas? Trevor Francis -- Tyler Hobbs DataStax http://datastax.com/
Re: another DataStax OpsCenter question
No. Each agent is responsible for collecting and reporting all the statistics for the node it is installed on, so there shouldn't be any duplication. On Sat, Mar 31, 2012 at 5:01 AM, R. Verlangen ro...@us2.nl wrote: Nick, would that also result in useless duplicates of the statistics? 2012/3/30 Nick Bailey n...@datastax.com Unfortunately at the moment OpsCenter only really supports having one instance per cluster. It may be possible to set up an instance in each datacenter, however it has not been tested and each opscenter instance would lose some functionality. On Fri, Mar 30, 2012 at 3:13 AM, Alexandru Sicoe adsi...@gmail.com wrote: Hi Nick, I forgot to say I was using 1.2.3 which I think uses different ports. So I will upgrade to 1.4.1 and open those ports across the firewall although that's kind of a pain. I already have about 320 config lines for the Cassandra cluster itself. So, just to make things clear, is it mandatory to have one OpsCenter instance per Cassandra cluster? Even if that cluster is split in multiple Cassandra DCs across separate regions? Is there a way to have one OpsCenter per Cassandra DC (monitor Cassandra DCs individually)? That would get rid of many configuration issues! Cheers, Alex On Thu, Mar 29, 2012 at 9:35 PM, Nick Bailey n...@datastax.com wrote: This setup may be possible although there are a few potential issues. Firstly, see: http://www.datastax.com/docs/opscenter/configure_opscenter#configuring-firewall-port-access Basically the agents and OpsCenter communicate on ports 61620 and 61621 by default (those can be configured though). The agents will contact the the OpsCenter machine on port 61620. You can specify the interface the agents will use to connect to this port when installing/setting up the agents. The OpsCenter machine will contact the agents on port 61621. Right now the OpsCenter machine will only talk to the nodes using the listen_address configured in your cassandra conf. We have a task to fix this in the future so that you can configure the interface that opscenter will contact each agent on. In the meantime though OpsCenter will need to be able to hit the listen_address for each node. On Thu, Mar 29, 2012 at 12:47 PM, Alexandru Sicoe adsi...@gmail.com wrote: Hello, I am planning on testing OpsCenter to see how it can monitor a multi DC cluster. There are 2 DCs each on a different side of a firewall. I've configured NAT on the firewall to allow the communication between all Cassandra nodes on ports 7000, 7199 and 9160. The cluster works fine. However when I start OpsCenter (obviously on one side of the firewall) the OpsCenter CF gives me two schema versions in the cluster and basically messes up everything. Plus, I can only see the nodes on one the same side. What are the requirements to let the OpsCenter on one side see the Cassandra nodes and the OpsCenter agents on the other, and viceversa? Is it possible to use OpsCenter across a firewall? Cheers, Alex -- With kind regards, Robin Verlangen www.robinverlangen.nl
Re: another DataStax OpsCenter question
Unfortunately at the moment OpsCenter only really supports having one instance per cluster. It may be possible to set up an instance in each datacenter, however it has not been tested and each opscenter instance would lose some functionality. On Fri, Mar 30, 2012 at 3:13 AM, Alexandru Sicoe adsi...@gmail.com wrote: Hi Nick, I forgot to say I was using 1.2.3 which I think uses different ports. So I will upgrade to 1.4.1 and open those ports across the firewall although that's kind of a pain. I already have about 320 config lines for the Cassandra cluster itself. So, just to make things clear, is it mandatory to have one OpsCenter instance per Cassandra cluster? Even if that cluster is split in multiple Cassandra DCs across separate regions? Is there a way to have one OpsCenter per Cassandra DC (monitor Cassandra DCs individually)? That would get rid of many configuration issues! Cheers, Alex On Thu, Mar 29, 2012 at 9:35 PM, Nick Bailey n...@datastax.com wrote: This setup may be possible although there are a few potential issues. Firstly, see: http://www.datastax.com/docs/opscenter/configure_opscenter#configuring-firewall-port-access Basically the agents and OpsCenter communicate on ports 61620 and 61621 by default (those can be configured though). The agents will contact the the OpsCenter machine on port 61620. You can specify the interface the agents will use to connect to this port when installing/setting up the agents. The OpsCenter machine will contact the agents on port 61621. Right now the OpsCenter machine will only talk to the nodes using the listen_address configured in your cassandra conf. We have a task to fix this in the future so that you can configure the interface that opscenter will contact each agent on. In the meantime though OpsCenter will need to be able to hit the listen_address for each node. On Thu, Mar 29, 2012 at 12:47 PM, Alexandru Sicoe adsi...@gmail.com wrote: Hello, I am planning on testing OpsCenter to see how it can monitor a multi DC cluster. There are 2 DCs each on a different side of a firewall. I've configured NAT on the firewall to allow the communication between all Cassandra nodes on ports 7000, 7199 and 9160. The cluster works fine. However when I start OpsCenter (obviously on one side of the firewall) the OpsCenter CF gives me two schema versions in the cluster and basically messes up everything. Plus, I can only see the nodes on one the same side. What are the requirements to let the OpsCenter on one side see the Cassandra nodes and the OpsCenter agents on the other, and viceversa? Is it possible to use OpsCenter across a firewall? Cheers, Alex
Re: cassandra gui
Just so you know. OpsCenter is a good tool for managing your cluster and viewing data in your keyspaces/columnfamilies (data besides string data currently doesn't display an extremely user friendly way, it will display hex). Currently you can not insert data to your cluster using the OpsCenter gui though. That is planned for some point in the future hopefully, but it is hard to say when it will be added. On Thu, Mar 29, 2012 at 1:25 PM, Mucklow, Blaine (GE Energy) blaine.muck...@ge.com wrote: Datastax OpsCenter really is pretty awesome. I haven't tried anything else, but have had no issues with opscenter. On 3/29/12 1:53 PM, Tim Dunphy bluethu...@gmail.com wrote: hey all, I have a new cassandra node that I've setup so that I can get better acquainted with this technology. Thus far I've been using the cassandra-cli and it'd been a fun experience so far. However I know that there are a few cassandra gui's out there and I was just wondering which ones you've used that you've had a good experience with and can recommend? So far I've heard of (but not used) DataStax OpsCenter as well as the Apollo gui and I think there may be others. Ideally what I'd like to be able to do is both manage nodes and enter data into the keystores using a graphical user interface. Thanks tim -- GPG me!! gpg --keyserver pool.sks-keyservers.net --recv-keys F186197B
Re: another DataStax OpsCenter question
This setup may be possible although there are a few potential issues. Firstly, see: http://www.datastax.com/docs/opscenter/configure_opscenter#configuring-firewall-port-access Basically the agents and OpsCenter communicate on ports 61620 and 61621 by default (those can be configured though). The agents will contact the the OpsCenter machine on port 61620. You can specify the interface the agents will use to connect to this port when installing/setting up the agents. The OpsCenter machine will contact the agents on port 61621. Right now the OpsCenter machine will only talk to the nodes using the listen_address configured in your cassandra conf. We have a task to fix this in the future so that you can configure the interface that opscenter will contact each agent on. In the meantime though OpsCenter will need to be able to hit the listen_address for each node. On Thu, Mar 29, 2012 at 12:47 PM, Alexandru Sicoe adsi...@gmail.com wrote: Hello, I am planning on testing OpsCenter to see how it can monitor a multi DC cluster. There are 2 DCs each on a different side of a firewall. I've configured NAT on the firewall to allow the communication between all Cassandra nodes on ports 7000, 7199 and 9160. The cluster works fine. However when I start OpsCenter (obviously on one side of the firewall) the OpsCenter CF gives me two schema versions in the cluster and basically messes up everything. Plus, I can only see the nodes on one the same side. What are the requirements to let the OpsCenter on one side see the Cassandra nodes and the OpsCenter agents on the other, and viceversa? Is it possible to use OpsCenter across a firewall? Cheers, Alex
Re: cqlsh
If you are running on windows the msi installer for datastax community edition will install everything you need and add appropriate entries to your start menu for running the cql shell or the normal cli shell. You can get the installer here: http://www.datastax.com/download/community That might make things a bit easier for you. On Tue, Mar 27, 2012 at 11:46 PM, Maki Watanabe watanabe.m...@gmail.com wrote: cqlsh is a python script. You need python, and cql driver for python. maki 2012/3/28 puneet loya puneetl...@gmail.com: i know cqlsh is in the bin directory .. how to run it on Windows? it is not a batch file that can be run directly? Should we use python to execute it?? plz show a way :) Reply On Wed, Mar 28, 2012 at 8:34 AM, Maki Watanabe watanabe.m...@gmail.com wrote: You can find it in the bin directory of the binary distribution. maki 2012/3/27 puneet loya puneetl...@gmail.com: How do i use the cqlsh comand line utility?? I m using cassandra 1.0.8.. Does cqlsh command line utility comes with the download of cassandra 1.0.8 or we have to do it separately. Suggest a way to go further plz reply :)
Re: what other ports than 7199 need to be open for nodetool to work?
You are correct about the second random dynamic port. There is a ticket open to fix that as well as some other jmx issues: https://issues.apache.org/jira/browse/CASSANDRA-2967 Regarding nodetool, it doesn't do anything special. Nodetool is often used to connect to 'localhost' which generally does not have any firewall rules at all so it usually works. It is still connecting to a random second port though. On Mon, Mar 26, 2012 at 2:42 PM, Yiming Sun yiming@gmail.com wrote: Hi, We opened port 7199 on a cassandra node, but were unable to get a nodetool to talk to it remotely unless we turn off the firewall entirely. So what other ports should be opened for this -- online posts all indicate that JMX uses a random dynamic port, which would be difficult to create a firewall exception unless writing a custom java agent. So we just wondering if cassandra nodetool uses a specific port/port range. Thanks. -- Y.
Re: unsubscribe
http://wiki.apache.org/cassandra/FAQ#unsubscribe On Tue, Feb 14, 2012 at 1:37 PM, Al a...@dude.podzone.net wrote:
Re: nodetool hangs and didn't print anything with firewall
JMX is not very firewall friendly. The problem is that JMX is a two connection process. The first connection happens on port 7199 and the second connection happens on some random port 1024. Work on changing this behavior was started in this ticket: https://issues.apache.org/jira/browse/CASSANDRA-2967 On Mon, Feb 6, 2012 at 2:02 AM, R. Verlangen ro...@us2.nl wrote: Do you allow both outbound as inbound traffic? You might also try allowing both TCP as UDP. 2012/2/6 Roshan codeva...@gmail.com Yes, If the firewall is disable it works. -- View this message in context: http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/nodetool-hangs-and-didn-t-print-anything-with-firewall-tp7257286p7257310.html Sent from the cassandra-u...@incubator.apache.org mailing list archive at Nabble.com.
Re: datastax opscenter authentication
Unfortunately the current method using a password file is the only option for authentication in OpsCenter at the moment. I've noted PAM authentication as a feature request though. On Mon, Jan 23, 2012 at 8:16 AM, Ramesh Natarajan rames...@gmail.com wrote: I am trying to integrate opscenter in our environment and I was wondering if we can use PAM authentication instead of a password file for opscenter authentication? thanks Ramesh
Re: Creating column families per client
The overhead for column families was greatly reduced in 0.8 and 1.0. It should now be possible to have hundreds or thousands of column families. The setting 'memtable_total_space_in_mb' was introduced that allows for a global memtable threshold, and cassandra will handle flushing on its own. See http://www.datastax.com/dev/blog/whats-new-in-cassandra-1-0-improved-memory-and-disk-space-management Another thing you should consider is the lack of built in access controls. There is an authentication/authorization interface you can plug in to and examples in the examples/ directory of the source download. On Wed, Dec 21, 2011 at 10:36 AM, Ryan Lowe ryanjl...@gmail.com wrote: What we have done to avoid creating multiple column families is to sort of namespace the row key. So if we have a column family of Users and accounts: AccountA and AccountB, we do the following: Column Family User: AccountA/ryan : { first: Ryan, last: Lowe } AccountB/ryan : { first: Ryan, last: Smith} etc. For our needs, this did the same thing as having 2 User column families for AccountA and AccountB Ryan On Wed, Dec 21, 2011 at 10:34 AM, Flavio Baronti f.baro...@list-group.com wrote: Hi, based on my experience with Cassandra 0.7.4, i strongly discourage you to do that: we tried dynamical creation of column families, and it was a nightmare. First of all, the operation can not be done concurrently, therefore you must find a way to avoid parallel creation (over all the cluster, not in a single node). The main problem however is with timestamps. The structure of your keyspace is versioned with a time-dependent id, which is assigned by the host where you perform the schema update based on the local machine time. If you do two updates in close succession on two different nodes, and their clocks are not perfectly synchronized (and they will never be), Cassandra might be confused by their relative ordering, and stop working altogether. Bottom line: don't. Flavio Il 12/21/2011 14:45 PM, Rafael Almeida ha scritto: Hello, I am evaluating the usage of cassandra for my system. I will have several clients who won't share data with each other. My idea is to create one column family per client. When a new client comes in and adds data to the system, I'd like to create a column family dynamically. Is that reliable? Can I create a column family on a node and imediately add new data on that column family and be confident that the data added will eventually become visible to a read? []'s Rafael
Re: Does OpsCenter have to be running all the time in order to collect the cluster stats?
No, currently there is not failover mechanism built into OpsCenter. The agents could be reconfigured to talk to a different machine but this would be a manual process and involve additional configuration changes. On Thu, Dec 15, 2011 at 12:13 PM, mike...@thomsonreuters.com wrote: Thank Nick for your fast response. So if the OpsCenter is down, then the stats for the cluster won't be collected. Is there any safe-guard mechanism, like a duplicate OpsCenter on second machine to monitor the cluster in case of single OpsCenter failure? Mike -Original Message- From: Nick Bailey [mailto:n...@datastax.com] Sent: Thursday, December 15, 2011 11:43 AM To: user@cassandra.apache.org Subject: Re: Does OpsCenter have to be running all the time in order to collect the cluster stats? The OpsCenter agents report metric data to the main OpsCenter process which processes it and writes data into the cluster. So yes, the main OpsCenter process needs to be running in order for metrics to be stored in the cluster. -Nick On Thu, Dec 15, 2011 at 9:43 AM, mike...@thomsonreuters.com wrote: Hi, I have one question about OpsCeneter: does it have to be running all the time in order to collect and store the metrics on each node within the cluster? Who does the job to write metrics on each node, the agent on the node or OpsCenter? Thanks, Mike This email was sent to you by Thomson Reuters, the global news and information company. Any views expressed in this message are those of the individual sender, except where the sender specifically states them to be the views of Thomson Reuters.
Re: Cleanup in a write-only environment
I believe you are mis-understanding what cleanup does. Cleanup is used to remove data from a node that the node no longer owns. For example when you move a node in the ring, it changes responsibility and gets new data, but does not automatically delete the data it used to be responsible for but no longer is. In this situation, you run cleanup to delete all of that old data. Data that has been deleted/expired will get removed automatically as compaction runs. On Wed, Nov 30, 2011 at 7:24 AM, David McNelis dmcne...@agentisenergy.com wrote: In my understanding Cleanup is meant to help clear out data that has been removed. If you have an environment where data is only ever added (the case for the production system I'm working with), is there a point to automating cleanup? I understand that if we were to ever purge a segment of data from our cluster we'd certainly want to run it, or after added a new node and adjusting the tokens. So I want to make sure I'm not missing something here and that there would be other reasons to run cleanup regularly? -- David McNelis Lead Software Engineer Agentis Energy www.agentisenergy.com c: 219.384.5143 A Smart Grid technology company focused on helping consumers of energy control an often under-managed resource.
Re: Issues with JMX monitoring -- v0.8.7
Oh I was thinking of StorageProxy. StorageService should exist you just have the path wrong. It should be org.apache.cassandra.db:type=StorageService.(you had org.apache.cassandra.service) JMX should be lightweight enough for this. On Wed, Nov 23, 2011 at 9:06 AM, David McNelis dmcne...@agentisenergy.com wrote: But if the StorageService bean is only created once a transaction has occurred, is there another location, i.e. the CommitLog, that I could check just to see if the node is 'live'. Or do you think I'd be better served trying to execute something on the node (i.e. read a record using Hector)? Ideally this would be as low cost an operation on the Cassandra node as possible, since it is just monitoring statuses (stati?). On Tue, Nov 22, 2011 at 1:15 PM, Nick Bailey n...@datastax.com wrote: There are quite a few attributes in the org.apace.cassandra.db.StorageServiceMBean that could serve that purpose. Initialized, RPCServerRunning, OperationMode, Joined, and perhaps others Note that some of those may not exist depending on your version of cassandra, pick one appropriate for your version. On Tue, Nov 22, 2011 at 1:02 PM, David McNelis dmcne...@agentisenergy.com wrote: Would there be a better bean to look at to ascertain the status that would be created when the server starts up? On Tue, Nov 22, 2011 at 11:47 AM, Nick Bailey n...@datastax.com wrote: The StorageServiceMBean is only created once some reads/writes actually go to that node. Do a couple reads/writes from the CLI and you should see the MBean afterwards. This also means your monitoring application should handle this error in the case of nodes restarting. On Tue, Nov 22, 2011 at 7:51 AM, David McNelis dmcne...@agentisenergy.com wrote: Good morning, I'm trying to set up a simple monitoring application (that is a plugin to Nagios), code can be found here: https://github.com/so-net-developer/Cassandra/blob/master/nagios/CheckNode.java However, when I try to run the CheckNode.java program I get an error that: Exception in thread main javax.management.InstanceNotFoundException: org.apache.cassandra.service:type=StorageService According to the docs on Cassandra and JMX this should be a valid Instance to create. I've tried running this from both on the cassandra node and remotely, with no difference in outcome. I don't know if it matters, but these are the domains listed as available when I make a JMX getDomains call: org.apache.cassandra.internal JMImplementation com.sun.management org.apache.cassandra.request org.apache.cassandra.net java.lang java.util.logging org.apache.cassandra.db Because I get a response when iterating over MBeanServerConection.getDomains(): JMXConnector connector = JMXConnectorFactory.connect(new JMXServiceURL(JMXURL)); MBeanServerConnection connection = connector.getMBeanServerConnection(); for(String d : connection.getDomains()) System.out.println(d); I am disinclined to think its an issue with not being able to connect to JMX in general. -- David McNelis Lead Software Engineer Agentis Energy www.agentisenergy.com c: 219.384.5143 A Smart Grid technology company focused on helping consumers of energy control an often under-managed resource. -- David McNelis Lead Software Engineer Agentis Energy www.agentisenergy.com c: 219.384.5143 A Smart Grid technology company focused on helping consumers of energy control an often under-managed resource. -- David McNelis Lead Software Engineer Agentis Energy www.agentisenergy.com c: 219.384.5143 A Smart Grid technology company focused on helping consumers of energy control an often under-managed resource.
Re: Issues with JMX monitoring -- v0.8.7
The StorageServiceMBean is only created once some reads/writes actually go to that node. Do a couple reads/writes from the CLI and you should see the MBean afterwards. This also means your monitoring application should handle this error in the case of nodes restarting. On Tue, Nov 22, 2011 at 7:51 AM, David McNelis dmcne...@agentisenergy.com wrote: Good morning, I'm trying to set up a simple monitoring application (that is a plugin to Nagios), code can be found here: https://github.com/so-net-developer/Cassandra/blob/master/nagios/CheckNode.java However, when I try to run the CheckNode.java program I get an error that: Exception in thread main javax.management.InstanceNotFoundException: org.apache.cassandra.service:type=StorageService According to the docs on Cassandra and JMX this should be a valid Instance to create. I've tried running this from both on the cassandra node and remotely, with no difference in outcome. I don't know if it matters, but these are the domains listed as available when I make a JMX getDomains call: org.apache.cassandra.internal JMImplementation com.sun.management org.apache.cassandra.request org.apache.cassandra.net java.lang java.util.logging org.apache.cassandra.db Because I get a response when iterating over MBeanServerConection.getDomains(): JMXConnector connector = JMXConnectorFactory.connect(new JMXServiceURL(JMXURL)); MBeanServerConnection connection = connector.getMBeanServerConnection(); for(String d : connection.getDomains()) System.out.println(d); I am disinclined to think its an issue with not being able to connect to JMX in general. -- David McNelis Lead Software Engineer Agentis Energy www.agentisenergy.com c: 219.384.5143 A Smart Grid technology company focused on helping consumers of energy control an often under-managed resource.
Re: Issues with JMX monitoring -- v0.8.7
There are quite a few attributes in the org.apace.cassandra.db.StorageServiceMBean that could serve that purpose. Initialized, RPCServerRunning, OperationMode, Joined, and perhaps others Note that some of those may not exist depending on your version of cassandra, pick one appropriate for your version. On Tue, Nov 22, 2011 at 1:02 PM, David McNelis dmcne...@agentisenergy.com wrote: Would there be a better bean to look at to ascertain the status that would be created when the server starts up? On Tue, Nov 22, 2011 at 11:47 AM, Nick Bailey n...@datastax.com wrote: The StorageServiceMBean is only created once some reads/writes actually go to that node. Do a couple reads/writes from the CLI and you should see the MBean afterwards. This also means your monitoring application should handle this error in the case of nodes restarting. On Tue, Nov 22, 2011 at 7:51 AM, David McNelis dmcne...@agentisenergy.com wrote: Good morning, I'm trying to set up a simple monitoring application (that is a plugin to Nagios), code can be found here: https://github.com/so-net-developer/Cassandra/blob/master/nagios/CheckNode.java However, when I try to run the CheckNode.java program I get an error that: Exception in thread main javax.management.InstanceNotFoundException: org.apache.cassandra.service:type=StorageService According to the docs on Cassandra and JMX this should be a valid Instance to create. I've tried running this from both on the cassandra node and remotely, with no difference in outcome. I don't know if it matters, but these are the domains listed as available when I make a JMX getDomains call: org.apache.cassandra.internal JMImplementation com.sun.management org.apache.cassandra.request org.apache.cassandra.net java.lang java.util.logging org.apache.cassandra.db Because I get a response when iterating over MBeanServerConection.getDomains(): JMXConnector connector = JMXConnectorFactory.connect(new JMXServiceURL(JMXURL)); MBeanServerConnection connection = connector.getMBeanServerConnection(); for(String d : connection.getDomains()) System.out.println(d); I am disinclined to think its an issue with not being able to connect to JMX in general. -- David McNelis Lead Software Engineer Agentis Energy www.agentisenergy.com c: 219.384.5143 A Smart Grid technology company focused on helping consumers of energy control an often under-managed resource. -- David McNelis Lead Software Engineer Agentis Energy www.agentisenergy.com c: 219.384.5143 A Smart Grid technology company focused on helping consumers of energy control an often under-managed resource.
Re: Quick DataStax OpsCenter question
Live Disk Space indicates all sstables that are currently valid. Total Disk Space will include sstables that have been compacted but not yet deleted (because a full GC hasn't run yet). Also the 1.3 release of OpsCenter includes an inline help section. You can find more specific information about performance metrics under the Performance section of the help. On Thu, Nov 17, 2011 at 7:35 AM, Alexandru Dan Sicoe sicoe.alexan...@googlemail.com wrote: Hi, I'm using the community version of OpsCenter to monitor my clutster. At the moment I'm interested in storage space. In the performance metrics page, if I choose to see the graph of a the metric CF: SSTable Size for a certain CF of interest, two things are plotted on the graph: Total disk used (Total) and Live disk used (Total). Does anyone know what they mean? And what is the difference? Total disk used gives me the same value as the size on disk of the files corresponding to the CF in the data directory (all files starting with CF name and having Statistics, Data, Filter, Index or Compacted). But what is the Live disk used? I thought it is just the raw data on disk (column names and values) without any SSTable overhead, but this is not true because it reports a lower value than if I see the disk usage of just the CFName-..-Data.db files. I'm always confused about what all the metrics in the OpsCenter mean and how they are calculated. Is there a reference explaining all of them? Most are mapped to the JMX attributes exposed...but even for those, I've never found a reference explaining them in detail. Any suggestions? Cheers, Alexandru P.S. I'm using Cassandra 0.8.5
Re: StorageProxy Mbean not exposed in 0.7.8 anymore
The StorageProxyMBean should still be exposed. It won't exist until some reads or writes are performed on the cluster though. You may need to actually do some reads/writes to see it show up. On Tue, Sep 13, 2011 at 11:53 AM, Anand Somani meatfor...@gmail.com wrote: Hi, Upgraded from 7.4 to 7.8, noticed that StorageProxy (under cassandra.db) is no longer exposed, is that intentional? So the question are these covered somewhere else? Thanks Anand
Re: Solandra/Cassandra ring issue
Did you perhaps start up the second cluster with data from the test cluster? If you accidentally copied the system tables over, cassandra would recognize the saved tokens/ips from the test cluster and attempt to gossip with them. On Wed, Aug 10, 2011 at 5:19 PM, Ashley Martens amart...@ngmoco.com wrote: I just had a strange issue with a solandra ring. We had a two node test cluster running in one data center and then started up a second 5 node cluster in another data center. The seed in the first DC was in that DC and the seed in the second DC was in the second DC, so the two rings should not have talked to each other. However, they did. The old nodes joined the new cluster. WTF? Anyone with any ideas why?
Re: listen_address and rpc_address
I believe you are describing the issure here: https://issues.apache.org/jira/browse/CASSANDRA-1777 Until that issue is fixed though, the solution is to use the same interface for both. On Mon, Jun 27, 2011 at 12:09 PM, Sebastien Coutu sco...@openplaces.org wrote: Hi Everyone, Quick question regarding the listen_address and rpc_address parameters. We're trying to run some map-reduce jobs on our ring and my goal is to split the Cassandra intra-cluster traffic from the Thrift calls. I've populated the listen_address with the IP address of one interface and rpc_address with the IP addres of another interface. Let's call them IP A (listen) and IP B (rpc). Now our jobs are setup so the connect to IP B on the seed node and use the describe ring method to get the ring information and then know where to connect on each node (Forgive my very summary explanations but I don't want to dive in the code just yet). The issue is Cassandra returns the IP A for the ring nodes but I'd like to force the clients to connect to IP B. Is there anything we can do to make Cassandra return the RPC addresses when issuing that method or should I simply make RPC listen on all addresses? Thanks, Sebastien Coutu Hopper Inc.
Re: Strange Connection error of nodetool
This is almost certainly caused by the weird connection process JMX uses. JMX actually uses a 2 connection process, the second connection is determined by the 'JVM_OPTS=$JVM_OPTS -Djava.rmi.server.hostname=public name' setting in your cassandra-env.sh configuration file. By default that setting is commented out and the hostname will default to whatever the local machine thinks it's hostname is. You should be able to fix this by uncommenting that setting in cassandra-env.sh and using the correct hostname for that setting. On Wed, Jun 22, 2011 at 4:02 AM, 박상길 hayarobip...@gmail.com wrote: Hi. I'm running 5 cassandra nodes. Say, the addresses are 112.234.123.111 ~ 112.234.123.115; the real address is different. When I run nodetool, the one node of address 112.234.123.112 has failed to connect. Showing error message like this. iPark:~ hayarobi$ nodetool --host 112.234.123.112 ring Error connection to remote JMX agent! java.rmi.ConnectException: Connection refused to host: 122.234.123.112; nested exception is: The host to connect address differ! I had tried to query 112.* but, the nodetool tried to connect 122.*. It happened just one machine. All other machines works fine. And I can connect to 112.234.123.112 by cassandra-cli or other tools using other port (such as 22 of ssh, 80 of http). It has trouble only on nodetool. Does anyone has an idea? I'll paste the full stack trace below. iPark:~ hayarobi$ nodetool --host 112.234.123.111 ring Address Status State Load Owns Token 136112946768375 112.234.123.111 Up Normal 725.01 KB 20.00% 0 112.234.123.112 Up Normal 725.93 KB 20.00% 340282366920938000 112.234.123.113 Up Normal 728.2 KB 20.00% 680564733841877000 112.234.123.114 Up Normal 713.1 KB 20.00% 102084710076282 112.234.123.115 Up Normal 722.67 KB 20.00% 136112946768375 iPark:~ hayarobi$ nodetool --host 112.234.123.115 ring Address Status State Load Owns Token 136112946768375 112.234.123.111 Up Normal 725.01 KB 20.00% 0 112.234.123.112 Up Normal 725.93 KB 20.00% 340282366920938000 112.234.123.113 Up Normal 728.2 KB 20.00% 680564733841877000 112.234.123.114 Up Normal 713.1 KB 20.00% 102084710076282 112.234.123.115 Up Normal 722.67 KB 20.00% 136112946768375 iPark:~ hayarobi$ nodetool --host 112.234.123.114 ring Address Status State Load Owns Token 136112946768375 112.234.123.111 Up Normal 725.01 KB 20.00% 0 112.234.123.112 Up Normal 725.93 KB 20.00% 340282366920938000 112.234.123.113 Up Normal 728.2 KB 20.00% 680564733841877000 112.234.123.114 Up Normal 713.1 KB 20.00% 102084710076282 112.234.123.115 Up Normal 722.67 KB 20.00% 136112946768375 iPark:~ hayarobi$ nodetool --host 112.234.123.112 ring Error connection to remote JMX agent! java.rmi.ConnectException: Connection refused to host: 122.234.123.112; nested exception is: java.net.ConnectException: Connection refused at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:601) at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:198) at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:184) at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:110) at javax.management.remote.rmi.RMIServerImpl_Stub.newClient(Unknown Source) at javax.management.remote.rmi.RMIConnector.getConnection(RMIConnector.java:2327) at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:279) at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:248) at org.apache.cassandra.tools.NodeProbe.connect(NodeProbe.java:137) at org.apache.cassandra.tools.NodeProbe.init(NodeProbe.java:107) at org.apache.cassandra.tools.NodeCmd.main(NodeCmd.java:511) Caused by: java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:432) at
Re: rpm from 0.7.x - 0.8?
That looks like a packaging bug. The package manually creates the commitlog/data/saved_caches directories under the /var/lib/cassandra/ directory. It really doesn't need to though, since as long as it sets the permissions correctly on /var/lib/cassandra/ those directories will get created automatically if they don't exist. Created: https://issues.apache.org/jira/browse/CASSANDRA-2814 On Wed, Jun 22, 2011 at 12:46 PM, William Oberman ober...@civicscience.com wrote: Thanks Jonathan. I'm sure it's been true for everyone else as well, but the rolling upgrade seems to have worked like a charm for me (other than the JMX port # changing initial confusion). One minor thing that probably particular to my case: when I removed the old package, it unlinked my symlink /var/lib/cassandra/data (rather than edit the cassandra config, I symlinked my amazon disk to where cassandra expected it). At first I thought I had lost all of my data, but after restoring the link, everything was happy. will On Wed, Jun 22, 2011 at 12:34 PM, Jonathan Ellis jbel...@gmail.com wrote: Doesn't matter. auto_bootstrap only applies to first start ever. On Wed, Jun 22, 2011 at 10:48 AM, William Oberman ober...@civicscience.com wrote: I have a question about auto_bootstrap. When I originally brought up the cluser, I did: -seed with auto_boot = false -1,2,3 with auto_boot = true Now that I'm doing a rolling upgrade, do I set them all to auto_boot = true? Or does the seed stay false? Or should I mark them all false? I have manually set tokens on all of the. The doc confused me: Set to 'true' to make new [non-seed] nodes automatically migrate the right data to themselves. (If no InitialToken is specified, they will pick one such that they will get half the range of the most-loaded node.) If a node starts up without bootstrapping, it will mark itself bootstrapped so that you can't subsequently accidently bootstrap a node with data on it. (You can reset this by wiping your data and commitlog directories.) Default is: 'false', so that new clusters don't bootstrap immediately. You should turn this on when you start adding new nodes to a cluster that already has data on it. I'm not adding new nodes, but the cluster does have data on it... will On Wed, Jun 22, 2011 at 11:39 AM, William Oberman ober...@civicscience.com wrote: I just did a remove then install, and it seems to work. For those of you out there with JMX issues, the default port moved from 8080 to 7199 (which includes the internal default to nodetool). I was confused why nodetool ring would fail on some boxes and not others. I had to add -p depending on the version of nodetool will On Wed, Jun 22, 2011 at 10:15 AM, William Oberman ober...@civicscience.com wrote: I'm running 0.7.4 from rpm (riptano). If I do a yum upgrade, it's trying to do 0.7.6. To get 0.8.x I have to do install apache-cassandra08. But that is going to install two copies. Is there a semi-official way of properly upgrading to 0.8 via rpm? -- Will Oberman Civic Science, Inc. 3030 Penn Avenue., First Floor Pittsburgh, PA 15201 (M) 412-480-7835 (E) ober...@civicscience.com -- Will Oberman Civic Science, Inc. 3030 Penn Avenue., First Floor Pittsburgh, PA 15201 (M) 412-480-7835 (E) ober...@civicscience.com -- Will Oberman Civic Science, Inc. 3030 Penn Avenue., First Floor Pittsburgh, PA 15201 (M) 412-480-7835 (E) ober...@civicscience.com -- Jonathan Ellis Project Chair, Apache Cassandra co-founder of DataStax, the source for professional Cassandra support http://www.datastax.com -- Will Oberman Civic Science, Inc. 3030 Penn Avenue., First Floor Pittsburgh, PA 15201 (M) 412-480-7835 (E) ober...@civicscience.com
Re: How to invoke getNaturalEndpoints with jconsole?
As far as I know you can not call getNaturalEndpoints from jconsole because it takes a byte array as a parameter and jconsole doesn't provide a way for inputting a byte array. You might be able to use the thrift call 'describe_ring' to do what you want though. You will have to manually hash your key to see what range it falls in however. On Wed, May 11, 2011 at 6:14 AM, Maki Watanabe watanabe.m...@gmail.com wrote: Hello, It's a question on jconsole rather than cassandra, how can I invoke getNaturalEndpoints with jconsole? org.apache.cassandra.service.StorageService.Operations.getNaturalEndpoints I want to run this method to find nodes which are responsible to store data for specific row key. I can find this method on jconsole but I can't invoke it because the button is gray out and doesn't accept click. Thanks, -- maki
Re: How to invoke getNaturalEndpoints with jconsole?
Yes. On Wed, May 11, 2011 at 8:25 AM, Maki Watanabe watanabe.m...@gmail.com wrote: Thanks, So my options are: 1. Write a thrift client code to call describe_ring with hashed key or 2. Write a JMX client code to call getNaturalEndpoints right? 2011/5/11 Nick Bailey n...@datastax.com: As far as I know you can not call getNaturalEndpoints from jconsole because it takes a byte array as a parameter and jconsole doesn't provide a way for inputting a byte array. You might be able to use the thrift call 'describe_ring' to do what you want though. You will have to manually hash your key to see what range it falls in however. On Wed, May 11, 2011 at 6:14 AM, Maki Watanabe watanabe.m...@gmail.com wrote: Hello, It's a question on jconsole rather than cassandra, how can I invoke getNaturalEndpoints with jconsole? org.apache.cassandra.service.StorageService.Operations.getNaturalEndpoints I want to run this method to find nodes which are responsible to store data for specific row key. I can find this method on jconsole but I can't invoke it because the button is gray out and doesn't accept click. Thanks, -- maki -- w3m
Re: Making a custom Cassandra RPM
Your apache ant install is too old. The ant that comes with rhel/centos 5.X isn't new enough to build cassandra. You will need to install ant manually. On Wed, May 4, 2011 at 2:01 PM, Konstantin Naryshkin konstant...@a-bb.net wrote: I want to create a custom RPM of Cassandra (so I can deploy it pre-configured). There is an RPM in the source tree, but it does not contain any details of the setup required to create the RPM (what files should I have where). I have tried to run rpmbuild -bi on the spec file and I am getting the following error: /root/rpmbuild/BUILD/apache-cassandra-0.8.0-beta1-src/build.xml:187: name, file or resource attribute of typedef is undefined In case you were wondering what line 187 is, it is part of the maven-ant-tasks-init target and is: typedef uri=antlib:org.apache.maven.artifact.ant classpathref=maven-ant-tasks.classpath /
Re: Seed Nodes
You do not need to restart when changing the seedlist of nodes that are up. The seedlist is really only used when a node first starts. So if you modify the list of seeds the changes will take effect whenever that node restarts, exactly when they need to. In 0.7 you can basically get away with ignoring the seedlist for nodes that have already joined the cluster since the ring state is remembered between restarts. Best Practices may dictate that you keep all your seed lists updated though. On Tue, Mar 1, 2011 at 9:29 PM, Eric Gilmore e...@datastax.com wrote: Yes, two per DC is a recommendation I've heard from Jonathan Ellis. We put that in yet more documentation athttp://www.datastax.com/dev/tutorials/getting_started_0.7/configuring#seed-list(appreciate the citation Aaron :) I had a recent conversation with a Cassandra expert who had me convinced that, as long as a node online already had one seed in its list at startup, you wouldn't really need to restart it -- at least right away -- after adding a second seed to the config. Rather than confuse the issue by trying to remember/recreate the rationale for that, I'll ping him and see if he'll comment here. On Tue, Mar 1, 2011 at 12:04 PM, Aaron Morton aa...@thelastpickle.comwrote: AFAIK it's recommended to have two seed nodes per dc. Some info on seeds here http://www.datastax.com/docs/0.7/operations/clustering http://www.datastax.com/docs/0.7/operations/clustering You will need a restart. Aaron On 2/03/2011, at 6:08 AM, shan...@accenture.com wrote: How many seed nodes should I have for a cluster of 100 nodes each with about 500gb of data? Also to add seeds the nodes, must I change the seed nodes list on all existing nodes through the Cassandra.yaml file? Will changes take effect without restarting the node? *Shan (Susie) Lu, *Analyst** Accenture Technology Labs - Silicon Valley ** cell +1 425.749.2546 email *shan...@accenture.com charles.nebol...@accenture.com* -- This message is for the designated recipient only and may contain privileged, proprietary, or otherwise private information. If you have received it in error, please notify the sender immediately and delete the original. Any other use of the email by you is prohibited.
Re: Problem in using PHPcassa: Uncaught exception 'Exception' with message 'Could not connect to a cassandra server'
Have you created Keyspace1? Looks like phpcassa requires you to set a keyspace when you connect but the cli would not. Which might explain why you are seeing problems. On Mon, Dec 20, 2010 at 5:42 AM, Rajkumar Gupta rajkumar@gmail.comwrote: I am using the following code to connect to Cassandra 0.7.0 using PHPcassa (thobbs) ?php require_once('Z:/wamp/bin/php/'.'phpcassa/connection.php'); require_once('Z:/wamp/bin/php/'.'phpcassa/columnfamily.php'); $servers[0]['host'] = 'localhost'; $servers[0]['port'] = '9160'; $conn = new Connection('Keyspace1', $servers); $column_family = new ColumnFamily($conn, 'Standard1'); ? However I am able to connect to cassandra instance through cassandra-cli at command prompt but not through this php script. On Mon, Dec 20, 2010 at 11:10 AM, Nick Bailey n...@riptano.com wrote: It would probably help if you posted the code you are trying to use from your php script. I don't know much about the php client but I now someone on this list does. On Sun, Dec 19, 2010 at 10:55 PM, Rajkumar Gupta rajkumar@gmail.com wrote: I am able to connect to cassandra through cassandra-cli command at command prompt but not through my php script. I also checked after changing the rpc address to 0.0.0.0 in cassandra.yaml file but it still does not work! On Mon, Dec 20, 2010 at 1:47 AM, Aaron Morton aa...@thelastpickle.com wrote: Forgot to say, 0.0.0.0 is not a good idea in production... http://wiki.apache.org/cassandra/FAQ#cant_listen_on_ip_any On 20/12/2010, at 9:12 AM, Aaron Morton aa...@thelastpickle.com wrote: I've not used the PHP client, but you can test connectivity to your cluster using the cassandra-cli command line client in the bin/ folder. Also check the ThriftAddress setting in your storage-config, this address is the one that the server will be listening on. Set it to 0.0.0.0 to listen on all. Aaron On 19/12/2010, at 8:45 AM, Rajkumar Gupta rajkumar@gmail.com wrote: Hi, I am trying to use phpcassa(Hoan's) with Cassandra 0.6.8 but when I try to run the following php script that includes phpcassa, ?php $GLOBALS['THRIFT_ROOT'] = 'Z:/wamp/bin/php/include/thrift/'; require_once $GLOBALS['THRIFT_ROOT'].'/packages/cassandra/Cassandra.php'; require_once $GLOBALS['THRIFT_ROOT'].'/transport/TSocket.php'; require_once $GLOBALS['THRIFT_ROOT'].'/protocol/TBinaryProtocol.php'; require_once $GLOBALS['THRIFT_ROOT'].'/transport/TFramedTransport.php'; require_once $GLOBALS['THRIFT_ROOT'].'/transport/TBufferedTransport.php'; include_once('Z:/wamp/bin/php/include/phpcassa.php'); include_once('Z:/wamp/bin/php/include/uuid.php'); CassandraConn::add_node('192.168.1.1', 9160); $users = new CassandraCF('Keyspace1', 'Users'); $users-insert('1', array('email' = 'hoan.tont...@gmail.com', 'password' = 'test')); ? on running above script I get this error: Fatal error: Uncaught exception 'Exception' with message 'Could not connect to a cassandra server' in Z:\wamp\bin\php\include\phpcassa.php:70 Stack trace: #0 Z:\wamp\bin\php\include\phpcassa.php(193): CassandraConn::get_client() #1 Z:\wamp\www\PhpProject\index.php(38): CassandraCF-insert('1', Array) #2 {main} thrown in Z:\wamp\bin\php\include\phpcassa.php on line 70 Please let me know how can I make it work Thanks... -- -- ___ Rajkumar Gupta Dihing 173, Indian Institute of Technology Guwahati India http://in.linkedin.com/in/rajkumargupta1
Re: Problem in using PHPcassa: Uncaught exception 'Exception' with message 'Could not connect to a cassandra server'
So it looks like phpcassa doesn't log any errors. The error you are seeing is because the connection to the first server failed and there are no more servers to try. It doesn't say why it failed though. The only thing i can reccommend is on line 57 of connection.php to add a line to print out the exception it catches there to see what the problem is. Or just throw the exception again so the script dies there. On Mon, Dec 20, 2010 at 11:38 AM, Rajkumar Gupta rajkumar@gmail.comwrote: Nick, Sorry I can not currently access my computer on which cassandra is installed but yes, earlier I used the 'show keyspaces;' command it correctly showed me the keyspace1 with corresponding column families. Yes I was using Cassandra 0.6.8 earlier and now I have switched to 0.7. Since I was using thobbs phpcassa which infact worked with 0.7 version but I came to know lately. I have tried on ubuntu as well but I am not very proficient in ubuntu therefore I quit there and decided to get it running on windows only. So right now, I am using Cassandra 0.7.0 on windows. I am trying to use thobbs's PHPcassa with it but when I try this: ?php require_once('Z:/wamp/bin/php/'.'phpcassa/connection.php'); require_once('Z:/wamp/bin/php/'.'phpcassa/columnfamily.php'); $servers[0]['host'] = 'localhost'; $servers[0]['port'] = '9160'; $conn = new Connection('Keyspace1', $servers); $column_family = new ColumnFamily($conn, 'Standard1'); ? Fatal error: Uncaught exception 'NoServerAvailable' in Z:\wamp\bin\php\phpcassa\connection.php:153 Stack trace: #0 Z:\wamp\bin\php\phpcassa\connection.php(53): ServerSet-get() #1 Z:\wamp\bin\php\phpcassa\connection.php(64): Connection-connect() #2 Z:\wamp\bin\php\phpcassa\columnfamily.php(171): Connection-connect() #3 Z:\wamp\www\PhpProject\index.php(10): ColumnFamily-__construct(Object(Connection), 'Standard1') #4 {main} thrown in Z:\wamp\bin\php\phpcassa\connection.php on line 153 Thanks so much Nick .. On Mon, Dec 20, 2010 at 10:47 PM, Nick Bailey n...@riptano.com wrote: Just to verify the keyspace exists can you run 'use Keyspace1;' in the cli? Also it looks like you were using 0.6.8 and now you are using 0.7.0? What is the exact error you are seeing now? On Mon, Dec 20, 2010 at 10:21 AM, Rajkumar Gupta rajkumar@gmail.com wrote: Keyspace1 is included by default in the cassandra.yaml file and I imported the schema before running the php script so I hope that is not the problem.. I am now too much frustrated with this problem..:( and this is just the beginning of my Cassandra experiments On Mon, Dec 20, 2010 at 8:36 PM, Nick Bailey n...@riptano.com wrote: Have you created Keyspace1? Looks like phpcassa requires you to set a keyspace when you connect but the cli would not. Which might explain why you are seeing problems. On Mon, Dec 20, 2010 at 5:42 AM, Rajkumar Gupta rajkumar@gmail.com wrote: I am using the following code to connect to Cassandra 0.7.0 using PHPcassa (thobbs) ?php require_once('Z:/wamp/bin/php/'.'phpcassa/connection.php'); require_once('Z:/wamp/bin/php/'.'phpcassa/columnfamily.php'); $servers[0]['host'] = 'localhost'; $servers[0]['port'] = '9160'; $conn = new Connection('Keyspace1', $servers); $column_family = new ColumnFamily($conn, 'Standard1'); ? However I am able to connect to cassandra instance through cassandra-cli at command prompt but not through this php script. On Mon, Dec 20, 2010 at 11:10 AM, Nick Bailey n...@riptano.com wrote: It would probably help if you posted the code you are trying to use from your php script. I don't know much about the php client but I now someone on this list does. On Sun, Dec 19, 2010 at 10:55 PM, Rajkumar Gupta rajkumar@gmail.com wrote: I am able to connect to cassandra through cassandra-cli command at command prompt but not through my php script. I also checked after changing the rpc address to 0.0.0.0 in cassandra.yaml file but it still does not work! On Mon, Dec 20, 2010 at 1:47 AM, Aaron Morton aa...@thelastpickle.com wrote: Forgot to say, 0.0.0.0 is not a good idea in production... http://wiki.apache.org/cassandra/FAQ#cant_listen_on_ip_any On 20/12/2010, at 9:12 AM, Aaron Morton aa...@thelastpickle.com wrote: I've not used the PHP client, but you can test connectivity to your cluster using the cassandra-cli command line client in the bin/ folder. Also check the ThriftAddress setting in your storage-config, this address is the one that the server will be listening on. Set it to 0.0.0.0 to listen on all. Aaron On 19/12/2010, at 8:45 AM, Rajkumar Gupta rajkumar@gmail.com wrote: Hi, I am trying to use phpcassa(Hoan's) with Cassandra 0.6.8
Re: Problem in using PHPcassa: Uncaught exception 'Exception' with message 'Could not connect to a cassandra server'
It would probably help if you posted the code you are trying to use from your php script. I don't know much about the php client but I now someone on this list does. On Sun, Dec 19, 2010 at 10:55 PM, Rajkumar Gupta rajkumar@gmail.comwrote: I am able to connect to cassandra through cassandra-cli command at command prompt but not through my php script. I also checked after changing the rpc address to 0.0.0.0 in cassandra.yaml file but it still does not work! On Mon, Dec 20, 2010 at 1:47 AM, Aaron Morton aa...@thelastpickle.com wrote: Forgot to say, 0.0.0.0 is not a good idea in production... http://wiki.apache.org/cassandra/FAQ#cant_listen_on_ip_any On 20/12/2010, at 9:12 AM, Aaron Morton aa...@thelastpickle.com wrote: I've not used the PHP client, but you can test connectivity to your cluster using the cassandra-cli command line client in the bin/ folder. Also check the ThriftAddress setting in your storage-config, this address is the one that the server will be listening on. Set it to 0.0.0.0 to listen on all. Aaron On 19/12/2010, at 8:45 AM, Rajkumar Gupta rajkumar@gmail.com wrote: Hi, I am trying to use phpcassa(Hoan's) with Cassandra 0.6.8 but when I try to run the following php script that includes phpcassa, ?php $GLOBALS['THRIFT_ROOT'] = 'Z:/wamp/bin/php/include/thrift/'; require_once $GLOBALS['THRIFT_ROOT'].'/packages/cassandra/Cassandra.php'; require_once $GLOBALS['THRIFT_ROOT'].'/transport/TSocket.php'; require_once $GLOBALS['THRIFT_ROOT'].'/protocol/TBinaryProtocol.php'; require_once $GLOBALS['THRIFT_ROOT'].'/transport/TFramedTransport.php'; require_once $GLOBALS['THRIFT_ROOT'].'/transport/TBufferedTransport.php'; include_once('Z:/wamp/bin/php/include/phpcassa.php'); include_once('Z:/wamp/bin/php/include/uuid.php'); CassandraConn::add_node('192.168.1.1', 9160); $users = new CassandraCF('Keyspace1', 'Users'); $users-insert('1', array('email' = 'hoan.tont...@gmail.com', 'password' = 'test')); ? on running above script I get this error: Fatal error: Uncaught exception 'Exception' with message 'Could not connect to a cassandra server' in Z:\wamp\bin\php\include\phpcassa.php:70 Stack trace: #0 Z:\wamp\bin\php\include\phpcassa.php(193): CassandraConn::get_client() #1 Z:\wamp\www\PhpProject\index.php(38): CassandraCF-insert('1', Array) #2 {main} thrown in Z:\wamp\bin\php\include\phpcassa.php on line 70 Please let me know how can I make it work Thanks... -- -- ___ Rajkumar Gupta Dihing 173, Indian Institute of Technology Guwahati India http://in.linkedin.com/in/rajkumargupta1
Re: Installing Cassandra on windows
You are trying to connect through cassandra-cli? Does the cassandra log indicate it started correctly? Can you hit port 9160 (telnet localhost 9160)? On Thu, Dec 16, 2010 at 2:34 PM, Rajkumar Gupta rajkumar@gmail.comwrote: Hi there, I am trying to install Cassandra on windows.. I have downloaded the files and when I try to connect to the cassandra through command prompt I get an error: *java.net connection exception: Connection refused *I have set the environment variables properly pointed to my JDK installation. -- ___ Rajkumar Gupta Dihing 173, Indian Institute of Technology Guwahati India
Re: Errors when decommissioning - 0.7 RC1
This is rc2 I am assuming? One thing about remove, the removetoken force command is meant to be run on the node that originally started a remove and doesn't take a token parameter. Not relevant to you problem though. Is this a test cluster and have you tried to reproduce the error? I would be interested to know what the ring command looks like on both *.19 and *.17 after the decommission is run. I assume you were running the ring command on another node? I'll look into the logs more and see if anything jumps out. On Wed, Dec 15, 2010 at 6:37 AM, Dan Hendry dan.hendry.j...@gmail.comwrote: I am seeing very strange things when trying to decommission a node in my cluster (detailed logs attached). Here is a nodetool ring report **after** decommissioning of node 192.168.4.19 (as seen by any other, properly functioning node). 192.168.4.15Up Normal 49.9 GB 25.00% 42535295865117307932921825928971026431 192.168.4.20Up Normal 42.56 GB8.33% 56713727820156410577229101238628035242 192.168.4.16Up Normal 29.17 GB16.67% 85070591730234615865843651857942052863 192.168.4.19Down Leaving 54.11 GB16.67% 113427455640312821154458202477256070484 192.168.4.17Down Normal 48.88 GB8.33% 127605887595351923798765477786913079295 192.168.4.18Up Normal 59.44 GB25.00% 170141183460469231731687303715884105726 192.168.4.12Up Normal 52.3 GB 0.00% 170141183460469231731687303715884105727 What I am seeing is that after nodetool decommission completes on 192.168.4.19, the next node in the ring (192.168.4.17) ‘dies’ (see attached log, its nodetool ring report is quite different). By ‘dies’ I mean that it stops communicating with other nodes (but the Cassandra process is still running and, among other things, compaction continues). After restarting Cassandra on 192.168.4.17, the ring state gets stuck and the decommissioned node (192.168.4.19) does not get removed (at least from the nodetool ring report): 192.168.4.15Up Normal 49.9 GB 25.00% 42535295865117307932921825928971026431 192.168.4.20Up Normal 42.56 GB8.33% 56713727820156410577229101238628035242 192.168.4.16Up Normal 29.17 GB16.67% 85070591730234615865843651857942052863 192.168.4.19Down Leaving 54.11 GB16.67% 113427455640312821154458202477256070484 192.168.4.17Up Normal 69.12 GB8.33% 127605887595351923798765477786913079295 192.168.4.18Up Normal 58.88 GB25.00% 170141183460469231731687303715884105726 192.168.4.12Up Normal 52.3 GB 0.00% 170141183460469231731687303715884105727 Furthermore, when I try running “nodetool removetoken 113427455640312821154458202477256070484”, I get: Exception in thread main java.lang.UnsupportedOperationException: Node / 192.168.4.19 is already being removed. at org.apache.cassandra.service.StorageService.removeToken(StorageService.java:1731) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93) And when I try running “nodetool removetoken force 113427455640312821154458202477256070484”, I get: RemovalStatus: No token removals in process. Exception in thread main java.lang.NullPointerException at org.apache.cassandra.service.StorageService.forceRemoveCompletion(StorageService.java:1703) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93) ?!?!?!? I think have seen this type of behaviour once or twice before (I believe 0.7 b1 or later) but wrote it off as being caused by my misguided tinkering and/or other Cassandra bugs. This time around, I have done very little with JMX/CLI/nodetool and I can find no related Cassandra bugs. Help/suggestions? Dan Hendry (403) 660-2297
Re: Errors when decommissioning - 0.7 RC1
Just realized the ring output is included in the logs for both of those nodes. Disregard my earlier request :). On Wed, Dec 15, 2010 at 8:27 AM, Nick Bailey n...@riptano.com wrote: This is rc2 I am assuming? One thing about remove, the removetoken force command is meant to be run on the node that originally started a remove and doesn't take a token parameter. Not relevant to you problem though. Is this a test cluster and have you tried to reproduce the error? I would be interested to know what the ring command looks like on both *.19 and *.17 after the decommission is run. I assume you were running the ring command on another node? I'll look into the logs more and see if anything jumps out. On Wed, Dec 15, 2010 at 6:37 AM, Dan Hendry dan.hendry.j...@gmail.comwrote: I am seeing very strange things when trying to decommission a node in my cluster (detailed logs attached). Here is a nodetool ring report **after** decommissioning of node 192.168.4.19 (as seen by any other, properly functioning node). 192.168.4.15Up Normal 49.9 GB 25.00% 42535295865117307932921825928971026431 192.168.4.20Up Normal 42.56 GB8.33% 56713727820156410577229101238628035242 192.168.4.16Up Normal 29.17 GB16.67% 85070591730234615865843651857942052863 192.168.4.19Down Leaving 54.11 GB16.67% 113427455640312821154458202477256070484 192.168.4.17Down Normal 48.88 GB8.33% 127605887595351923798765477786913079295 192.168.4.18Up Normal 59.44 GB25.00% 170141183460469231731687303715884105726 192.168.4.12Up Normal 52.3 GB 0.00% 170141183460469231731687303715884105727 What I am seeing is that after nodetool decommission completes on 192.168.4.19, the next node in the ring (192.168.4.17) ‘dies’ (see attached log, its nodetool ring report is quite different). By ‘dies’ I mean that it stops communicating with other nodes (but the Cassandra process is still running and, among other things, compaction continues). After restarting Cassandra on 192.168.4.17, the ring state gets stuck and the decommissioned node (192.168.4.19) does not get removed (at least from the nodetool ring report): 192.168.4.15Up Normal 49.9 GB 25.00% 42535295865117307932921825928971026431 192.168.4.20Up Normal 42.56 GB8.33% 56713727820156410577229101238628035242 192.168.4.16Up Normal 29.17 GB16.67% 85070591730234615865843651857942052863 192.168.4.19Down Leaving 54.11 GB16.67% 113427455640312821154458202477256070484 192.168.4.17Up Normal 69.12 GB8.33% 127605887595351923798765477786913079295 192.168.4.18Up Normal 58.88 GB25.00% 170141183460469231731687303715884105726 192.168.4.12Up Normal 52.3 GB 0.00% 170141183460469231731687303715884105727 Furthermore, when I try running “nodetool removetoken 113427455640312821154458202477256070484”, I get: Exception in thread main java.lang.UnsupportedOperationException: Node / 192.168.4.19 is already being removed. at org.apache.cassandra.service.StorageService.removeToken(StorageService.java:1731) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93) And when I try running “nodetool removetoken force 113427455640312821154458202477256070484”, I get: RemovalStatus: No token removals in process. Exception in thread main java.lang.NullPointerException at org.apache.cassandra.service.StorageService.forceRemoveCompletion(StorageService.java:1703) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93) ?!?!?!? I think have seen this type of behaviour once or twice before (I believe 0.7 b1 or later) but wrote it off as being caused by my misguided tinkering and/or other Cassandra bugs. This time around, I have done very little with JMX/CLI/nodetool and I can find no related Cassandra bugs. Help/suggestions? Dan Hendry (403) 660-2297
Re: Errors when decommissioning - 0.7 RC1
Your logs seem to indicate you have some node flapping problems. The logs complain about nodes *.18 and *.17 going down and immediately coming back up, even before the decommission. Is that common throughout your logs? If thats the case I would attribute seeing *.17 down after the decommission to that. I also have a question about the log from the additional node. The log indicates that *.19 was not a part of the cluster until you ran the removetoken command. Can you verify that the ring output for that node was what you saw *before* you ran the removetoken command? On Wed, Dec 15, 2010 at 8:34 AM, Nick Bailey n...@riptano.com wrote: Just realized the ring output is included in the logs for both of those nodes. Disregard my earlier request :). On Wed, Dec 15, 2010 at 8:27 AM, Nick Bailey n...@riptano.com wrote: This is rc2 I am assuming? One thing about remove, the removetoken force command is meant to be run on the node that originally started a remove and doesn't take a token parameter. Not relevant to you problem though. Is this a test cluster and have you tried to reproduce the error? I would be interested to know what the ring command looks like on both *.19 and *.17 after the decommission is run. I assume you were running the ring command on another node? I'll look into the logs more and see if anything jumps out. On Wed, Dec 15, 2010 at 6:37 AM, Dan Hendry dan.hendry.j...@gmail.comwrote: I am seeing very strange things when trying to decommission a node in my cluster (detailed logs attached). Here is a nodetool ring report **after ** decommissioning of node 192.168.4.19 (as seen by any other, properly functioning node). 192.168.4.15Up Normal 49.9 GB 25.00% 42535295865117307932921825928971026431 192.168.4.20Up Normal 42.56 GB8.33% 56713727820156410577229101238628035242 192.168.4.16Up Normal 29.17 GB16.67% 85070591730234615865843651857942052863 192.168.4.19Down Leaving 54.11 GB16.67% 113427455640312821154458202477256070484 192.168.4.17Down Normal 48.88 GB8.33% 127605887595351923798765477786913079295 192.168.4.18Up Normal 59.44 GB25.00% 170141183460469231731687303715884105726 192.168.4.12Up Normal 52.3 GB 0.00% 170141183460469231731687303715884105727 What I am seeing is that after nodetool decommission completes on 192.168.4.19, the next node in the ring (192.168.4.17) ‘dies’ (see attached log, its nodetool ring report is quite different). By ‘dies’ I mean that it stops communicating with other nodes (but the Cassandra process is still running and, among other things, compaction continues). After restarting Cassandra on 192.168.4.17, the ring state gets stuck and the decommissioned node (192.168.4.19) does not get removed (at least from the nodetool ring report): 192.168.4.15Up Normal 49.9 GB 25.00% 42535295865117307932921825928971026431 192.168.4.20Up Normal 42.56 GB8.33% 56713727820156410577229101238628035242 192.168.4.16Up Normal 29.17 GB16.67% 85070591730234615865843651857942052863 192.168.4.19Down Leaving 54.11 GB16.67% 113427455640312821154458202477256070484 192.168.4.17Up Normal 69.12 GB8.33% 127605887595351923798765477786913079295 192.168.4.18Up Normal 58.88 GB25.00% 170141183460469231731687303715884105726 192.168.4.12Up Normal 52.3 GB 0.00% 170141183460469231731687303715884105727 Furthermore, when I try running “nodetool removetoken 113427455640312821154458202477256070484”, I get: Exception in thread main java.lang.UnsupportedOperationException: Node /192.168.4.19 is already being removed. at org.apache.cassandra.service.StorageService.removeToken(StorageService.java:1731) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93) And when I try running “nodetool removetoken force 113427455640312821154458202477256070484”, I get: RemovalStatus: No token removals in process. Exception in thread main java.lang.NullPointerException at org.apache.cassandra.service.StorageService.forceRemoveCompletion(StorageService.java:1703) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java
Re: get_range_slices does not work properly
Looks like the patch that introduced that bug was added in 0.6.6 and wasn't fixed until 0.6.8 so yes I'd say that is your problem with get_range_slices. Is there a reason you can't update? For nodetool ring, if every node in your cluster is not showing one of the nodes in the ring, then that node is likely not participating. It is possible for the cassandra process to still be running and responding to nodetool but not gossipping or participating. This is actually what happens when you decommission a node. It won't kill the cassandra process, you need to do that manually. If you have not run decommission on the node that is not participating, can you examine the log and see if there are any errors indicating why the node stopped gossipping? It might also be useful to look at the logs on the other machines and see when they remove that node from the ring. On Wed, Dec 15, 2010 at 11:51 PM, Rajat Chopra rcho...@makara.com wrote: Is this https://issues.apache.org/jira/browse/CASSANDRA-1722 related? *From:* Rajat Chopra [mailto:rcho...@makara.com] *Sent:* Wednesday, December 15, 2010 9:45 PM *To:* user@cassandra.apache.org *Subject:* get_range_slices does not work properly Hi! Using v0.6.6, I have a 16 node cluster. One column family has 16 keys(corresponding to node number) but only 9 get listed with get_range_slices with a predicate and a key_range with empty start and end. When I do a get_slice with one of the keys that I know is there (but not listed by get_range_slices) I do get the column slice. This happens with CL.ALL ! Sample code (python): cp = ColumnParent('summary') col_slice = SliceRange(start=, finish=, count=500) predicate = SlicePredicate(slice_range=col_slice) keyrange = KeyRange(start_key=, end_key=) slices = client.get_range_slices('cf_name', cp, predicate, keyrange, ConsistencyLevel.ALL) print Found following rows : \n%s % [k.key for k in slices] This prints the following - Found following rows: ['3', '5', '12', '9', '14', '4', '15', '11', '7'] I was expecting - [‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’, ‘10’, ‘11’, ‘12’, ‘13’, ‘14’, ‘15’, ‘16’] or some byte sorted order. Now this code - slice1 = s.client.get_slice('cf_name', '1', cp, predicate, ConsistencyLevel.ALL) print found column for key 1 = %s % struct.unpack(!Q, slice1[0]. column.name)[0] It prints what I expected: found column for key 1 = 1292454020 (‘1292454020’ is some column name which is good) Also, when I do a nodetool ring, I see only 15 nodes instead of 16, even from the node that is not listed. Please help. Thanks, Rajat
Re: Quorum: killing 1 out of 3 server kills the cluster (?)
On Thu, Dec 9, 2010 at 10:43 AM, Timo Nentwig timo.nent...@toptarif.dewrote: On Dec 9, 2010, at 17:39, David Boxenhorn wrote: In other words, if you want to use QUORUM, you need to set RF=3. (I know because I had exactly the same problem.) I naively assume that if I kill either node that holds N1 (i.e. node 1 or 3), N1 will still remain on another node. Only if both fail, I actually lose data. But apparently this is not how it works... No this is correct. Killing one node with a replication factor of 2 will not cause you to lose data. You are requiring a consistency level higher than what is available. Change your app to use CL.ONE and all data will be available even with one machine unavailable. On Thu, Dec 9, 2010 at 6:05 PM, Sylvain Lebresne sylv...@yakaz.com wrote: I'ts 2 out of the number of replicas, not the number of nodes. At RF=2, you have 2 replicas. And since quorum is also 2 with that replication factor, you cannot lose a node, otherwise some query will end up as UnavailableException. Again, this is not related to the total number of nodes. Even with 200 nodes, if you use RF=2, you will have some query that fail (altough much less that what you are probably seeing). On Thu, Dec 9, 2010 at 5:00 PM, Timo Nentwig timo.nent...@toptarif.de wrote: On Dec 9, 2010, at 16:50, Daniel Lundin wrote: Quorum is really only useful when RF 2, since the for a quorum to succeed RF/2+1 replicas must be available. 2/2+1==2 and I killed 1 of 3, so... don't get it. This means for RF = 2, consistency levels QUORUM and ALL yield the same result. /d On Thu, Dec 9, 2010 at 4:40 PM, Timo Nentwig timo.nent...@toptarif.de wrote: Hi! I've 3 servers running (0.7rc1) with a replication_factor of 2 and use quorum for writes. But when I shut down one of them UnavailableExceptions are thrown. Why is that? Isn't that the sense of quorum and a fault-tolerant DB that it continues with the remaining 2 nodes and redistributes the data to the broken one as soons as its up again? What may I be doing wrong? thx tcn
Re: Cassandra and disk space
Additionally, cleanup will fail to run when the disk is more than 50% full. Another reason to stay below 50%. On Thu, Dec 9, 2010 at 6:03 PM, Tyler Hobbs ty...@riptano.com wrote: Yes, that's correct, but I wouldn't push it too far. You'll become much more sensitive to disk usage changes; in particular, rebalancing your cluster will particularly difficult, and repair will also become dangerous. Disk performance also tends to drop when a disk nears capacity. There's no recommended maximum size -- it all depends on your access rates. Anywhere from 10 GB to 1TB is typical. - Tyler On Thu, Dec 9, 2010 at 5:52 PM, Rustam Aliyev rus...@code.az wrote: That depends on your scenario. In the worst case of one big CF, there's not much that can be easily done for the disk usage of compaction and cleanup (which is essentially compaction). If, instead, you have several column families and no single CF makes up the majority of your data, you can push your disk usage a bit higher. Is there any formula to calculate this? Let's say I have 500GB in single CF. So I need at least 500GB of free space for compaction. If I partition this CF and split it into 10 proportional CFs each 50GB, does it mean that I will need only 50GB of free space? Also, is there recommended maximum of data size per node? Thanks. A fundamental idea behind Cassandra's architecture is that disk space is cheap (which, indeed, it is). If you are particularly sensitive to this, Cassandra might not be the best solution to your problem. Also keep in mind that Cassandra performs well with average disks, so you don't need to spend a lot there. Additionally, most people find that the replication protects their data enough to allow them to use RAID 0 instead of 1, 10, 5, or 6. - Tyler On Thu, Dec 9, 2010 at 12:20 PM, Rustam Aliyev rus...@code.az wrote: Is there any plans to improve this in future? For big data clusters this could be very expensive. Based on your comment, I will need 200TB of storage for 100TB of data to keep Cassandra running. -- Rustam. On 09/12/2010 17:56, Tyler Hobbs wrote: If you are on 0.6, repair is particularly dangerous with respect to disk space usage. If your replica is sufficiently out of sync, you can triple your disk usage pretty easily. This has been improved in 0.7, so repairs should use about half as much disk space, on average. In general, yes, keep your nodes under 50% disk usage at all times. Any of: compaction, cleanup, snapshotting, repair, or bootstrapping (the latter two are improved in 0.7) can double your disk usage temporarily. You should plan to add more disk space or add nodes when you get close to this limit. Once you go over 50%, it's more difficult to add nodes, at least in 0.6. - Tyler On Thu, Dec 9, 2010 at 11:19 AM, Mark static.void@gmail.com wrote: I recently ran into a problem during a repair operation where my nodes completely ran out of space and my whole cluster was... well, clusterfucked. I want to make sure how to prevent this problem in the future. Should I make sure that at all times every node is under 50% of its disk space? Are there any normal day-to-day operations that would cause the any one node to double in size that I should be aware of? If on or more nodes to surpass the 50% mark, what should I plan to do? Thanks for any advice
Re: N to N relationships
I would also recommend two column families. Storing the key as NxN would require you to hit multiple machines to query for an entire row or column with RandomPartitioner. Even with OPP you would need to pick row or columns to order by and the other would require hitting multiple machines. Two column families avoids this and avoids any problems with choosing OPP. On Thu, Dec 9, 2010 at 2:26 PM, Aaron Morton aa...@thelastpickle.comwrote: Am assuming you have one matrix and you know the dimensions. Also as you say the most important queries are to get an entire column or an entire row. I would consider using a standard CF for the Columns and one for the Rows. The key for each would be the col / row number, each cassandra column name would be the id of the other dimension and the value whatever you want. - when storing the data update both the Column and Row CF - reading a whole row/col would be simply reading from the appropriate CF. - reading an intersection is a get_slice to either col or row CF using the column_names field to identify the other dimension. You would not need secondary indexes to serve these queries. Hope that helps. Aaron On 10 Dec, 2010,at 07:02 AM, Sébastien Druon sdr...@spotuse.com wrote: I mean if I have secondary indexes. Apparently they are calculated in the background... On 9 December 2010 18:33, David Boxenhorn da...@lookin2.com wrote: What do you mean by indexing? On Thu, Dec 9, 2010 at 7:30 PM, Sébastien Druon sdr...@spotuse.comwrote: Thanks a lot for the answer What about the indexing when adding a new element? Is it incremental? Thanks again On 9 December 2010 14:38, David Boxenhorn da...@lookin2.com wrote: How about a regular CF where keys are n...@n ? Then, getting a matrix row would be the same cost as getting a matrix column (N gets), and it would be very easy to add element N+1. On Thu, Dec 9, 2010 at 1:48 PM, Sébastien Druon sdr...@spotuse.comwrote: Hello, For a specific case, we are thinking about representing a N to N relationship with a NxN Matrix in Cassandra. The relations will be only between a subset of elements, so the Matrix will mostly contain empty elements. We have a set of questions concerning this: - what is the best way to represent this matrix? what would have the best performance in reading? in writing? . a super column family with n column families, with n columns each . a column family with n columns and n lines In the second case, we would need to extract 2 kinds of information: - all the relations for a line: this should be no specific problem; - all the relations for a column: in that case we would need an index for the columns, right? and then get all the lines where the value of the column in question is not null... is it the correct way to do? When using indexes, say we want to add another element N+1. What impact in terms of time would it have on the indexation job? Thanks a lot for the answers, Best regards, Sébastien Druon
Re: How to Tell if Decommission has Completed
I believe the decommission call is blocking in both .6 and .7, so once it returns it should have completed. On Wed, Dec 8, 2010 at 3:10 AM, Jake Maizel j...@soundcloud.com wrote: Hello, Is there a definitive way to tell if a Decommission operation has completed, such as a log message similar to what happens with a Drain command? Thanks. -- Jake Maizel Network Operations Soundcloud Mail GTalk: j...@soundcloud.com Skype: jakecloud Rosenthaler strasse 13, 101 19, Berlin, DE
Re: About a drastic change in performance
On Wed, Dec 8, 2010 at 1:19 AM, Arijit Mukherjee ariji...@gmail.com wrote: So how do you iterate over all records You can iterate over your records with RandomPartitioner, they will just be in the order of their hash, not the order of the keys. or try to find a list of all records matching a certain criteria? It sounds like you want a secondary index on a specific column. http://www.riptano.com/blog/whats-new-cassandra-07-secondary-indexes Arijit On 7 December 2010 15:41, Arijit Mukherjee ariji...@gmail.com wrote: Hi All I was building an application which stores some telecom call records in a Cassandra store and later performs some analysis on them. I created two versions, (1) - where the key is of the form A|B where A and B are two mobile numbers and A calls B, and (2) - where the key is of the form A|B|TS where A and B are same as before and TS is a time stamp (the time when the call was made). In both cases, the record structure is as follows: [key, DURATION_S1, DURATION_S2], where S1 and S2 are two different sources for the same information (two network elements). Basically I have two files from two network elements, and I parse the files and store the records in Cassandra. In both versions, there is a column family (ColumnFamily CompareWith=UTF8Type Name=Event/) which is used to store the records. In the first version, as (A|B) may occur multiple times within the files, the DURATION_S* fields are updated every time a duplicate key is encountered. In the second case, (A|B|TS) is unique - so there is no need for updating the DURATION_S* fields. Thus, in the second case, the number of records in the Event CF is slightly more - 9590, compared to 8378 in the 1st case. In both versions, the records are processed and sent to Cassandra within a reasonable period of time. The problem is in a range_slice query. I am trying to find all the records for which DURATION_S1 != DURATION_S2. And in fact, the code to do this is almost the same in both versions: /** * Selects all entries from the Event CF and finds out all those entries where * DUR_SRC1 != DUR_SRC2 */ public void findDurationMismatches() { boolean iterate = true; long count = 0; long totalCount = 0; int rowCount = 500; try { KeyRange keyRange = new KeyRange(); keyRange.setStart_key(); keyRange.setEnd_key(); // use a keyCount of 500 - means iterate over 500 records until all keys are considered keyRange.setCount(rowCount); Listbyte[] columns = new ArrayListbyte[](); columns.add(DUR_SRC1.getBytes(ENCODING)); columns.add(DUR_SRC2.getBytes(ENCODING)); SlicePredicate slicePredicate = new SlicePredicate(); slicePredicate.setColumn_names(columns); ColumnParent columnParent = new ColumnParent(EVENT_CF); ListKeySlice keySlices = client.get_range_slices(KEYSPACE, columnParent, slicePredicate, keyRange, ConsistencyLevel.ONE); while (iterate) { //logger.debug(Number of rows retrieved: + keySlices.size()); totalCount = totalCount + keySlices.size(); if (keySlices.size() rowCount) { // this is the last set iterate = false; } for (KeySlice keySlice : keySlices) { ListColumnOrSuperColumn result = keySlice.getColumns(); if (result.size() == 2) { String count_src1 = new String(result.get(0).getColumn().getValue(), ENCODING); String count_src2 = new String(result.get(1).getColumn().getValue(), ENCODING); if (!count_src1.equals(count_src2)) { count++; //printToConsole(keySlice.getKey(), keySlice.getColumns()); } keyRange.setStart_key(keySlice.getKey()); } keySlices = client.get_range_slices(KEYSPACE, columnParent, slicePredicate, keyRange, ConsistencyLevel.ONE); } } logger.debug(Found + count + records with mismatched duration fields.); logger.debug(Total number of records processed: + totalCount); } catch (Exception exception) { exception.printStackTrace(); logger.error(Exception: + exception.getMessage()); } } The trouble is - the same code, takes more than 5 mins to iterate over 9590 records in the 2nd version, whereas it takes about 2-3 seconds to iterate over 8300 records in the 1st version - and on the same machine. I can't think of any reason why the performance would change
Re: If one seed node crash, how can I add one seed node?
Yes, cassandra only reads the configuration when it starts up. However seed nodes are only used when a node starts. After that they aren't needed. There should be no reason to restart your cluster after adding a seed node to your cluster. On Tue, Dec 7, 2010 at 2:09 AM, aaron morton aa...@thelastpickle.comwrote: You will need to restart the nodes for them to pickup changes in cassandra.yaml Aaron On 7 Dec 2010, at 16:32, lei liu wrote: Thanks Nick. After I add the new node as seed node in the configuration for all of my nodes, do I need to restart all of my nodes? 2010/12/7 Nick Bailey n...@riptano.com The node can be set as a seed node at any time. It does not need to be a seed node when it joins the cluster. You should remove it as a seed node, set autobootstrap to true and let it join the cluster. Once it has joined the cluster you should add it as a seed node in the configuration for all of your nodes. On Mon, Dec 6, 2010 at 9:59 AM, lei liu liulei...@gmail.com wrote: Thank Jonathan for your reply. How can I bootstrap the node into cluster, I know if the node is seed node, I can't set AutoBootstrap to true. 2010/12/6 Jonathan Ellis jbel...@gmail.com set it as a seed _after_ bootstrapping it into the cluster. On Mon, Dec 6, 2010 at t5:01 AM, lei liu liulei...@gmail.com wrote: After one seed node crash, I want to add one node as seed node, I set auto_bootstrap to true, but the new node don't migrate data from other node s. How can I add one new seed node and let the node to migrate data from other nodes? Thanks, LiuLei -- Jonathan Ellis Project Chair, Apache Cassandra co-founder of Riptano, the source for professional Cassandra support http://riptano.com
Re: If one seed node crash, how can I add one seed node?
The node can be set as a seed node at any time. It does not need to be a seed node when it joins the cluster. You should remove it as a seed node, set autobootstrap to true and let it join the cluster. Once it has joined the cluster you should add it as a seed node in the configuration for all of your nodes. On Mon, Dec 6, 2010 at 9:59 AM, lei liu liulei...@gmail.com wrote: Thank Jonathan for your reply. How can I bootstrap the node into cluster, I know if the node is seed node, I can't set AutoBootstrap to true. 2010/12/6 Jonathan Ellis jbel...@gmail.com set it as a seed _after_ bootstrapping it into the cluster. On Mon, Dec 6, 2010 at t5:01 AM, lei liu liulei...@gmail.com wrote: After one seed node crash, I want to add one node as seed node, I set auto_bootstrap to true, but the new node don't migrate data from other node s. How can I add one new seed node and let the node to migrate data from other nodes? Thanks, LiuLei -- Jonathan Ellis Project Chair, Apache Cassandra co-founder of Riptano, the source for professional Cassandra support http://riptano.com
Re: 0.7RC1 cassandra-env.sh or cassandra.in.sh?
They should be set in cassandra-env.sh. Did you build the rpm yourself using the spec file in the source? If so its probably a bug. If not where did you get the rpm file from? On Thu, Dec 2, 2010 at 4:07 PM, Thor Carpenter tcarpen...@mediosystems.comwrote: Hi All, After installing 0.7RC1 RPM on CentOS and starting the cassandra service I am confused by the presence of duplicate and conflicting JVM params. There seem to be multiple places where JVM_OPTS are set. Is this a known issue? Any recommendations? Thanks! -Thor # find / -name cassandra*.sh /etc/cassandra/cassandra-env.sh /usr/share/cassandra/conf/cassandra-env.sh /usr/share/cassandra/cassandra.in.sh # ps aux | grep cassandra 100 8881 51.5 54.0 620988 135616 ? Sl 21:55 0:02 /usr/bin/java -Xdebug *-Xms128M* -Xmx1G -XX:TargetSurvivorRatio=90 -XX:+AggressiveOpts -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+HeapDumpOnOutOfMemoryError -XX:SurvivorRatio=128 -XX:MaxTenuringThreshold=0 -Dcom.sun.management.jmxremote.port=8080 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -ea -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 *-Xms122M* -Xmx122M -XX:+HeapDumpOnOutOfMemoryError -Xss128k -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=1 -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -Djava.net.preferIPv4Stack=true -Dcom.sun.management.jmxremote.port=8080 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dlog4j.configuration=log4j-server.properties -Dcassandra-pidfile=/var/run/cassandra/cassandra.pid -cp /etc/cassandra:/usr/share/cassandra/antlr-3.1.3.jar:/usr/share/cassandra/apache-cassandra-0.7.0-rc1-SNAPSHOT.jar:/usr/share/cassandra/apache-cassandra.jar:/usr/share/cassandra/avro-1.4.0-fixes.jar:/usr/share/cassandra/avro-1.4.0-sources-fixes.jar:/usr/share/cassandra/commons-cli-1.1.jar:/usr/share/cassandra/commons-codec-1.2.jar:/usr/share/cassandra/commons-collections-3.2.1.jar:/usr/share/cassandra/commons-lang-2.4.jar:/usr/share/cassandra/concurrentlinkedhashmap-lru-1.1.jar:/usr/share/cassandra/guava-r05.jar:/usr/share/cassandra/high-scale-lib.jar:/usr/share/cassandra/jackson-core-asl-1.4.0.jar:/usr/share/cassandra/jackson-mapper-asl-1.4.0.jar:/usr/share/cassandra/jetty-6.1.21.jar:/usr/share/cassandra/jetty-util-6.1.21.jar:/usr/share/cassandra/jline-0.9.94.jar:/usr/share/cassandra/json-simple-1.1.jar:/usr/share/cassandra/jug-2.0.0.jar:/usr/share/cassandra/libthrift-0.5.jar:/usr/share/cassandra/log4j-1.2.16.jar:/usr/share/cassandra/servlet-api-2.5-20081211.jar:/usr/share/cassandra/slf4j-api-1.6.1.jar:/usr/share/cassandra/slf4j-log4j12-1.6.1.jar:/usr/share/cassandra/snakeyaml-1.6.jar org.apache.cassandra.thrift.CassandraDaemon
Re: When to call the major compaction ?
The part about gc refers to old sstable files on disk. After a compaction, the old files on disk will be deleted when garbage collection happens. On Wed, Dec 1, 2010 at 7:31 AM, Ying Tang ivytang0...@gmail.com wrote: I'm confused , plz ingore the mail above. Here is my confusion , posterior to 0.6.6/0.7 , minor compaction and major compaction both can clean out rows 'tagged' tombstones , and generate a new , without tombstones , sstable . And the tombstones remains in memory ,waiting to be removed by jvm gc . Am i right? On Wed, Dec 1, 2010 at 9:10 PM, Ying Tang ivytang0...@gmail.com wrote: 1. So posterior to 0.6.6/0.7 , minor compaction and major compaction both can clean out rows 'tagged' tombstones , this kind of clean out doesn't mead remove it from the disk permanently. The real remove is done by the jvm GC ? 2. The intence of compaction is merging multi sstables into one , clean out the tombstone , let the un-tombstones rows be into a new ordered sstable ? On Wed, Dec 1, 2010 at 7:30 PM, Sylvain Lebresne sylv...@yakaz.comwrote: On Wed, Dec 1, 2010 at 12:11 PM, Ying Tang ivytang0...@gmail.com wrote: And i have another question , what's the difference between minor compaction and major compaction? A major compaction is a compaction that compact *all* the SSTables of a given column family (compaction compacts one CF at a time). Before https://issues.apache.org/jira/browse/CASSANDRA-1074 (introduced in 0.6.6 and recent 0.7 betas/rcs), major compactions where the only ones that removed the tombstones (see http://wiki.apache.org/cassandra/DistributedDeletes) and this is the reason major compaction exists. Now, with #1074, minor compactions should remove most if not all tombstones, so major compaction are not or much less useful (it may depend on your workload though as minor can't always delete the tombstones). -- Sylvain On 12/1/10, Chen Xinli chen.d...@gmail.com wrote: 2010/12/1 Ying Tang ivytang0...@gmail.com Every time cassandra creates a new sstable , it will call the CompactionManager.submitMinorIfNeeded ? And if the number of memtables is beyond MinimumCompactionThreshold , the minor compaction will be called. And there is also a method named CompactionManager.submitMajor , and the call relationship is : NodeCmd -- NodeProbe --StorageService.forceTableCompaction -- Table.forceCompaction --CompactionManager.performMajor -- CompactionManager.submitMajor ColumnFamilyStore.forceMajorCompaction -- CompactionManager.performMajor -- CompactionManager.submitMajor HintedHandOffManager -- CompactionManager.submitMajor So i have 3 questions: 1. Once a new sstable has been created , CompactionManager.submitMinorIfNeeded will be called , minorCompaction maybe called . But when will the majorCompaction be called ? Just the NodeCmd ? Yes, majorCompaction must be called manually from NodeCmd 2. Which jobs will minorCompaction and majorCompaction do ? Will minorCompaction delete the data that have been marked as deleted ? And how about the major compaction ? Compaction only mark sstables as deleted. Deletion will be done when there are full gc, or node restarted. 3. When gc be called ? Every time compaction been called? GC has nothing to do with compaction, you may mistake the two conceptions -- Best regards, Ivy Tang -- Best Regards, Chen Xinli -- Best regards, Ivy Tang -- Best regards, Ivy Tang -- Best regards, Ivy Tang
Re: using SimpleAuthenticator is not working
I believe the map of credentials should be creds.put(username, your_username); creds.put(password, your_password); So you have two entries in the map, one for user and one for password. No idea why that call would be hanging though. On Thu, Nov 18, 2010 at 1:46 PM, Alaa Zubaidi alaa.zuba...@pdf.com wrote: Hi Aaron, Thanks for the help.. If I don't use the Authenticator, and keep it at AllowAll it will work find.. I tried provide an invalid password but it behaved the same... Here is what i am doing: MapString, String creds = new HashMapString, String(); creds.put(username, pwd); AuthenticationRequest Auth = new AuthenticationRequest(creds); _logger.info(In ConnectCreateCassandraSchema); _client.login(Auth); _logger.info(after login + _keyspace); _client.set_keyspace(_keyspace); It hangs in _client.login(Auth); and when I try to trap the error (no error message), and if I let it continue it will give me you are not logged in on batch_mutate() Alaa On 11/18/2010 3:33 AM, aaron morton wrote: I *think* that message is just from when the connection is closed. Sorry this is a hard one to help with, as it's more than likely something to do with your client app. Some guessing... Everything is working if you do not use the authenticator ? Can you inspect the ports on the server and see if the connection is created from the client ? Any difference if you use an invalid password ? Try using Hector ? Try creating a new testing app from scratch. Hope that helps Aaron On 18 Nov 2010, at 10:03, Alaa Zubaidi wrote: One other thing, while login() hangs when called on the server side, and nothing is logged, I see the following logged when I kill the hanged process. DEBUG 13:01:10,640 logged out: null Thanks On 11/17/2010 12:41 PM, Alaa Zubaidi wrote: Hi Aaron, I used the client, and was able to login. E:\cassandrabin\cassandra-cli.bat -host 191.111.1.11 -port 9160 Starting Cassandra Client Connected to: Test Cluster on 191.111.1.11/9160 Welcome to cassandra CLI. Type 'help' or '?' for help. Type 'quit' or 'exit' to quit. [defa...@unknown] use Realtime al 'al' Authenticated to keyspace: Realtime [a...@realtime] and here is whats logged sever side: DEBUG 12:38:04,921 logged in: #User al groups=[] I am using Java/thrift on windows. Regards, Alaa On 11/15/2010 5:37 PM, Aaron Morton wrote: Can you try using the command line cassandra-cli tool ? fire it up and look at the online help, if you pass a user name and password to the use statement it will perform a login after setting the keyspace for the connection. Try testing the login that way, and see what is logged server side (with logging at DEBUG). Also, what client are you using ? Aaron On 16 Nov, 2010,at 02:02 PM, Alaa Zubaidialaa.zuba...@pdf.com wrote: I removed the exception handling and It seems that the login() is hanging? On 11/15/2010 1:36 PM, Eric Evans wrote: On Mon, 2010-11-15 at 12:26 -0800, Alaa Zubaidi wrote: I set authority to SimpleAuthority and log4j.rootLogger=DEBUG,stdout,R and its still the same, the error in my application is $batch_mutate_result.read(Cassandra.java:16477) InvalidRequestException(why: you have not logged in) and in the system.log after DEBUG .. Disseminating load info... DEBUG .. batch_mutate There is no mention to the login() and set_keyspace() methods. and no other information.. The login() method will either raise an AuthenticationException in the client application if the login failed, or log something like logged in: #User username groups=groupname if it succeeded. Either you're not actually calling login(), or your code is trapping the exception and obscuring the failure. --Alaa Zubaidi PDF Solutions, Inc. 333 West San Carlos Street, Suite 700 San Jose, CA 95110 USA Tel: 408-283-5639 (or 408-280-7900 x5639) fax: 408-938-6479 email: alaa.zuba...@pdf.com -- Alaa Zubaidi PDF Solutions, Inc. 333 West San Carlos Street, Suite 700 San Jose, CA 95110 USA Tel: 408-283-5639 (or 408-280-7900 x5639) fax: 408-938-6479 email: alaa.zuba...@pdf.com -- Alaa Zubaidi PDF Solutions, Inc. 333 West San Carlos Street, Suite 700 San Jose, CA 95110 USA Tel: 408-283-5639 (or 408-280-7900 x5639) fax: 408-938-6479 email: alaa.zuba...@pdf.com