开源时序数据库OpenTSDB2.4.1在CentOS7上的安装

简介: 开源时序数据库OpenTSDB2.4.1在CentOS7上的安装

背景


OpenTSDB 是一种采用 Java 实现,底层基于 HBase 列式存储与查询的分布式、可伸缩、开源的时间序列数据库。


image.png


系统环境


CentOS7 上进行安装,虚拟主机信息如下:

[root@hadoop6 local]# uname -a
Linux hadoop6 3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
[root@hadoop6 local]# cat /proc/version
Linux version 3.10.0-1127.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) ) #1 SMP Tue Mar 31 23:36:51 UTC 2020
[root@hadoop6 local]# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)


安装前提


因为 OpenTSDB 底层基于 HBase 列式存储实现,所以需要依赖 HBase 。我这里使用已有的大数据环境,这里涉及到的组件有:


  • Hadoop3.3.0
  • HBase2.3.0
  • ZooKeeper


先配置启动Hadoop


[root@hadoop6 ~]# cd /usr/local/hadoop
# 启动Hadoop
[root@hadoop6 hadoop]# ./sbin/start-all.sh
# jps可以看到除了Hadoop的5个服务进程:NameNode、SecondaryNameNode、ResourceManager、NodeManager、DataNode
[root@hadoop6 hadoop]# jps
5696 NameNode
6193 SecondaryNameNode
7208 Jps
6541 ResourceManager
6717 NodeManager
5934 DataNode

访问: http://hadoop6:50070/ ,进入 Hadoop 后台管理页面。

image.png


再配置启动HBase


[root@hadoop6 ~]# cd /usr/local/hbase
[root@hadoop6 hbase]# vi ./conf/hbase-site.xml
# 启动HBase
[root@hadoop6 hbase]# ./bin/start-hbase.sh
# jps可以看到除了Hadoop的5个服务外多了3个H开头的进程:HRegionServer、HMaster以及HQuorumPeer
[root@hadoop6 hbase]# jps
5696 NameNode
68673 HRegionServer
6193 SecondaryNameNode
68277 HQuorumPeer
68429 HMaster
6541 ResourceManager
6717 NodeManager
68988 Jps
5934 DataNode

访问: http://hadoop6:16010/ ,进入 HBase 后台管理页面。

image.png


最后验证ZooKeeper


# 报错
[root@hadoop6 hbase]# telnet localhost 2181
-bash: telnet: 未找到命令
# 查看是否安装了telnet-server服务
[root@hadoop6 hbase]# rpm -qa telnet-server
# 若没有安装,则先安装telnet-server服务
[root@hadoop6 hbase]# yum install telnet-server
# 再安装telnet
[root@hadoop6 hbase]# yum install telnet
# 再次测试连接ZooKeeper,成功
[root@hadoop6 hbase]# telnet localhost 2181
Trying ::1%1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.

至此,依赖环境搭建完毕~

Note:记得关闭防火墙或者放行对应端口即可。

# 关闭防火墙
[root@hadoop6 ~]# systemctl stop firewalld.service


下载安装启动OpenTSDB


[root@hadoop6 local]# wget https://github.com/OpenTSDB/opentsdb/releases/download/v2.4.1/opentsdb-2.4.1-1-20210902183110-root.noarch.rpm
[root@hadoop6 local]# yum localinstall opentsdb-2.4.1-1-20210902183110-root.noarch.rpm

Note:安装完成后的目录说明如下:

- /etc/opentsdb - Configuration files,配置文件,你懂的,这是一个关键的地方,eg:ZK配置
- /tmp/opentsdb - Temporary cache files,临时文件
- /usr/share/opentsdb - Application files,应用文件
- /usr/share/opentsdb/bin - The “tsdb” startup script that launches a TSD or command line tools,可执行脚本
- /usr/share/opentsdb/lib - Java JAR library files,依赖库
- /usr/share/opentsdb/plugins - Location for plugin files and dependencies,插件
- /usr/share/opentsdb/static - Static files for the GUI,Web页面静态资源
- /usr/share/opentsdb/tools - Scripts and other tools,工具
- /var/log/opentsdb - Logs,日志


在HBase中建表


# 执行建表命令
[root@hadoop6 local]# env COMPRESSION=NONE HBASE_HOME=/usr/local/hbase /usr/share/opentsdb/tools/create_table.sh
[root@hadoop6 local]# hbase shell
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/hbase/lib/client-facing-thirdparty/slf4j-log4j12-1.7.30.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
HBase Shell
Use "help" to get list of supported commands.
Use "exit" to quit this interactive shell.
For Reference, please visit: http://hbase.apache.org/2.0/book.html#shell
Version 2.3.0, re0e1382705c59d3fb3ad8f5bff720a9dc7120fb8, Mon Jul  6 22:27:43 UTC 2020
Took 0.0017 seconds
# list命令验证是否建表成功                  
hbase(main):001:0> list
TABLE
tsdb 
tsdb-meta                            
tsdb-tree                            
tsdb-uid
4 row(s)
Took 0.5124 seconds                  
=> ["tsdb", "tsdb-meta", "tsdb-tree", "tsdb-uid"]
hbase(main):002:0>

当然,也可以在 HBase 后台管理页面看到刚建的4张表。

image.png


启动OpenTSDB服务


万事俱备,让我们启动 OpenTSDB 服务吧。

