Dans le passé, j'ai recueilli beaucoup de commentaires de chacun dans le processus de son utilisation. Aujourd'hui, je vais énumérer quelques problèmes communs pour fournir des références à plus de gens. Vous pouvez scanner le code QR d'un groupe d'échange pour entrer dans le groupe.
Le texte est de 1974 mots et le temps de lecture prévu est de 5 minutes.
Problème commun
Résumé: problèmes de démarrage, problèmes de connexion, charge excessive, problèmes de nom de chemin, regroupement par syntaxe, perte de précision et métadonnées vides.
Problème de démarrage
Se produit généralement dans les fenêtres, vous pouvez vérifier s'il y a des espaces dans le chemin, si le chemin est trop long, etc.
Le client ne peut pas se connecter au serveur
Le journal des exceptions est lié aux économies, aux champs manquants, etc. Ce sont toutes des incompatibilités de version. Il est nécessaire de s'assurer que le client et le serveur sont de la même version majeure, telle que 0.9.x ou 0.10.x.
Référence spécifique:
https://blog.csdn.net/qiaojialin/article/details/106258371
La charge du système est trop lourde
La charge du système IoTDB est trop importante. Vous serez invité à désactiver le paramètre enable_parameter_adapter. La désactivation de ce paramètre présente un risque d'explosion de la mémoire et vous devez ajuster manuellement les paramètres. Méthode de réglage simple:
memtable_size_threshold = tsfile_size_threshold
= Mémoire allouable * 50% / nombre de groupes de stockage / 4 (avec données hors service)
= Mémoire allouable * 50% / nombre de groupes de stockage / 2 (pas de données en désordre)
Dans le fichier de configuration 0.10.0, il y a un guide de réglage des paramètres pour le paramètre enable_parameter_adapter, vous pouvez vous y référer.
Problème de nom de chemin
0.8, 0.9 Il existe différents degrés de prise en charge des noms de chemin. La règle de dénomination la plus courante est que la règle de dénomination commence par des lettres et des traits de soulignement et se compose de lettres, de chiffres et de traits de soulignement. Les autres caractères spéciaux, tels que ¥ # & -, ne sont pris en charge que dans la version 0.10.0. En ce qui concerne la dernière couche, nous avons déjà trouvé une solution de guillemets. Ce n'est pas un problème d'écrire cela en 0.10.0, mais les en-têtes renvoyés par la requête peuvent ne pas être uniformes. Ce problème sera complètement résolu dans la version 0.11.0 ou 0.10.1. J'écrirai une introduction d'article distinct à ce moment-là.
La syntaxe de group by est incorrecte
Les versions antérieures à 0.9 et 0.10 ont une syntaxe group by différente. Vous devez faire attention à la version d'IoTDB.
La syntaxe de 0.9 est group by (1d, 2017-11-03 00:00:00, [2017-11-01 00:00:00, 2017-11-07 23:00:00]);
La syntaxe de 0.10 est group by ([2017-11-01 00:00:00, 2017-11-07 23:00:00), 3h, 1d);
Pour plus de détails, reportez-vous à l'article précédent: Syntaxe SQL de base
réinitialisation de la connexion par paire
La connexion est instable, vous pouvez utiliser SessionPool, qui dispose d'un mécanisme de reconnexion.
timeout pour établir une connexion
N'oubliez pas de fermer l'ensemble de résultats interrogé avec SessionPool. Si vous oubliez de le fermer, la connexion sera toujours occupée. La façon de fermer est sessionPool.close (SessionDataSetWrapper).
Problèmes liés à MQTT
En plus de l'exemple de client java mqtt, d'autres clients mqtt doivent définir l'ID client, ce qui permettra l'utilisation d'un ID client vide dans la version 0.11.0.
0.10.0 et les versions antérieures autorisent l'accès anonyme, ce qui a été corrigé dans la version 0.11.0-SNAPSHOT.
Perte d'exactitude des données
L'utilisation de RLE et TS_2DIFF pour Float et Double a une perte de précision. Deux décimales sont réservées par défaut et arrondies selon la troisième place, qui peut être contrôlée par le paramètre float_precision.
L'encodage Gorilla est recommandé pour les nombres à virgule flottante, sans perte.
La version 0.9 éclate la mémoire
Besoin de définir merge_interval_sec sur 0.
Les métadonnées sont vides après le redémarrage
Ce problème s'est produit dans la version 0.9.2 et les versions antérieures. Les métadonnées ne seront pas perdues, mais la mémoire est vidée après avoir rencontré le journal des erreurs lors du redémarrage. Il peut être mis à niveau vers 0.9.3 ou 0.10.0, et il peut être résolu en redémarrant.
Quatre étapes pour rencontrer des problèmes
premier pas
Essayez la nouvelle version, peut-être que la nouvelle version conviendra (auparavant, j'aime toujours trouver une ancienne version à utiliser lorsque je télécharge le logiciel, maintenant je veux juste utiliser la dernière version après avoir commencé à créer le logiciel ...)
Deuxième étape
Effectuez des opérations via le client. Si une exception se produit, le code d'erreur sera inclus dans l'exception. Vous pouvez obtenir le code d'erreur via getStatusCode, puis vérifier ce lien:
http://iotdb.apache.org/zh/UserGuide/V0.10.x/Client/Status%20Codes.html
Cette méthode peut vous aider à identifier les problèmes grammaticaux, les problèmes de version, etc.
troisième étape
Recherchez dans la liste des problèmes Github. Si vous ne l'avez pas, vous pouvez la créer. Essayez de décrire clairement vos opérations et problèmes spécifiques. Si vous disposez d'un journal des erreurs, vous pouvez le publier.
https://github.com/apache/incubator-iotdb/issues
Les questions posées sur github recevront essentiellement des commentaires dans un délai d'un jour ou deux. Il convient de noter qu'il est préférable de donner des commentaires sur la solution une fois qu'elle est résolue et de donner d'autres références.
la quatrième étape
Pour nous contacter, vous pouvez contacter l'auteur et m'ajouter sur WeChat en bas du compte officiel.
Pour résumer
Le logiciel est utilisé. Plus il y a de commentaires de votre part, plus l'IoTDB est facile à utiliser. Merci pour les utilisateurs qui sont dans la phase de croissance rapide de l'IoTDB. Le prochain article présentera le réglage.
Bienvenue dans une star: https://github.com/apache/incubator-iotdb