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