- InfluxDB原理與實戰(zhàn)
- 韓健
- 2849字
- 2020-04-30 17:41:09
2.1 InfluxDB在各環(huán)境下的安裝部署
目前,InfluxDB支持在多個主流系統(tǒng)環(huán)境下的安裝部署,如常用的UNIX/Linux、Mac OS和MS Windows環(huán)境等。本書主要以InfluxDB-v1.7.8這個最新的穩(wěn)定版本為例來介紹。
在安裝InfluxDB前還需要注意以下4點:
?安裝時需要使用root或管理員權(quán)限。
?默認(rèn)情況下,InfluxDB服務(wù)監(jiān)聽了兩個端口:8086和8088。其中,8086端口是InfluxDB服務(wù)端HTTP RESTful API接入服務(wù)的監(jiān)聽端口,8088端口是RPC服務(wù)的監(jiān)聽端口,主要用于數(shù)據(jù)的備份與還原等。除了這些端口外,InfluxDB還集成了第三方插件的服務(wù)監(jiān)聽端口,所有端口都可以通過InfluxDB配置文件進(jìn)行修改,默認(rèn)情況下,該文件位于/etc/influxdb/influxdb.conf下。
?InfluxDB使用本地的UTC時間作為數(shù)據(jù)的時間戳。如果時間出現(xiàn)異常,數(shù)據(jù)的時間戳也會發(fā)生錯誤,所以,需要提前配置NTP(Network Time Protocol,網(wǎng)絡(luò)時間協(xié)議)服務(wù),同步主機(jī)時間。
?InfluxDB服務(wù)啟動后,要確認(rèn)防火墻(Iptables)是否已經(jīng)開通了本機(jī)8086端口和8088端口的訪問權(quán)限,確認(rèn)方法如代碼清單2-1所示。
代碼清單2-1 確認(rèn)防火墻是否已經(jīng)開通了8086和8088的端口訪問
$ sudo iptables -L -nv --line | grep 8086 $ sudo iptables -L -nv --line | grep 8088
在防火墻默認(rèn)開啟的情況下,以上命令如果未grep到8086端口和8088端口,就需要增加防火墻的授權(quán)策略,開啟本機(jī)8086和8088的端口訪問,iptables命令如代碼清單2-2所示。
代碼清單2-2 開啟8086和8088端口訪問
$ sudo iptables -I INPUT 1-p tcp --dport 8086-j ACCEPT $ sudo iptables -I INPUT 1-p tcp --dport 8088-j ACCEPT
下面我們開始學(xué)習(xí)各環(huán)境下InfluxDB的安裝部署。
2.1.1 RedHat & CentOS環(huán)境
在RedHat & CentOS環(huán)境下,官方提供了兩種方式來安裝InfluxDB:通過rpm軟件包安裝InfluxDB和通過yum軟件包管理器安裝InfluxDB。
1.通過rpm軟件包安裝
我們可以通過官方提供的rpm軟件包在RedHat & CentOS系統(tǒng)中安裝InfluxDB,首先使用wget命令下載最新穩(wěn)定版的InfluxDB軟件包,如代碼清單2-3所示。
代碼清單2-3 下載InfluxDB rpm軟件包
$ wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.8.x86_64.rpm
然后,使用yum命令安裝InfluxDB rpm軟件包,如代碼清單2-4所示。
代碼清單2-4 通過yum命令安裝InfluxDB rpm軟件包
$ sudo yum localinstall influxdb-1.7.8.x86_64.rpm
通過sudo service命令啟動InfluxDB服務(wù),如代碼清單2-5所示。
代碼清單2-5 啟動InfluxDB服務(wù)
$ sudo service influxdb start
如果你的操作系統(tǒng)使用的是Systemd(CentOS 7 +、RHEL 7+),則使用systemctl命令啟動InfluxDB服務(wù),如代碼清單2-6所示。
代碼清單2-6 通過systemctl命令啟動InfluxDB服務(wù)
$ sudo systemctl start influxdb
2.通過yum軟件包管理器安裝
RedHat和CentOS用戶可以使用yum軟件包管理器安裝最新穩(wěn)定版本的InfluxDB。
首先將InfluxData軟件源分別添加到RedHat和CentOS系統(tǒng)中,如代碼清單2-7所示。
代碼清單2-7 添加InfluxData軟件源倉庫
cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo [influxdb] name = InfluxDB Repository - RHEL \$releasever baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable enabled = 1 gpgcheck = 1 gpgkey = https://repos.influxdata.com/influxdb.key EOF
然后通過運(yùn)行yum命令和service命令安裝并啟動InfluxDB服務(wù),如代碼清單2-8所示。
代碼清單2-8 安裝并啟動InfluxDB服務(wù)
$ sudo yum install influxdb $ sudo service influxdb start
如果你的操作系統(tǒng)使用的是Systemd(CentOS 7 +、RHEL 7+),則使用systemctl命令啟動InfluxDB服務(wù),如代碼清單2-9所示。
代碼清單2-9 安裝并通過systemctl命令啟動InfluxDB服務(wù)
$ sudo yum install influxdb $ sudo systemctl start influxdb
2.1.2 Ubuntu & Debian環(huán)境
在Ubuntu & Debian環(huán)境下,官方提供了兩種方式來安裝InfluxDB:通過deb軟件包安裝InfluxDB和通過apt-get軟件包管理器安裝InfluxDB。
1.通過deb軟件包安裝
我們可以通過官方提供的deb軟件包在Ubuntu & Debian系統(tǒng)中安裝InfluxDB,首先使用wget命令下載最新穩(wěn)定版本的InfluxDB軟件包,如代碼清單2-10所示。
代碼清單2-10 下載InfluxDB deb軟件包
$ wget https://dl.influxdata.com/influxdb/releases/influxdb_1.7.8_amd64.deb
然后使用dpkg命令安裝InfluxDB deb軟件包,如代碼清單2-11所示。
代碼清單2-11 通過dpkg命令安裝InfluxDB deb軟件包
$ sudo dpkg -i influxdb_1.7.8_amd64.deb
通過sudo service命令來啟動InfluxDB服務(wù),如代碼清單2-12所示。
代碼清單2-12 啟動InfluxDB服務(wù)
$ sudo service influxdb start
如果你的操作系統(tǒng)使用的是Systemd(Ubuntu 15.04 +、Debian 8+),則使用systemctl命令啟動InfluxDB服務(wù),如代碼清單2-13所示。
代碼清單2-13 通過systemctl命令啟動InfluxDB服務(wù)
$ sudo systemctl start influxdb
2.通過apt-get軟件包管理器安裝
Ubuntu和Debian用戶可以使用apt-get軟件包管理器安裝最新穩(wěn)定版本的InfluxDB。
首先將InfluxData軟件源分別添加到Ubuntu和Debian系統(tǒng)中。在Ubuntu系統(tǒng)上,使用以下命令添加InfluxData軟件源倉庫,如代碼清單2-14所示。
代碼清單2-14 在Ubuntu系統(tǒng)上添加InfluxData軟件源倉庫
wget -qO- https://repos.influxdata.com/influxdb.key | sudo apt-key add - source /etc/lsb-release echo "deb https://repos.influxdata.com/${DISTRIB_ID, , } ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
在Debian系統(tǒng)上,使用以下命令添加InfluxData軟件源倉庫,如代碼清單2-15所示。
代碼清單2-15 在Debian系統(tǒng)上添加InfluxData軟件源倉庫
wget -qO- https://repos.influxdata.com/influxdb.key | sudo apt-key add - source /etc/os-release test $VERSION_ID = "7" && echo "deb https://repos.influxdata.com/debian wheezy stable" | sudo tee /etc/apt/sources.list.d/influxdb.list test $VERSION_ID = "8" && echo "deb https://repos.influxdata.com/debian jessie stable" | sudo tee /etc/apt/sources.list.d/influxdb.list test $VERSION_ID = "9" && echo "deb https://repos.influxdata.com/debian stretch stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
然后通過apt-get命令和service命令安裝并啟動InfluxDB服務(wù),如代碼清單2-16所示。
代碼清單2-16 安裝并啟動InfluxDB服務(wù)
$ sudo apt-get update && sudo apt-get install influxdb $ sudo service influxdb start
如果你的操作系統(tǒng)使用的是Systemd(Ubuntu 15.04 +、Debian 8+),則使用systemctl命令啟動InfluxDB服務(wù),如代碼清單2-17所示。
代碼清單2-17 安裝并通過systemctl命令啟動InfluxDB服務(wù)
$ sudo apt-get update && sudo apt-get install influxdb $ sudo systemctl unmask influxdb.service $ sudo systemctl start influxdb
2.1.3 Mac OS & OS X環(huán)境
在Mac OS & OS X環(huán)境下,官方提供了兩種方式來安裝InfluxDB:通過二進(jìn)制軟件包安裝InfluxDB和通過brew安裝InfluxDB。
1.通過二進(jìn)制軟件包安裝
首先從InfluxData官網(wǎng)上下載最新穩(wěn)定版本的InfluxDB Darwin軟件包,如代碼清單2-18所示。
代碼清單2-18 下載InfluxDB Darwin軟件包
$ wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.8_darwin_amd64.tar.gz
然后解壓縮InfluxDB Darwin軟件包,如代碼清單2-19所示。
代碼清單2-19 解壓縮InfluxDB Darwin軟件包
$ tar -xvzf influxdb-1.7.8_darwin_amd64.tar.gz
啟動InfluxDB服務(wù),如代碼清單2-20所示。
代碼清單2-20 啟動InfluxDB服務(wù)
$ cd ./influxdb-1.7.8-1/usr/bin/ $ ./influxd -config ../../etc/influxdb/influxdb.conf
2.通過brew安裝
通過brew來安裝InfluxDB。brew是Mac OS系統(tǒng)中一個類似于yum的包管理工具。
首先來安裝brew,如代碼清單2-21所示。
代碼清單2-21 安裝brew
$/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
通過brew命令來安裝InfluxDB,如代碼清單2-22所示。
代碼清單2-22 安裝InfluxDB
$ brew update $ brew install influxdb
然后配置InfluxDB服務(wù)開機(jī)默認(rèn)啟動,如代碼清單2-23所示。
代碼清單2-23 配置InfluxDB服務(wù)開機(jī)默認(rèn)啟動
$ ln -sfv /usr/local/opt/influxdb/*.plist ~/Library/LaunchAgents
通過launchctl命令立即啟動InfluxDB服務(wù),如代碼清單2-24所示。
代碼清單2-24 啟動InfluxDB服務(wù)
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.influxdb.plist
或者不使用launchctl命令,通過手動執(zhí)行influxd命令啟動InfluxDB服務(wù),如代碼清單2-25所示。
代碼清單2-25 手動啟動InfluxDB服務(wù)
$ influxd -config /usr/local/etc/influxdb.conf
2.1.4 MS Windows環(huán)境
我們可以通過官方提供的MS Windows軟件包安裝InfluxDB,首先從瀏覽器下載最新穩(wěn)定版本的InfluxDB軟件包,下載地址如代碼清單2-26所示。
代碼清單2-26 InfluxDB MS Windows軟件包下載地址
https://dl.influxdata.com/influxdb/releases/influxdb-1.7.8_windows_amd64.zip
下載后解壓縮Unzip influxdb-1.7.8_windows_amd64.zip,如圖2-1所示。

圖2-1 MS Windows版本InfluxDB軟件包內(nèi)容
可以雙擊influxd.exe文件來啟動InfluxDB MS Windows版本進(jìn)程,如圖2-2所示。

圖2-2 啟動InfluxDB進(jìn)程
InfluxDB啟動后,可以在cmd中執(zhí)行“netstat -an”系統(tǒng)命令,查看是否有8086端口存在,如果存在,則說明InfluxDB啟動成功,如圖2-3所示。

圖2-3 通過netstat命令查看Windows監(jiān)聽的端口
2.1.5 二進(jìn)制軟件包安裝
官方提供了多種InfluxDB二進(jìn)制軟件包,分別為X64、X64(static)、X86和ARM環(huán)境。讀者可以根據(jù)自己的實際情況來選擇合適的二進(jìn)制軟件包進(jìn)行安裝。二進(jìn)制軟件包安裝比較適合企業(yè)內(nèi)網(wǎng)無法與互聯(lián)網(wǎng)通信的情況,我們可以通過一臺中轉(zhuǎn)服務(wù)器將多種二進(jìn)制軟件包下載到本機(jī),再傳輸?shù)絻?nèi)網(wǎng)中不同類型的服務(wù)器上完成安裝。
以Linux Binaries(64-bit)為例。首先使用wget命令從InfluxData官網(wǎng)下載最新穩(wěn)定版本的InfluxDB Linux二進(jìn)制軟件包,如代碼清單2-27所示。
代碼清單2-27 下載InfluxDB Linux二進(jìn)制軟件包
$ wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.8_linux_amd64. tar.gz
然后解壓縮InfluxDB Linux二進(jìn)制軟件包,如代碼清單2-28所示。
代碼清單2-28 解壓縮InfluxDB Linux二進(jìn)制軟件包
$ tar -xvzf influxdb-1.7.8_linux_amd64.tar.gz
解壓后目錄結(jié)構(gòu)如代碼清單2-29所示,從中我們可以看到所有的二進(jìn)制程序、配置文件、庫文件和幫助文檔都在一個根目錄下,非常便于發(fā)布和安裝使用。
代碼清單2-29 InfluxDB Linux二進(jìn)制軟件包解壓后的目錄結(jié)構(gòu)
$ tree influxdb-1.7.8-1/ influxdb-1.7.8-1/ ├—— etc | ├—— influxdb | | └—— influxdb.conf | └—— logrotate.d | └—— influxdb ├—— usr | ├—— bin | | ├—— influx | | ├—— influxd | | ├—— influx_inspect | | ├—— influx_stress | | └—— influx_tsm | ├—— lib | | └—— influxdb | | └—— scripts | | ├—— influxdb.service | | └—— init.sh | └—— share | └—— man | └—— man1 | ├—— influx.1.gz | ├—— influxd.1.gz | ├—— influxd-backup.1.gz | ├—— influxd-config.1.gz | ├—— influxd-restore.1.gz | ├—— influxd-run.1.gz | ├—— influxd-version.1.gz | ├—— influx_inspect.1.gz | ├—— influx_stress.1.gz | └—— influx_tsm.1.gz └—— var ├—— lib | └—— influxdb └—— log └—— influxdb
進(jìn)入influxdb-1.7.8-1的usr/bin目錄后手動啟動InfluxDB服務(wù),如代碼清單2-30所示。
代碼清單2-30 啟動InfluxDB服務(wù)
$ sudo nohup ./influxd --config ../../etc/influxdb/influxdb.conf &
- ETL數(shù)據(jù)整合與處理(Kettle)
- 有趣的二進(jìn)制:軟件安全與逆向分析
- Python數(shù)據(jù)分析入門:從數(shù)據(jù)獲取到可視化
- InfluxDB原理與實戰(zhàn)
- Python金融數(shù)據(jù)分析(原書第2版)
- TextMate How-to
- 一本書講透Elasticsearch:原理、進(jìn)階與工程實踐
- 大數(shù)據(jù)分析:數(shù)據(jù)倉庫項目實戰(zhàn)
- Spark分布式處理實戰(zhàn)
- Unreal Engine Virtual Reality Quick Start Guide
- 改變未來的九大算法
- 大數(shù)據(jù)技術(shù)原理與應(yīng)用:概念、存儲、處理、分析與應(yīng)用
- 數(shù)據(jù)指標(biāo)體系:構(gòu)建方法與應(yīng)用實踐
- Unity for Architectural Visualization
- 碼上行動:利用Python與ChatGPT高效搞定Excel數(shù)據(jù)分析