You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by br...@apache.org on 2014/07/18 19:36:38 UTC
[02/17] git commit: Fix word count
Fix word count
Patch by Ala' Alkhaldi, reviewed by brandonwilliams for CASSANDRA-7200
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/337e4a82
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/337e4a82
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/337e4a82
Branch: refs/heads/cassandra-2.1
Commit: 337e4a8292d29ea1a07c932d8853ca62939548ed
Parents: 062addb
Author: Brandon Williams <br...@apache.org>
Authored: Fri Jul 18 12:31:17 2014 -0500
Committer: Brandon Williams <br...@apache.org>
Committed: Fri Jul 18 12:31:17 2014 -0500
----------------------------------------------------------------------
examples/hadoop_cql3_word_count/README.txt | 6 +++--
.../conf/log4j.properties | 2 +-
.../src/WordCountSetup.java | 5 +++-
examples/hadoop_word_count/README.txt | 6 +++--
.../hadoop_word_count/conf/log4j.properties | 2 +-
.../hadoop_word_count/src/WordCountSetup.java | 25 +++++++++++++++++++-
6 files changed, 38 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/337e4a82/examples/hadoop_cql3_word_count/README.txt
----------------------------------------------------------------------
diff --git a/examples/hadoop_cql3_word_count/README.txt b/examples/hadoop_cql3_word_count/README.txt
index f984b02..e01632b 100644
--- a/examples/hadoop_cql3_word_count/README.txt
+++ b/examples/hadoop_cql3_word_count/README.txt
@@ -36,8 +36,10 @@ Read the code in src/ for more details.
The word_count_counters example sums the counter columns for a row. The output
is written to a text file in /tmp/word_count_counters.
-*If you want to point wordcount at a real cluster, modify the seed
-and listenaddress settings accordingly.
+*It is recommended to turn off vnodes when running Cassandra with hadoop.
+This is done by setting "num_tokens: 1" in cassandra.yaml. If you want to
+point wordcount at a real cluster, modify the seed and listenaddress
+settings accordingly.
Troubleshooting
http://git-wip-us.apache.org/repos/asf/cassandra/blob/337e4a82/examples/hadoop_cql3_word_count/conf/log4j.properties
----------------------------------------------------------------------
diff --git a/examples/hadoop_cql3_word_count/conf/log4j.properties b/examples/hadoop_cql3_word_count/conf/log4j.properties
index 70f7657..508d60f 100644
--- a/examples/hadoop_cql3_word_count/conf/log4j.properties
+++ b/examples/hadoop_cql3_word_count/conf/log4j.properties
@@ -15,7 +15,7 @@
# specific language governing permissions and limitations
# under the License.
-log4j.rootLogger=DEBUG,stdout,F
+log4j.rootLogger=INFO,stdout,F
#stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
http://git-wip-us.apache.org/repos/asf/cassandra/blob/337e4a82/examples/hadoop_cql3_word_count/src/WordCountSetup.java
----------------------------------------------------------------------
diff --git a/examples/hadoop_cql3_word_count/src/WordCountSetup.java b/examples/hadoop_cql3_word_count/src/WordCountSetup.java
index ebf7485..cffe272 100644
--- a/examples/hadoop_cql3_word_count/src/WordCountSetup.java
+++ b/examples/hadoop_cql3_word_count/src/WordCountSetup.java
@@ -70,7 +70,10 @@ public class WordCountSetup
client.execute_cql3_query(ByteBufferUtil.bytes(query), Compression.NONE, ConsistencyLevel.ONE);
- int magnitude = client.describe_ring(WordCount.KEYSPACE).size();
+ String verifyQuery = "select count(*) from system.peers";
+ CqlResult result = client.execute_cql3_query(ByteBufferUtil.bytes(verifyQuery), Compression.NONE, ConsistencyLevel.ONE);
+
+ long magnitude = ByteBufferUtil.toLong(result.rows.get(0).columns.get(0).value);
try
{
Thread.sleep(1000 * magnitude);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/337e4a82/examples/hadoop_word_count/README.txt
----------------------------------------------------------------------
diff --git a/examples/hadoop_word_count/README.txt b/examples/hadoop_word_count/README.txt
index cf8a344..9a93908 100644
--- a/examples/hadoop_word_count/README.txt
+++ b/examples/hadoop_word_count/README.txt
@@ -37,8 +37,10 @@ Read the code in src/ for more details.
The word_count_counters example sums the counter columns for a row. The output
is written to a text file in /tmp/word_count_counters.
-*If you want to point wordcount at a real cluster, modify the seed
-and listenaddress settings accordingly.
+*It is recommended to turn off vnodes when running Cassandra with hadoop.
+This is done by setting "num_tokens: 1" in cassandra.yaml. If you want to
+point wordcount at a real cluster, modify the seed and listenaddress
+settings accordingly.
Troubleshooting
http://git-wip-us.apache.org/repos/asf/cassandra/blob/337e4a82/examples/hadoop_word_count/conf/log4j.properties
----------------------------------------------------------------------
diff --git a/examples/hadoop_word_count/conf/log4j.properties b/examples/hadoop_word_count/conf/log4j.properties
index 70f7657..508d60f 100644
--- a/examples/hadoop_word_count/conf/log4j.properties
+++ b/examples/hadoop_word_count/conf/log4j.properties
@@ -15,7 +15,7 @@
# specific language governing permissions and limitations
# under the License.
-log4j.rootLogger=DEBUG,stdout,F
+log4j.rootLogger=INFO,stdout,F
#stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
http://git-wip-us.apache.org/repos/asf/cassandra/blob/337e4a82/examples/hadoop_word_count/src/WordCountSetup.java
----------------------------------------------------------------------
diff --git a/examples/hadoop_word_count/src/WordCountSetup.java b/examples/hadoop_word_count/src/WordCountSetup.java
index e222327..6dd2ba7 100644
--- a/examples/hadoop_word_count/src/WordCountSetup.java
+++ b/examples/hadoop_word_count/src/WordCountSetup.java
@@ -176,10 +176,33 @@ public class WordCountSetup
KsDef ksDef = new KsDef(WordCount.KEYSPACE, "org.apache.cassandra.locator.SimpleStrategy", cfDefList);
ksDef.putToStrategy_options("replication_factor", "1");
client.system_add_keyspace(ksDef);
- int magnitude = client.describe_ring(WordCount.KEYSPACE).size();
+
+ int magnitude = getNumberOfHosts(client);
Uninterruptibles.sleepUninterruptibly(magnitude, TimeUnit.SECONDS);
}
+ private static int getNumberOfHosts(Cassandra.Iface client)
+ throws InvalidRequestException, UnavailableException, TimedOutException, TException
+ {
+ client.set_keyspace("system");
+ SlicePredicate predicate = new SlicePredicate();
+ SliceRange sliceRange = new SliceRange();
+ sliceRange.setStart(new byte[0]);
+ sliceRange.setFinish(new byte[0]);
+ predicate.setSlice_range(sliceRange);
+
+ KeyRange keyrRange = new KeyRange();
+ keyrRange.setStart_key(new byte[0]);
+ keyrRange.setEnd_key(new byte[0]);
+ //keyrRange.setCount(100);
+
+ ColumnParent parent = new ColumnParent("peers");
+
+ List<KeySlice> ls = client.get_range_slices(parent, predicate, keyrRange, ConsistencyLevel.ONE);
+
+ return ls.size();
+ }
+
private static Cassandra.Iface createConnection() throws TTransportException
{
if (System.getProperty("cassandra.host") == null || System.getProperty("cassandra.port") == null)