1. 安装JDK
2. 安装HBASE
安装单机版hbase
hbase官方文档中的安装步骤,首先下载hbase的安装镜像,官方地址下载较慢,可以从国内地址下载:https://mirrors.ustc.edu.cn/apache/hbase/,注意下载的是bin.tar.gz,而不是src.tar.gz,前者是已经编译好可直接运行,后者是一系列源码文件,需要自己编译。
1.下载后用以下命令解压
tar -xzvf hbase-2.2.0-bin.tar.gz
2.进入解压后的文件夹,对 conf/hbase-env.sh 进行编辑,主要对下面两条进行配置。
#机器上的jdk路径,若不清楚可使用 whereis java来查看
export JAVA_HOME=/usr/local/env/jdk1.8.0_211
#使用hbase自带的zookeerper,这里必须进行配置,因为opentsdb是通过zookeeper连接hbase
export HBASE_MANAGES_ZK=true
对 conf/hbase-site.xml 文件进行配置,将 <configuration>里面的内容拷贝到文件相应位置即可。
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///home/testuser/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/testuser/zookeeper</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
</configuration>
3.使用 bin/start-hbase.sh 脚本启动hbase即可。当正常启动之后,可以访问http://localhost:16010,也就是hbase的web ui。
3. 安装GnuPlot
sudo yum install gnuplot
4安装OpenTSDB
下载OpenTSDB并解压
wget https://github.com/OpenTSDB/opentsdb/releases/download/v2.4.0/opentsdb-2.4.0.tar.gz
tar zxvf opentsdb-2.4.0.tar.gz -C ~/
cd opentsdb-2.4.0
编译安装
mkdir build
cp -r ./third_party/ ./build/
./build.sh
在编译过程中如果按照官方文档直接执行 ./build.sh,可能会报Error:Could not find or load main class javacc ,可以将OpenTSDB目录下的 third_party 复制到的手动创建的build目录下来避免编译报错
执行成功后会在build目录下生成tsdb-2.4.0.jar 和 tsdb
在HBASE中创建OpenTSDB相关表
#修改create_table.sh,去掉 TTL => '$TSDB_TTL,防止在hbase中建表失败
vim src/create_table.sh
1
2
52 create '$TSDB_TABLE',
53 {NAME => 't', VERSIONS => 1, COMPRESSION => '$COMPRESSION', BLOOMFILTER => '$BLOOMFILTER', DATA_BLOCK_ENCODING => '$DATA_BLOCK_ENCODING', TTL => '$TSDB_TTL'}
1
2
env COMPRESSION=NONE HBASE_HOME=/opt/cloudera/parcels/CDH-5.11.1-1.cdh5.11.1.p0.4/lib/hbase ./src/create_table.sh
1
最好按照实际情况设置COMPRESSION格式,可选项有NONE, LZO, GZIP or SNAPPY。设置压缩格式可以降低存储空间,提升数据传输效率。
设置opentsdb.conf
cp -r ./src/opentsdb.conf ./
vim opentsdb.conf
1
2
tsd.network.port = 4242
tsd.http.staticroot = build/staticroot
tsd.http.cachedir = tsd
tsd.http.request.enable_chunked = true
tsd.http.request.max_chunk = 65535
tsd.core.auto_create_metrics = true
tsd.storage.enable_appends = true
tsd.storage.enable_compaction = false
1
2
3
4
5
6
7
8
mkdir ./tsd
1
注:tsd.http.staticroot建议设置为OpenTSDB目录下的 build/staticroot,否则可能不会正常显示OpenTSDB监控页面
启动OpenTSDB
cat <<-EOF > start.sh
#!/bin/bash
nohup build/tsdb tsd --config=opentsdb.conf >/dev/null 2>&1 &
EOF
chmod u+x start.sh
./start.sh
1
2
3
4
5
6
7
8
如果启动时报exec:java:not found,则需要在 /usr/bin/中设置java
sudo ln -s /usr/java/jdk1.8.0_102/bin/java /usr/bin/java
sudo ln -s /usr/java/jdk1.8.0_102/bin/javac /usr/bin/javac
1
2
访问页面
http://39.100.144.148:4242/
写数据(Linux命令行)
使用http API向OpenTSDB中写数据,测试OpenTSDB是否正常工作
curl -i -X POST -d '{"metric":"test.cpu","timestamp":1561522343,"value":7,"tags":{"host":"node02"}}' http://localhost:4242/api/put?details
来源:oschina
链接:https://my.oschina.net/yuhangyes/blog/3165928