- EDITORIAL
- Installation HBase
- Créer une structure de table HBase
- Configuration de l'installation et le démarrage opentsdb
EDITORIAL
Récemment, parce que le projet a besoin de la source d'une part à la lecture opentsdb le dos sera une action sommaire il. Je ne aime pas écrire cet article est installé le déploiement, en prenant en compte l'installation et le déploiement opentsdb pas très sympathique pour le contact initial sont concernés, en plus de la société à faire le test de mes collègues peut être une action pour faciliter leur installation et le déploiement rapide, mis OpenTSDB 2.4 .0 documentation d'installation et le déploiement écrit ici.
Pour ce qui est opentsdb que les applications ne peuvent pas dire ici, s'il vous plaît ne pas comprendre Dites - moi ce réseau http://opentsdb.net/
.
mentionner seulement ici que opentsdb
les données sont stockées dépend du back - end HBase
.
Par conséquent, la procédure d'installation sera divisée en trois étapes (nous pouvons également installer la base de données relationnelle analogie dépendance traditionnelle tels que MySQL comme un logiciel de stockage de données back-end)
Installation HBase (une analogie que nous voulons installer les logiciels traditionnels mysql)
Créer une structure de table (analogie, nous créons la base de données et une table dans une base MySQL)
Configuration d'installation et commencer à opentsdb (analogie appliquer certaines des springboot)
Installation HBase
Si vous avez déjà l' environnement HBase, ignorez cette étape ( la plupart utilisent HBase
un environnement en cluster doit toute utilisation CDH
gestion)
Adresse du site officiel: http://hbase.apache.org/
En fait, le HBase
stockage dépend HDFS
, bien sûr, si juste un test local, peut être utilisé directement 本地文件系统
en place HDFS
, ce qui élimine la nécessité de déployer un HDFS
groupe de
La construction Standalone HBase
, les documents officiels http://hbase.apache.org/book.html#quickstart
, il y a pas à pas, s'il vous plaît lire attentivement
Voici une sorte simple, sur quels domaines clés:
conf/hbase-env.sh
fichier
# The java implementation to use.
export JAVA_HOME=/usr/jdk64/jdk1.8.0_112
conf/hbase-site.xml
fichier
<configuration>
<property>
<!-- hbase实际存放数据地方,这里是本地文件系统,生产环境一般HDFS地址,例如hdfs://namenode.example.org:8020/hbase -->
<name>hbase.rootdir</name>
<value>file:///home/itwild/hbase</value>
</property>
<property>
<!--
指定zookeeper的data目录
目前hbase需要依赖zookeeper,HBase通过Zookeeper来做Master的高可用、RegionServer的监控、元数据的入口以及
集群配置的维护等工作
因为是Standalone,为了降低部署复杂度,启动的时候也会启zookeeper,指定zk data存储目录,实际使用大多用单独的zk集群,一般不使用内置的zk
-->
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/itwild/zookeeper</value>
</property>
</configuration>
Puis exécuter bin/start-hbase.sh
, le lancement réussi de la jps
commande pour voir HMaster
le processus.
En mode autonome, bien que voir est un JVM
exemple du fait Kai HMaster
, HRegionServer
,ZooKeeper
A démarré avec succès, ouvert HBase interface utilisateur Web, http://localhost:16010
Créer une structure de table HBase
L' exécution
bin/hbase shell
entre dans une interface interactive (on peut également exécuter mysql -uXXX -pXXX analogie après l' entrée)- Afin de réaliser une interface interactive où nous avons construit les quatre tableaux suivants (tableau) déclaration
# opentsdb中那些metric数据就存在这张表中
# 这张表数据会很大,考虑到读写效率,我们注意到这张表就一个列族
create 'tsdb',{NAME => 't', VERSIONS => 1, BLOOMFILTER => 'ROW'}
# opentsdb中建立metric name、tagK、tagV字面量与uid一一对应的表
# opentsdb不会存储实际的字符串字面值
# 比如system.cpu.util的metric,会将system.cpu.util转化为id(默认自增,后面介绍部分源码的时候会有讲到)后,存入HBase
# 这张表有id、name两个列族,可通过id找到name,也可以通过name找到id
create 'tsdb-uid',{NAME => 'id', BLOOMFILTER => 'ROW'},{NAME => 'name', BLOOMFILTER => 'ROW'}
# 下面两张表暂时可不必太关心,先创建出来就好
create 'tsdb-tree',{NAME => 't', VERSIONS => 1, BLOOMFILTER => 'ROW'}
create 'tsdb-meta',{NAME => 'name', BLOOMFILTER => 'ROW'}
Note, voici mon intention de déclaration de table de construction 压缩
( en COMPRESSION
option) retirée parce que le stockage à l' aide d' un système de fichiers local, la compression ne peut pas soutenir une partie de l'environnement de production en utilisant HDFS
la construction de la déclaration de table pourrait ressembler à ceci
create 'tsdb',{NAME => 't', VERSIONS => 1, BLOOMFILTER => 'ROW', COMPRESSION => 'SNAPPY'}
create 'tsdb-uid',{NAME => 'id', BLOOMFILTER => 'ROW', COMPRESSION => 'SNAPPY'},{NAME => 'name', BLOOMFILTER => 'ROW', COMPRESSION => 'SNAPPY'}
create 'tsdb-tree',{NAME => 't', VERSIONS => 1, BLOOMFILTER => 'ROW', COMPRESSION => 'SNAPPY'}
create 'tsdb-meta',{NAME => 'name', BLOOMFILTER => 'ROW', COMPRESSION => 'SNAPPY'}
- Dans HBase Shell Execute interface interactive
list
, vous pouvez voir quatre tableaux créés ci - dessus
hbase(main):004:0> list
TABLE
tsdb
tsdb-meta
tsdb-tree
tsdb-uid
Configuration de l'installation et le démarrage opentsdb
Télécharger:https://github.com/OpenTSDB/opentsdb/releases
Ici , centos7
le système, sélectionnez le téléchargement opentsdb-2.4.0.noarch.rpm
package
- exécution
yum -y localinstall opentsdb-2.4.0.noarch.rpm
Si cette erreur d'installation, peut être nécessaire de vi /usr/bin/yum
modifier temporairement la version de parseurs python #!/usr/bin/python2.7
,
après avoir été donné un autre tour du processus d'installation, vous pouvez avoir besoin de vi /usr/libexec/urlgrabber-ext-down
la même modification temporaire de la version de parseurs python#!/usr/bin/python2.7
- Le service opentsdb enregistré en tant que service système qui peut être utilisé
systemctl status/start/stop/restart opentsdb
pour contrôler l'affichage
vi /usr/lib/systemd/system/opentsdb.service
Ajouter ce qui suit
[Unit]
Description=OpenTSDB Service
[Service]
Type=forking
PrivateTmp=yes
ExecStart=/usr/share/opentsdb/etc/init.d/opentsdb start
ExecStop=/usr/share/opentsdb/etc/init.d/opentsdb stop
Restart=on-abort
Ensuite , vous pouvez trouver systemctl status opentsdb
, mais maintenant le service est toujours dead
l'état
Remarque, le répertoire du fichier de configuration par défaut opentsdb: /etc/opentsdb/opentsdb.conf, répertoire opentsdb journal par défaut: / var / log / opentsdb
- Modifier
/etc/opentsdb/opentsdb.conf
le fichier de configuration
tsd.network.port = 4242
tsd.http.staticroot = /usr/share/opentsdb/static/
tsd.http.cachedir = /tmp/opentsdb
tsd.core.auto_create_metrics = true
tsd.core.plugin_path = /usr/share/opentsdb/plugins
# zookeeper的地址,即hbase依赖的zookeeper的地址,192.168.0.1:2181,192.168.0.2:2181,192.168.0.3:2181
tsd.storage.hbase.zk_quorum = localhost:2181
tsd.storage.fix_duplicates = true
tsd.http.request.enable_chunked = true
tsd.http.request.max_chunk = 4096000
tsd.storage.max_tags = 16
# 这里看到了我们上面在hbase中创建的4张表
tsd.storage.hbase.data_table = tsdb
tsd.storage.hbase.uid_table = tsdb-uid
tsd.storage.hbase.tree_table = tsdb-tree
tsd.storage.hbase.meta_table = tsdb-meta
# 下面几个配置项到部分源码解析的时候会有介绍,暂时可以先忽略
tsd.storage.enable_appends = true
tsd.query.skip_unresolved_tagvs = true
hbase.rpc.timeout = 120000
- Début opentsdb,
systemctl start opentsdb
, avec succès, vous pouvez ouvrir le opentsdb d'interfacehttp://localhost:4242/
Jusqu'à présent, au sujet de la opentsdb d'installation et de déploiement est terminée. Je vais combiner opentsdb partie arrière du code source pour partager quelques questions de sondage. Bonne chance!