atom feed8 messages in org.apache.incubator.cassandra-userRe: bulk load problem
FromSent OnAttachments
James PirzJun 26, 2012 5:07 pm 
Nury RedjepowJun 27, 2012 1:29 am 
James PirzJun 27, 2012 10:18 am 
aaron mortonJul 2, 2012 4:46 pm 
Pushpalanka JayawardhanaJul 9, 2012 2:16 am 
Brian JeltemaJul 9, 2012 4:51 am 
Yuki MorishitaJul 9, 2012 7:43 am 
Pushpalanka JayawardhanaJul 9, 2012 11:56 am 
Subject:Re: bulk load problem
From:Brian Jeltema (
Date:Jul 9, 2012 4:51:04 am

I couldn't get the same-host sstableloader to work either. But it's easier to
use the JMX bulk-load hook that's built into Cassandra anyway. The following is what I implemented to do this:

import; import java.util.HashMap; import java.util.Map;

import; import; import; import; import; import; import;

import org.apache.cassandra.service.StorageServiceMBean;

public class JmxBulkLoader {

private JMXConnector connector; private StorageServiceMBean storageBean;

public JmxBulkLoader(String host, int port) throws Exception { connect(host, port); }

private void connect(String host, int port) throws IOException,
MalformedObjectNameException { JMXServiceURL jmxUrl = new
JMXServiceURL(String.format("service:jmx:rmi:///jndi/rmi://%s:%d/jmxrmi", host,
port)); Map<String,Object> env = new HashMap<String,Object>(); connector = JMXConnectorFactory.connect(jmxUrl, env); MBeanServerConnection mbeanServerConn =
connector.getMBeanServerConnection(); ObjectName name = new
ObjectName("org.apache.cassandra.db:type=StorageService"); storageBean = JMX.newMBeanProxy(mbeanServerConn, name,
StorageServiceMBean.class); }

public void close() throws IOException { connector.close(); }

public void bulkLoad(String path) { storageBean.bulkLoad(path); }

public static void main(String[] args) throws Exception { if (args.length == 0) { throw new IllegalArgumentException("usage: paths to bulk files"); } JmxBulkLoader np = new JmxBulkLoader("localhost", 7199); for (String arg : args) { np.bulkLoad(arg); } np.close(); } }

On Jul 9, 2012, at 5:16 AM, Pushpalanka Jayawardhana wrote:

Hi all,

I am facing the same problem when trying to load Cassandra using sstableloader.
I am running a Cassandra instance in my own machine and sstableloader is also
called from the same machine. Following are the steps I followed.

get a copy of the running Cassandra instance set another loopback address with "sudo ifconfig lo:0 netmask up" set listen address and rpc address of the copied Cassandra's cassandra.yaml to ran "./sstableloader -d <directory of created sstables>" But this give me an error 'Could not retrieve endpoint ranges: ' and just that.

I am so grateful for any hints to get over this. What I want to get done is actually running the sstableloader via a java code.
But I couldn't get over it either and trying to understand the required args
with this. It is great if someone can help me in either cases.

Thanks in advance!

On Tue, Jul 3, 2012 at 5:16 AM, aaron morton <> wrote: Do you have the full stack ? It will include a cause.


On 27/06/2012, at 12:07 PM, James Pirz wrote:

Dear all,

I am trying to use "sstableloader" in cassandra 1.1.1, to bulk load some data
into a single node cluster. I am running the following command:

bin/sstableloader -d /data/ssTable/tpch/tpch/

from "another" node (other than the node on which cassandra is running), while
the data should be loaded into a keyspace named "tpch". I made sure that the 2nd
node, from which I run sstableloader, have the same copy of cassandra.yaml as
the destination node. I have put

tpch-cf0-hd-1-Data.db tpch-cf0-hd-1-Index.db

under the path, I have passed to sstableloader.

But I am getting the following error:

Could not retrieve endpoint ranges:

Any hint ?

Thanks in advance,