InfluxDB入门指南一安装软件

一、InfluxDB 简介

InfluxDB 是采用Golang编写的一款时间序列数据库,负责高效处理实时数据。关于时序数据库已经在监控系统入门中已经进行了介绍,这里不再赘述。目前市面上比较流行的时序数据库还有Open TSDB(Hbase)、Prometheus等。他们都有自己的适用场景,在做技术选型的时候需要结合业务需求进行选择。

InfluxDB入门指南一安装软件_第1张图片
influxdb.png

这里多提一句,目前官方InfluxData免费提供单机版,但是对于集群版需要收费,集群版会提供负载均衡、数据同步等集群高可用的功能。线上生产环境如需大规模使用,还是比较推荐使用集群版来保证高可用的。

特色功能

  • 基于时间序列,支持与时间有关的相关函数
  • 可度量性:实时对大量数据进行计算
  • 基于事件:它支持任意的事件数据(个人暂时不是很理解这个特性,如有清楚的可以留言交流)

主要特点

  • 无结构(无模式):可以是任意数量的列
  • 支持min, max, sum, count, mean, median 等一系列函数,方便统计
  • 原生的HTTP支持,内置HTTP API
  • 强大的类SQL语法
  • 自带管理界面,也方便与Grafana等整合进行图表展示
InfluxDB入门指南一安装软件_第2张图片
influxdb web管理页面.png

备注:关于InfluxDB 和Grafana整合的详细内容可以参考:InfluxDB 和Grafana整合,后序本人也会尝试整理,目前就留个资料吧。

二、influxDB安装

工欲善其事,必先利其器。想要使用这一神兵利器,得先学会怎么安装部署influxDB。

软件下载与安装

截止到2018年10月,最新版为1.63版本。

截止到2018年11月,最新版本为1.7.0.版本,

以下只有Ubuntu & Debian本人亲自验证过,其他内容来源于网上,读者可以自行校验,不保证一定可用。

OS X

brew update
brew install influxdb

Docker Image

docker pull influxdb

Ubuntu & Debian

wget https://dl.influxdata.com/influxdb/releases/influxdb_1.7.0_amd64.deb
sudo dpkg -i influxdb_1.7.0_amd64.deb

RedHat & CentOS

wget https://dl.influxdata.com/influxdb/releases/influxdb-1.6.3.x86_64.rpm
sudo yum localinstall influxdb-1.6.3.x86_64.rpm


wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.0.x86_64.rpm
sudo yum localinstall influxdb-1.7.0.x86_64.rpm

Standalone Windows Binaries (64-bit)

wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.0_windows_amd64.zip
unzip influxdb-1.7.0_windows_amd64.zip

Standalone Linux Binaries (64-bit)

wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.0_linux_amd64.tar.gz
tar xvfz influxdb-1.7.0_linux_amd64.tar.gz

Standalone Linux Binaries (32-bit)

wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.0_linux_i386.tar.gz
tar xvfz influxdb-1.7.0_linux_i386.tar.gz

Standalone Linux Binaries (ARM)

wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.0_linux_armhf.tar.gz
tar xvfz influxdb-1.7.0_linux_armhf.tar.gz

配置文件

配置文件位置:

/etc/influxdb/influxdb.conf

在配置文件中,可以修改InfluxDB的缓存大小等参数。

三、InfluxDB启动

3.1 服务端启动

如果是通过包安装的,可以使用如下语句启动:

sudo service influxdb start

如果直接下载的二进制包,则通过如下方式启动

编写如下脚本influxdb_start.sh

#!/bin/bash
/usr/bin/influxd &

运行上述脚本:

chmod 777 influxdb_start.sh
sh influxdb_start.sh

这样就以后台运行的方式启动了influxdb的服务端。

3.2 客户端启动

/usr/bin里执行influx即可登入Influx服务器:

/usr/bin/influx

可以将路径加入环境变量中,这样既可在任意地方使用influx。

InfluxDB自带web管理界面,在浏览器中输入http://服务器IP:8083 即可进入web管理页面。

熟悉基本操作

root@iZbp1bx0xi202s8uyn62h9Z:/home/louxj424/download# /usr/bin/influx
Connected to http://localhost:8086 version 1.7.0
InfluxDB shell version: 1.7.0
Enter an InfluxQL query
> show databases;
name: databases
name
----
_internal
> create database test;
> create retention policy "default_policy" on "test" duration 90d replication 2 default;
> use test;
Using database test
> show retention policies;
name           duration  shardGroupDuration replicaN default
----           --------  ------------------ -------- -------
autogen        0s        168h0m0s           1        false
default_policy 2160h0m0s 24h0m0s            2        true
> insert cpu,uuid=12345,projectId=23455d usr=23,idle=12
> select * from cpu;
name: cpu
time                idle projectId usr uuid
----                ---- --------- --- ----
1554722072182012788 12   23455d    23  12345
> insert cpu,uuid=12345,projectId=2s2d usr=12,idle=23,sys=11
> select mean(idle) from cpu group by projectId;
name: cpu
tags: projectId=23455d
time mean
---- ----
0    12

name: cpu
tags: projectId=2s2d
time mean
---- ----
0    23
> precision rfc3339
> select mean(idle) from cpu group by projectId;
name: cpu
tags: projectId=23455d
time                 mean
----                 ----
1970-01-01T00:00:00Z 12

name: cpu
tags: projectId=2s2d
time                 mean
----                 ----
1970-01-01T00:00:00Z 23
> drop database test

客户端工具

如果你是windows系统用户,那么这里有福利了,推荐一个在Windows平台下的开源数据库管理工具InfluxDBStudio,帮你简化查询数据库的步骤,提高工作效率。

软件下载

软件下载可以从这里点进去正式版本发布地址

软件的详细的使用说明可以参考参考资料3.

软件使用

这里简单给两张截图,大家感受一下:

  1. 创建连接
InfluxDB入门指南一安装软件_第3张图片
influxDB创建连接.jpg
  1. 查询数据
InfluxDB入门指南一安装软件_第4张图片
influxDB Query.jpg

使用感受

InfluxDBStudio支持删除数据库,删除表,导出数据等功能,目前该工具还在开发中,可能跟成熟的Oracle工具PLSQL或Mysql的Navicat等工具还有一些差距,但可以满足在Windows环境上对InfluxDB的常规操作了,刚接触InfluxDB的开发者,可以用此体验。

目前使用看来,还算流畅,只在查询全表千万条数据的时候,没有分页功能,会导致卡顿,所以大表查询,推荐用limit 1000语句加以限制,防止卡死。

参考资料

  1. influxDB官网
  2. InfluxDB学习之InfluxDB的安装和简介
  3. InfluxDBStudio项目地址
  4. linux将指令加入开机启动或加入环境变量

你可能感兴趣的:(InfluxDB入门指南一安装软件)