I did this just last week, 0.6.13 -> 1.0.5.

Basically, I grabbed the 0.7 distribution and ran the configuration conversion 
tool there first, but since the config it produced wasn't compatible with 1.0, 
in the end I just opened two editor windows, one with my 0.6 config and one 
with the 1.0 cassandra.yaml file and modified it by hand. It wasn't 
particularly hard, since most of my config was happy with the defaults. Also I 
created a schema file based on the CF family structure I had, also by hand, but 
I've got only ten or so CFs.

I ran nodetool compact on all nodes, then nodetool drain, then shut down the 
cluster. Upgraded to 1.0, restarted cluster. Then imported the schema file 
(with cassandra-cli --file myschema.txt) Then ran nodetool scrub and let my 
clients connect. The entire process was fairly smooth except for some 
client-side oddities which were my own fault, and took about (compaction time + 
1) hours, most of which was spent in debugging my application. I don't think 
compaction is necessary, but I wanted to make sure I wouldn't run into disk 
space problems.

After this everything has been just fine, except for CASSANDRA-3551, which has 
been causing headaches for us, but not badly enough to make me seriously 
consider downgrading.

/Janne

On Dec 6, 2011, at 22:12 , Jehan Bing wrote:

> Hi,
> 
> I've seen recent posts saying it was possible to upgrade directly from 0.6 to 
> 1.0. But how?
> 
> I ran "nodetool drain" on all my nodes and shut them down.
> 
> However, there is not config-convert tool anymore. Since I basically using 
> the default config, is it important? Or is it OK to just use the default one 
> and change the few settings I need?
> 
> Also, there is no schematool anymore either. So how do I load the schema? Can 
> I just create one using cassandra-cli? Will cassandra then load the existing 
> data?
> 
> Last, I tried to start cassandra 1.0.5, I get the following error in 
> cassandra.log:
> 
>    ERROR 11:41:19,399 Exception encountered during startup
>    java.lang.AssertionError
>            at 
> org.apache.cassandra.db.SystemTable.checkHealth(SystemTable.java:295)
>            at 
> org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:150)
>            at 
> org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:337)
>            at 
> org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:107)
>    java.lang.AssertionError
>            at 
> org.apache.cassandra.db.SystemTable.checkHealth(SystemTable.java:295)
>            at 
> org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:150)
>            at 
> org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:337)
>            at 
> org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:107)
>    Exception encountered during startup: null
> 
> Then cassandra exits so I can't run nodetool repair (or create the schema if 
> that's the problem).
> 
> So how should I proceed?
> Or maybe I misread the previous post and I should actually do 0.6->0.7->1.0?
> 
> 
> Thanks,
>    Jehan

Reply via email to