EDITORIAL
最近のプロジェクトは、バックopentsdb読んで一部は、それが要約共有されるソースする必要があるため。私は助けに何らかのアクションが彼らの迅速なインストールと展開を容易にすることも私の同僚のテストを行うために会社に加えて、懸念している最初の接触のために非常に友好的ではないアカウントにインストールおよび展開opentsdbを取って、この記事では、展開をインストールされて書くことが好きではない、OpenTSDB 2.4置きます0.0インストールとここに書かれた展開のドキュメント。
opentsdbは、アプリケーションがここで言うことができないということです何のために、どのようなネットワークを教えてください理解しないでくださいhttp://opentsdb.net/
。
唯一のことをここで言及opentsdb
格納されたデータは、バックエンドに依存しますHBase
。
そのため、インストール手順は、(我々はまた、このようなバックエンドのデータ・ストレージ・ソフトウェアとしてMySQLのような伝統的な信頼類推リレーショナルデータベースをインストールすることができます)3つのステップに分割されます
インストールHBaseの(私たちは、伝統的なソフトウェアMySQLをインストールしたいの類推)
テーブル構造(我々は、MySQLデータベースとテーブルを作成類推)を作成します
インストール構成とopentsdb開始(アナロジーはspringbootの一部を適用します)
HBaseのインストール
すでにHBaseの環境を持っている場合は、このステップをスキップ(ほとんどが使用HBase
クラスタ環境をすべきすべての使用のCDH
管理)
公式ウェブサイトのアドレス: http://hbase.apache.org/
実際には、HBase
ストレージが依存しているHDFS
もちろん、ちょうど地元のテスト場合は、直接使用することができ、本地文件系统
場所にHDFS
展開する必要がなくなり、HDFS
クラスタを
建物Standalone HBase
、公式文書をhttp://hbase.apache.org/book.html#quickstart
、ステップバイステップがあり、よくお読みください。
どのような重要分野アウトここでは、簡単なソート:
conf/hbase-env.sh
ファイル
# The java implementation to use.
export JAVA_HOME=/usr/jdk64/jdk1.8.0_112
conf/hbase-site.xml
ファイル
<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>
その後、実行bin/start-hbase.sh
、の打ち上げ成功jps
を参照するコマンドをHMaster
プロセスを。
スタンドアロンモードでは、参照があるものの、JVM
実際に甲斐の例HMaster
、HRegionServer
、ZooKeeper
HBaseのウェブUIオープン、正常に起動し、 http://localhost:16010
HBaseの中にテーブル構造を作成します。
実行は、
bin/hbase shell
インタラクティブなインターフェースを(ここでは、我々はまた、入力した後のmysql -uXXX -pXXXアナロジーを実行することができます)に入ります- 私たちは、次の4つのテーブル(表)ステートメントを構築された対話型インタフェースを実行するためには、
# 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'}
注、ここでビルドテーブルステートメントに私の意図がある压缩
(COMPRESSION
ローカルファイルシステムを使用して、ストレージが、圧縮が使用して本番環境の一部をサポートしていない可能性があるので削除)オプションHDFS
table文の構造は次のようになります。
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'}
- HBaseのシェルでは、対話型インタフェースを実行する
list
には、4つのテーブルは、上記で作成した見ることができます
hbase(main):004:0> list
TABLE
tsdb
tsdb-meta
tsdb-tree
tsdb-uid
インストールの設定と開始opentsdb
ダウンロード:https://github.com/OpenTSDB/opentsdb/releases
ここではcentos7
、システムをダウンロード選択しopentsdb-2.4.0.noarch.rpm
たパッケージを
- 実行
yum -y localinstall opentsdb-2.4.0.noarch.rpm
このインストールエラー場合は、する必要がありvi /usr/bin/yum
、一時的にPythonのパーサのバージョンはどのような変更#!/usr/bin/python2.7
、
インストールプロセスを介して別のターンを与えられた後、あなたが必要になることがありvi /usr/libexec/urlgrabber-ext-down
、Pythonのパーサのバージョンを同じ一時的な変更を#!/usr/bin/python2.7
- 使用することができるシステムサービスとして登録さopentsdbサービス
systemctl status/start/stop/restart opentsdb
ビューを制御します
vi /usr/lib/systemd/system/opentsdb.service
次の行を追加します。
[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
そして、あなたは見つけることができますsystemctl status opentsdb
が、今のサービスがまだあるdead
状態
注、opentsdbデフォルトの設定ファイルのディレクトリ:/etc/opentsdb/opentsdb.conf、opentsdbデフォルトのログディレクトリ:は/ var / log / opentsdb
- 変更する
/etc/opentsdb/opentsdb.conf
設定ファイルを
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
- スタートopentsdb、
systemctl start opentsdb
成功、あなたはインターフェイスopentsdbを開くことができますhttp://localhost:4242/
これまでのところ、インストールと展開のopentsdbについて完了です。私はいくつかのプロービングの質問を共有するために、ソースコードのopentsdb背面部分を結合します。幸運!