Je pense que c'est mort (erreur de programmation) mais je soumet le problème au cas où quelque chose m'aurait échappé.
Donc j'essaye de compiler MySQL Cluster sur ARM Ubuntu 16.04.02 mais il semble manquer des fonctions (rmb(), wmb() et mb())
La séquence de compilation avec l'erreur à la fin :
root@MySQLClusterNode2:/home/USER/Download/mysql-cluster-gpl-7.5.6# make
[ 0%] Built target abi_check
[ 0%] Built target INFO_SRC
[ 0%] Built target INFO_BIN
[ 0%] Built target zlib
[ 0%] Built target yassl
[ 1%] Built target taocrypt
[ 2%] Built target edit
[ 3%] Built target strings
[ 6%] Built target mysys
[ 7%] Built target dbug
[ 7%] Built target mysys_ssl
[ 7%] Built target comp_err
[ 7%] Built target GenError
[ 7%] Built target partition
[ 7%] Built target partition_embedded
[ 9%] Built target myisam_embedded
[ 9%] Built target myisam_ftdump
[ 10%] Built target myisam
[ 10%] Built target myisamchk
[ 10%] Built target myisamlog
[ 10%] Built target myisampack
[ 10%] Built target archive_embedded
[ 10%] Built target archive
[ 11%] Built target mysqlservices
[ 11%] Built target example
[ 11%] Built target lz4_lib
[ 16%] Built target innobase
[ 20%] Built target innobase_embedded
[ 24%] Built target perfschema
[ 25%] Built target mytap
[ 25%] Built target pfs_server_stubs
[ 25%] Built target pfs_misc-t
[ 25%] Built target pfs_instr-t
[ 25%] Built target pfs_host-oom-t
[ 25%] Built target pfs_instr-oom-t
[ 25%] Built target pfs_instr_class-oom-t
[ 25%] Built target gen_lex_hash
[ 25%] Built target GenServerSource
[ 25%] Built target blackhole
[ 25%] Built target ndbportlib
[ 25%] Built target ndbconf
[ 25%] Built target ndbmgmapi
[ 26%] Built target ndbmgmcommon
[ 26%] Built target ndbtransport
[ 29%] Built target ndbsignaldata
[ 29%] Built target ndblogger
[ 31%] Built target ndbgeneral
[ 31%] Built target ndbtrace
[ 32%] Built target ndbapi
[ 32%] Built target ndbclient_static
[ 33%] Built target ndbcluster
[ 33%] Built target federated
[ 33%] Built target csv
[ 34%] Built target myisammrg
[ 35%] Built target heap
[ 35%] Built target ngram_parser
[ 35%] Built target vio
[ 35%] Built target regex
[ 36%] Built target binlogevents_static
[ 36%] Built target slave
[ 36%] Built target master
[ 36%] Built target binlog
[ 36%] Built target comp_sql
[ 36%] Built target GenSysSchema
[ 36%] Built target gen_lex_token
[ 36%] Built target GenDigestServerSource
[ 36%] Built target GenBootstrapPriv
[ 44%] Built target sql
[ 45%] Built target rpl
[ 45%] Built target pfs_connect_attr-t
[ 45%] Built target pfs_instr_class-t
[ 45%] Built target pfs_noop-t
[ 45%] Built target pfs_account-oom-t
[ 45%] Built target pfs_user-oom-t
[ 45%] Built target pfs-t
[ 45%] Built target csv_embedded
[ 45%] Built target blackhole_embedded
[ 46%] Built target heap_embedded
[ 46%] Built target hp_test2
[ 46%] Built target hp_test1
[ 47%] Built target myisammrg_embedded
[ 47%] Built target federated_embedded
[ 48%] Built target ndbcluster_embedded
[ 48%] Built target ndbclient_static_link_test
[ 48%] Built target ndbjtie
[ 48%] Built target ndbclient_so
[ 48%] Built target ndbclient_shared_link_test
[ 48%] Built target NdbGetInAddr-t
[ 48%] Built target NdbDir-t
[ 48%] Built target BaseString-t
[ 48%] Built target SparseBitmask-t
[ 48%] Built target ndb_version-t
[ 48%] Built target HashMap2-t
[ 48%] Built target Bitmask-t
[ 48%] Built target mysql_utils_test-t
[ 48%] Built target Parser-t
[ 48%] Built target LinkedStack-t
[ 48%] Built target NdbSqlUtil-t
[ 48%] Built target NdbPack-t
[ 48%] Built target mgmapi-t
[ 49%] Built target ndbkernel
[ 49%] Building CXX object storage/ndb/src/kernel/vm/CMakeFiles/ndbsched_mt.dir/mt.cpp.o
/home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp: In member function ‘bool thr_send_threads::data_available() const’:
/home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp:1497:9: error: ‘rmb’ was not declared in this scope
rmb();
^
/home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp: In member function ‘void thr_send_threads::setNodeOverloadStatus(OverloadStatus)’:
/home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp:1640:8: error: ‘mb’ was not declared in this scope
mb();
^
/home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp: In member function ‘void thr_send_threads::insert_node(NodeId)’:
/home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp:1753:7: error: ‘wmb’ was not declared in this scope
wmb();
^
/home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp: In function ‘void flush_write_state_other(thr_data*, thr_job_queue_head*, thr_jb_write_state*, bool)’:
/home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp:3464:7: error: ‘wmb’ was not declared in this scope
wmb();
^
/home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp: In function ‘void flush_write_state_other_wakeup(thr_data*, thr_job_queue_head*, thr_jb_write_state*)’:
/home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp:3525:7: error: ‘wmb’ was not declared in this scope
wmb();
^
/home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp: In function ‘void flush_jbb_write_state(thr_data*)’:
/home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp:3557:7: error: ‘wmb’ was not declared in this scope
wmb();
^
/home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp: In function ‘Uint32 link_thread_send_buffers(thr_repository::send_buffer*, Uint32)’:
/home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp:3929:13: error: ‘rmb’ was not declared in this scope
rmb();
^
/home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp: In function ‘void flush_send_buffer(thr_data*, Uint32)’:
/home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp:4435:7: error: ‘wmb’ was not declared in this scope
wmb();
^
/home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp: In member function ‘virtual bool mt_send_handle::forceSend(NodeId)’:
/home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp:4477:8: error: ‘mb’ was not declared in this scope
mb();
^
/home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp: In function ‘void try_send(thr_data*, Uint32)’:
/home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp:4510:8: error: ‘mb’ was not declared in this scope
mb();
^
/home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp: In function ‘bool do_send(thr_data*, bool, bool)’:
/home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp:4877:10: error: ‘mb’ was not declared in this scope
mb();
^
/home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp: In function ‘bool insert_signal(thr_job_queue*, thr_job_queue_head*, thr_jb_write_state*, Uint32, const SignalHeader*, const Uint32*, const Uint32*, thr_job_buffer*)’:
/home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp:5085:9: error: ‘wmb’ was not declared in this scope
wmb();
^
/home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp: In function ‘void read_jbb_state(thr_data*, Uint32)’:
/home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp:5135:30: error: ‘read_barrier_depends’ was not declared in this scope
read_barrier_depends();
^
/home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp: In function ‘bool read_jba_state(thr_data*)’:
/home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp:5148:24: error: ‘read_barrier_depends’ was not declared in this scope
read_barrier_depends();
^
/home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp: In function ‘Uint32 run_job_buffers(thr_data*, Signal*, Uint32&, Uint32&, bool&)’:
/home/USER/Download/mysql-cluster-gpl-7.5.6/storage/ndb/src/kernel/vm/mt.cpp:5430:7: error: ‘rmb’ was not declared in this scope
rmb();
^
storage/ndb/src/kernel/vm/CMakeFiles/ndbsched_mt.dir/build.make:158: recipe for target 'storage/ndb/src/kernel/vm/CMakeFiles/ndbsched_mt.dir/mt.cpp.o' failed
make[2]: *** [storage/ndb/src/kernel/vm/CMakeFiles/ndbsched_mt.dir/mt.cpp.o] Error 1
CMakeFiles/Makefile2:4749: recipe for target 'storage/ndb/src/kernel/vm/CMakeFiles/ndbsched_mt.dir/all' failed
make[1]: *** [storage/ndb/src/kernel/vm/CMakeFiles/ndbsched_mt.dir/all] Error 2
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2
Ma procédure :
apt-get update
apt-get install -y cmake libncurses5-dev libaio1 default-jre build-essential default-jdk git
cd /home/user/Download
wget https://dev.mysql.com/get/Downloads/MySQL-Cluster-7.5/mysql-cluster-gpl-7.5.6.tar.gz
tar -xzf ./mysql-cluster-gpl-7.5.6.tar.gz
cd mysql-cluster-gpl-7.5.6
cmake . -DCMAKE_INSTALL_PREFIX=/service/mysql -DMYSQL_DATADIR=/data/mysql -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost -DSYSCONFDIR=/service/mysql -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DENABLE_DOWNLOADS=1
make
make install
D'après google ce problème semble exister depuis 2015 (se qui est étonnant pour un logiciel (critique) entretenu par un gafam)
J'essaye d'adapter la solution trouvée ici mais je n'ai pas le fichier qu'ils indiquent.
Si vous avez des pistes, je suis preneur :)
Merci d'avance.
# une piste
Posté par NeoX . Évalué à 3.
c'est pas dispo dans les paquets de ta distrib ARM avant de vouloir recompiler ?
[^] # Re: une piste
Posté par EauFroide . Évalué à 1. Dernière modification le 09 juin 2017 à 23:56.
Non on ne dirait pas:
Note que "mysql-cluster" ne semble pas présent sur ubuntu 64bit non plus.
ptete passer par la virtualisation d'un système 32 ou 64 bit afin de pouvoir installer les .deb prévu pour ces archis
Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat
[^] # Re: une piste
Posté par jnanar (site web personnel) . Évalué à 2. Dernière modification le 10 juin 2017 à 19:01.
MariaDB Galera Cluster semble compatible avec le raspberry pi.
https://stackoverflow.com/questions/17368617/mysql-cluster-or-mariadb-galera
https://gist.github.com/Lewiscowles1986/27cfeda001bb75a9151b5c974c2318bc
les démarches sont expliquées dans le rapport de bug (fermé):
https://project.altservice.com/issues/491
[^] # Re: une piste
Posté par EauFroide . Évalué à 2.
Oui je suis aussi en train de l'essayer. Par contre je ne suis pas sûr que Galera soit compatible avec les CMS courant car : "Il faut qu'il y est des clés primaires sur toutes les tables" (source)
PS: Galera n'est pas dans les packages Debian qu'ils le compilent dans tout les tuto que tu as linké? (sur l'ubuntu pour Odroid les paquets sont dispo via apt-get). Merci pour le lien vers ce script, il facilitera mon essai de Galera.
Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat
# MySQL Cluster via Docker
Posté par EauFroide . Évalué à 1. Dernière modification le 13 juin 2017 à 14:13.
Je suis en train de tester une autre méthode pour installer MySQL Cluster : en utilisant docker.
Pour le moment ça ne fonctionne pas (n'ayant JAMAIS utilisé docker auparavant, ça prend un peu de temps) mais si vous voulez jeter un œil :)
SUR CHAQUE NODE :
créer les dossiers
Créer le fichier de conf
Ajouter dedans après adaptation
SUR LE NODE 1
Pour lancer
SUR LE NODE 2
Pour lancer
Pour le moment il semble que les containers s'auto-quittent directement après lancement.
PS: merci a Nicolive, graphikart et les autres pour leurs tutos
Source : h3nrik/mysql-cluster
Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat
[^] # Re: MySQL Cluster via Docker
Posté par EauFroide . Évalué à 1.
Ça tourne en rond je pense que si ça ne démarre pas c'est car les images ne sont pas compilées pour ARM:
retour de commande en testant ce tuto
Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat
[^] # Re: MySQL Cluster via Docker
Posté par jnanar (site web personnel) . Évalué à 1.
Je ne pense pas que Docker fasse de l'émulation. Les images que tu utilises sont prévues pour tourner sur ARM. Donc tu te retrouveras avec le même problème. En général on déconseille d'utiliser Docker pour des bases de données même si ça marche bien en utilisant un volume à part pour les données, voir en partageant un dossier sur l'hôte (je le fais avec succès pour odoo et postgresql).
Je ne comprends pas pourquoi tu veux une base de données décentralisée. Ça a l'air tellement complexe et overkill sur raspberry pi.
Si tu as plusieurs containers qui doivent être liés, je conseille docker-compose qui facilite le travail.
Bon courage
[^] # Re: MySQL Cluster via Docker
Posté par EauFroide . Évalué à 1.
Car les bdd bouffent des ressources a l'abus (mes rpi1 lag et j'ai pas envie de les jeter), pour permettre de faire des trucs marrant (decentraliser le cloud et permettre aux gens qui hebergent une machine de l'utiliser en local et laisser le cluster bdd et le raid10 synchroniser le tout), car le systeme de backup actuel ne me convient pas, car je veux qu'en cas de panne tout continue de fonctionner (surtout le cloud et la videos surceillance).
Je ne suis pas sur raspberry mais sur des odroid xu4 acheté pour l'occasion :P (et vu ca que ca m'a couté, je peux pas échouer! Mdr)
Le but est de faire tourner (stable) mysql cluster, peu importe comment :)
Quand je cherche panic: standard_init_linux.go:178: exec user process caused "exec format error" sur google je tombe sur des gens demandant si ca a bien été compilé pour ARM.
Je vais checker merci :)
Merci ! Ca fait plus de 2 semaines que je tripatouille :P
Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat
# Pour archive (#leProfessionalismedOracle)
Posté par EauFroide . Évalué à 1. Dernière modification le 16 juin 2017 à 20:07.
J'ai posté le problème de compilation sur le site d'Oracle : OracleCommunity - MySQl Cluster compilation Fail on Ubuntu 16.04 (ARM)
Après avoir osé mettre "Résolut" dans le titre de mon thread (triche aux moteurs de recherche?) ils m'ont renvoyé vers un obscure forum de MySQL qui a l'air mort de chez mort : mysql.com - MySQl Cluster compilation Fail on Ubuntu 16.04 (ARM)
En passant, vu que le forum pointe un lien vers lui, j'ai commenté la page de présentation de l'image docker de MySQL Cluster afin de signaler que ça ne fonctionne PAS sur ARM en postant l'erreur ainsi qu'un lien vers le logs complet. Mais ça fait 2 jours que le message est en attente de modération (on pourrait se poser la question de l’intérêt de cette méthode vu l'activité de leur site) : http://mysqlrelease.com/2017/05/docker-images-for-mysql-cluster/
Oracle me fait penser a Belgacom :P
PS: on notera que pour lors de l'inscription sur son site, Oracle tente de récupérer un maximum d'informations personnelles (nom, prénom, téléphone, profession, etc) sans doute en vue de les utiliser voir de les revendre.
Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.