Compilare lo Storage Engine Cassandra
Questa pagina spiega come compilare lo Storage Engine Cassandra.
Ottenere il codice sorgente
Il codice si trova in una brach di bazaar su lp:maria-captains/maria/5.5-cassandra.
In alternativa, si può scaricare un tarball da http://ftp.osuosl.org/pub/mariadb/mariadb-5.5.27/cassandra-preview/
Compilare
Il processo di compilazione non è ancora pienamente inserito nella streamline. Si sa che:
- funziona su Fedora 15 e OpenSUSE
- non funziona su Ubuntu Oneiric Ocelot (si veda MDEV-501).
- funziona su Ubuntu Precise Pangolin
Il processo di compilazione è il seguente:
- Installare Cassandra (abbiamo provato le versioni 1.1.3 ... 1.1.5, mentre la beta di 1.2 dovrebbe funzionare ma non è stata testata)
- Installare la libreria Thrift (abbiamo usato 0.8.0 e 0.9.0-trunk), serve solo il backend C++.
- L'abbiamo installato compilando il tarball dei sorgenti scaricato da thrift.apache.org
- Modificare
storage/cassandra/CMakeLists.txt
cambiando la direttivaINCLUDE_DIRECTORIES
perché punti alla directory di Thrift. export LIBS="-lthrift"
, su un'altra macchina era "-lthrift -ldl"export LDFLAGS=-L/path/to/thrift/libs
- Compilare il server
- Abbiamo usato lo script BUILD/compile-pentium-max (il nome è per ragioni storiche; in realtà crea un binario ottimizzato per amd64)
Eseguire il server
Lo Storage Engine Cassandra è linkato al server (insomma, non è un plugin). E' sufficiente accertarsi che il file libthrift.so di Thrift possa essere trovato dal loader. This may require adjusting the LD_LIBRARY_PATH variable.
Eseguire i test
C'è una testsuite di base. Per eseguirla occorre:
- Avviare Cassandra su localhost
- Impostare PATH in modo che i binari
cqlsh
ecassandra-cli
possano essere trovati - Dalla directory di build, eseguire:
cd mysql-test ./mysql-test-run t/cassandra.test
Commenti
Sto caricando i commenti......
Content reproduced on this site is the property of its respective owners,
and this content is not reviewed in advance by MariaDB. The views, information and opinions
expressed by this content do not necessarily represent those of MariaDB or any other party.