# 显然,opentsdb未安装到系统服务,可参考https://github.com/OpenTSDB/opentsdb/blob/master/build-aux/rpm/systemd/opentsdb.service进行配置
[root@hadoop6 ~]# systemctl start opentsdb
Failed to start opentsdb.service: Unit not found.
# 直接到安装的目录启动opentsdb服务
[root@hadoop6 ~]# /usr/share/opentsdb/etc/init.d/opentsdb start
Starting opentsdb:                                         [  确定  ]
# opentsdb毕竟是Java服务,jps可以看到多了:Main、TSDMain两个进程
[root@hadoop6 opentsdb]# jps
37584 Main
27761 HRegionServer
27525 HMaster
25174 DataNode
85207 TSDMain
25479 SecondaryNameNode
26153 NodeManager
27369 HQuorumPeer
24942 NameNode
25902 ResourceManager
11246 Jps


验证OpenTSDB服务状态


[root@hadoop6 opentsdb]# /usr/share/opentsdb/etc/init.d/opentsdb status
opentsdb 已死,但 pid 文件存在
[root@hadoop6 opentsdb]# tailf /var/log/opentsdb/opentsdb-hadoop6-opentsdb.err 
/usr/bin/tsdb: 第 117 行:exec: java: 未找到
[root@hadoop6 opentsdb]# java -version
java version "1.8.0_261"
Java(TM) SE Runtime Environment (build 1.8.0_261-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)
[root@hadoop6 opentsdb]# echo $JAVA_HOME
/usr/local/jdk
[root@hadoop6 opentsdb]# ln -s /usr/local/jdk/bin/java /usr/bin/java
[root@hadoop6 opentsdb]# /usr/share/opentsdb/etc/init.d/opentsdb start
Starting opentsdb:                                         [  确定  ]
[root@hadoop6 opentsdb]# /usr/share/opentsdb/etc/init.d/opentsdb status
opentsdb (pid  85207) 正在运行...

打完收工~~

访问: http://hadoop6:4242/ ,默认进入到图表页面。

image.png

另外,还可以查看关键指标统计、运行日志与版本信息。

image.png


小总结


总体来说,使用 OpenTSDB 作为时序数据的存储架构涉及的组件过多,这样带来的问题就是整体架构相对比较脆弱;另外是运维复杂,需要维护一套大数据的基础组件,尤其是进行分布式部署的时候,这种天然的缺陷(依赖 HadoopHBase )更是暴露无遗。当然,可研究下源码,体会下时序数据库的设计原理还是不错的。




目录
相关文章
|
5月前
|
存储 Ubuntu Linux
VMware-安装CentOS系统教程及安装包
虚拟机相当于是一个独立于你电脑的环境,在这个环境上面,你可以安装Linux、Windows、Ubuntu等各个类型各个版本的系统,在这个系统里面你不用担心有病读等,不用担心文件误删导致系统崩溃。 虚拟机也和正常的电脑系统是一样的,也可以开关机,不用的时候,你关机就可以了,也不会占用你的系统资源,使用起来还是比较方便 这里也有已经做好的CentOS 7系统,下载下来解压后直接用VMware打开就可以使用
1050 69
|
4月前
|
存储 分布式计算 Linux
安装篇--CentOS 7 虚拟机安装
VMware 装 CentOS 7 不知道从哪下手?这篇超详细图文教程手把手教你在 VMware Workstation 中完成 CentOS 7 桌面系统的完整安装流程。从 ISO 镜像下载、虚拟机配置,到安装图形界面、设置用户密码,每一步都有截图讲解,适合零基础新手快速上手。装好之后无论你是要搭 Hadoop 集群,还是练 Linux ,这个环境都够你折腾一整天!
1633 2
|
5月前
|
Ubuntu Linux 索引
Centos 7、Debian及Ubuntu系统中安装和验证tree命令的指南。
通过上述步骤,我们可以在CentOS 7、Debian和Ubuntu系统中安装并验证 `tree`命令。在命令行界面中执行安装命令,然后通过版本检查确认安装成功。这保证了在多个平台上 `tree`命令的一致性和可用性,使得用户无论在哪种Linux发行版上都能使用此工具浏览目录结构。
457 78
|
6月前
|
Linux 网络安全 Apache
针对在Centos/Linux安装Apache过程中出现的常见问题集锦
以上每个问题的解决方案应深入分析错误日志、系统消息和各种配置文件,以找到根本原因并加以解决。务必保持系统和Apache软件包更新到最新版本,以修复已知的bugs和安全漏洞。安装和管理Web服务器是一项需要细致关注和不断学习的任务。随着技术的发展,推荐定期查看官方文档和社区论坛,以保持知识的更新。
271 80
|
4月前
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
738 16
|
4月前
|
Ubuntu 安全 关系型数据库
安装与配置MySQL 8 on Ubuntu,包括权限授予、数据库备份及远程连接指南
以上步骤提供了在Ubuntu上从头开始设置、配置、授权、备份及恢复一个基础但完整的MySQL环境所需知识点。
491 7
|
5月前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
441 10
|
6月前
|
人工智能 数据挖掘 Linux
Centos安装Python3.7(亲测可用)
本指南详细介绍了在基于Linux(以CentOS系统为例,使用yum包管理器)的系统上安装Python 3.7版本的完整流程。Python是一种广泛使用的高级编程语言,在各种领域如软件开发、数据分析、人工智能和区块链开发等都有着重要的应用。
589 2
|
5月前
|
运维 网络协议 Linux
CentOS下Bind服务的安装与故障排查
通过以上的步骤,您应该能够在CentOS系统上安装并配置BIND DNS服务,并进行基本的故障排查。
471 0
|
5月前
|
存储 Ubuntu Linux
安卓手机免root安装各种Linux系统:Ubuntu, Centos,Kali等
此外还可以安装Slackware、Archstrike等系统,还可以通过github查找方法安装更多有趣的东西。 昨日小编就是通过Termux安装的Kali Linux工具包。