ElasticSearch + Kibana 安裝部署
注:筆者環境 linux centos7
一、ElasticSearch 單機部署
1、官網下載ElasticSearch
ElasticSearch 6.6.2 版本下載地址 https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.2.tar.gz
2、解壓
[root@nn01 ~]# tar -zxvf elasticsearch-6.6.2.tar.gz
[root@nn01 ~]# mv elasticsearch-6.6.2 /usr
es 不支援root 使用者啟動,新增es 使用者
[root@nn01 ~]# adduser esuser
[root@nn01 ~]# passwd esuser
New password: testesuser
新增許可權:
[root@nn01 ~]# chown -R esuser /usr/elasticsearch-6.6.2/
- 注:如果誤操作以root 使用者啟動,切換使用者前需要重新執行下新增許可權的操作,因為在用root使用者執行的過程中已經生成root使用者對應的檔案。
3、修改系統支援開啟的檔案大小
vi /etc/security/limits.conf
新增如下內容:
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
使用者修改配置sysctl.conf
vi /etc/sysctl.conf
新增下面配置:
vm.max_map_count=262144
並執行命令,讓修改生效:
sysctl -p
檢驗是否生效
[root@nn01 elasticsearch-6.6.2]# sysctl -a | grep "vm.max_map_count"
vm.max_map_count = 262144
4、修改limits.d目錄下的配置檔案:
vi /etc/security/limits.d/90-nproc.conf
修改*為4096或指定esuser 使用者修改成更大
* soft nproc 4096
root soft nproc unlimited
5、修改預設的host
修改 network.host: 為伺服器所對應的ip地址
[root@nn01 config]# vi elasticsearch.yml
# Set the bind address to a specific IP (IPv4 or IPv6):
#
network.host: nn01
centos 下安裝需要新增這一步 在elasticsearch.yml 檔案末尾加上
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
- 注:nn01 是筆者自個兒配置的ip對應的名稱
6、啟動
切換使用者啟動
[root@nn01 config]# su esuser
[esuser@nn01 elasticsearch-6.6.2]$ ./bin/elasticsearch
後臺啟動命令後加 &
./bin/elasticsearch &
瀏覽器訪問如下:
- 注:es 安裝到此單機版安裝成功-- 如需叢集版可往下文看
生產環境個人建議修改預設的訪問埠,修改埠很方便es只需要修改elasticsearch.yml中對應的http.port:xx 便可。kibana也同理。
二、kibana 安裝
1、官網下載:
下載地址 https://artifacts.elastic.co/downloads/kibana/kibana-6.6.2-linux-x86_64.tar.gz
筆者安裝的版本是與ElasticSearch一致的
解壓:
[root@nn01 ~]# tar -zxvf kibana-6.6.2-linux-x86_64.tar.gz
[root@nn01 ~]# mv kibana-6.6.2-linux-x86_64 /usr
2、修改kibana配置檔案
注: elasticsearch.url必須是主節點的url
[root@nn01 config]# cd /usr/kibana-6.6.2-linux-x86_64/config
[root@nn01 config]# vi kibana.yml
# To allow connections from remote users, set this parameter to a non-loopback address.
server.host: "nn01"
....
# The URLs of the Elasticsearch instances to use for all your queries.
elasticsearch.hosts: ["http://nn01:9200"]
3、後臺啟動
./bin/kibana &
日誌如下:
.....
log [09:05:51.846] [info][listening] Server running at http://nn01:5601
log [09:05:52.689] [info][status][plugin:spaces@6.6.2] Status changed from yellow to green - Ready
上述啟動成功:檢視日誌有幾條warning
如下:
log [09:05:36.591] [warning][plugin] Skipping non-plugin directory at /usr/kibana-6.6.2-linux-x86_64/src/legacy/core_plugins/ems_util
log [09:05:37.797] [warning][security] Generating a random key for xpack.security.encryptionKey. To prevent sessions from being invalidated on restart, please set xpack.security.encryptionKey in kibana.yml
log [09:05:37.803] [warning][security] Session cookies will be transmitted over insecure connections. This is not recommended.
log [09:05:39.437] [warning][reporting] Generating a random key for xpack.reporting.encryptionKey. To prevent pending reports from failing on restart, please set xpack.reporting.encryptionKey in kibana.yml
4、瀏覽器訪問如下
http://nn01:5601
點選他們提供的樣本資料瞧瞧有啥好玩的不,進入後如下:
Kibana 至此安裝完成
檢視Kibana是否啟動
- 因為kibana 是載入到node中執行的,因此直接ps -ef|grep kibana 是查不到對應的執行緒的,可通過 ps -ef|grep node, 但這個查法會查出很多跟node相關的,筆者認為比較好的是通過埠直接檢視比較方便,如下所示:
netstat -tlp|grep 5601
tcp 0 0 es06.bigdata.test.cn:5601 *:* LISTEN 5310/./bin/../node/
三、通過Kibana 操作ElasticSearch中的資料
先通過kibana 往es put些資料 當然也可以直接通過命令列 curl 命令put
命令列方式如下:
curl -H "Content-Type: application/json" -XPUT 'http://nn01:9200/myappname/myblog/1?pretty' -d '
{
"title": "我的標題",
"content": "我的內容"
}'
pretty 引數是想得出的結果是美化後的 json 資料。
這裡筆者統一以kibana Dev Tools 方式新增資料,資料樣例採用ElasticSearch 權威
指南樣例資料如下:
PUT /megacorp/employee/1
{
"first_name" : "John",
"last_name" : "Smith",
"age" : 25,
"about" : "I love to go rock climbing",
"interests": [ "sports", "music" ]
}
PUT /megacorp/employee/2
{
"first_name" : "Jane",
"last_name" : "Smith",
"age" : 32,
"about" : "I like to collect rock albums",
"interests": [ "music" ]
}
PUT /megacorp/employee/3
{
"first_name" : "Douglas",
"last_name" : "Fir",
"age" : 35,
"about": "I like to build cabinets",
"interests": [ "forestry" ]
}
put 資料到ES 後通過Kibana 檢視如下圖:
這裡通過Kibana可對ElasticSearch中的資料進行簡單查詢與聚合,也可進行匹配查詢等,詳細見 ElasticSearch權威指南
簡單樣例有如下方式:
當然上述操作也可在瀏覽器中直接操作
如下:
http://hdp06:8577/megacorp/employee/_search?q=first_name:Ja*
瀏覽器返回
{"took":6,"timed_out":false,"_shards":{"total":5,"successful":5,"skipped":0,"failed":0},"hits":{"total":1,"max_score":1.0,"hits":[{"_index":"megacorp","_type":"employee","_id":"2","_score":1.0,"_source":{
"first_name" : "Jane",
"last_name" : "Smith",
"age" : 32,
"about" : "I like to collect rock albums",
"interests": [ "music" ]
}
}]}}
四、分散式的配置
- 注:往叢集中新增節點無需重啟叢集。主節點會通過廣播的形式找到新新增進來的節點,並且會自動將節點上的資料進行均衡分佈。
- 根據新加入的節點進行適當修改jvm 大小。畢竟es預設設定的1g對於生產環境來說太小了。
先獲取目前節點情況
GET /_cluster/health
新增新節點:前置步驟跟安裝ES 單機版一樣,安裝完單機先驗證是否可以正常使用,可以正常使用則按如下步驟將新節點加入叢集中,ES 需要在每個節點安裝。
[root@dn01 ~]# scp elasticsearch-6.6.2.tar.gz root@dn01:/root
[root@dn02 ~]# scp elasticsearch-6.6.2.tar.gz root@dn02:/root
1、修改master機器配置檔案
- 注:如果原先的ES環境已是叢集形式,則無須進行更改如下配置,如果原先是es單機環境則需要先設定master以及叢集名,設定好master後需要重啟該節點。
[root@nn01 config]# vi elasticsearch.yml
cluster.name: bmsoft-es
node.name: master
2、修改新節點配置檔案
[esuser@dn02 config]$ vi elasticsearch.yml
cluster.name: bmsoft-es
node.name: es-dn02
discovery.zen.ping.unicast.hosts: ["nn01"]
node 通過cluster.name 與 discovery.zen.ping.unicast.hosts 找到所需要加入的叢集。
3、重新啟動新節點
驗證是否新增成功
如上圖所示 ES 叢集搭建成功
參考文件
相關文章
- docker安裝elasticsearch及kibana部署、操作DockerElasticsearch
- elasticsearch kibana 安裝成功Elasticsearch
- elasticsearch和kibana安裝Elasticsearch
- ElasticSearch&kibana安裝Elasticsearch
- Helm3安裝ElasticSearch和KibanaElasticsearch
- elasticsearch-7.17.15 叢集安裝部署及kibana配置Elasticsearch
- elasticsearch叢集安裝+安全驗證+kibana安裝Elasticsearch
- 如何在 Linux 上安裝 Elasticsearch 和 KibanaLinuxElasticsearch
- docker安裝elasticsearch+kibana+密碼配置DockerElasticsearch密碼
- .NetCore使用Docker安裝ElasticSearch、Kibana 記錄日誌NetCoreDockerElasticsearch
- ElasticSearch的安裝和使用,Postman的安裝,Kibana的安裝,EShead外掛的安裝ElasticsearchPostman
- 基於滴滴雲部署 Elasticsearch + Kibana + FluentdElasticsearch
- kibana 安裝
- 安裝kibana
- centos 7安裝部署elasticsearch 7.5.1CentOSElasticsearch
- Linux安裝KibanaLinux
- kibana安裝使用
- Kibana的安裝
- Kibana 的安裝
- Docker Compose部署 EFK(Elasticsearch + Fluentd + Kibana)收集日誌DockerElasticsearch
- 使用Docker安裝ElasticSearch和視覺化介面Kibana【圖文教學】DockerElasticsearch視覺化
- ElasticSearch + Logstash + kibanaElasticsearch
- helm在k8s上部署Elasticsearch和KibanaK8SElasticsearch
- ELK--kibana 安裝
- Elasticsearch 在Linux下的安裝部署和配置ElasticsearchLinux
- 終結初學者對ElasticSearch、Kibana、Logstash安裝的種種困難Elasticsearch
- Kibana安裝與執行
- ELK之Kibana的安裝
- Kibana 和 Logstash 安裝配置
- Elasticsearch 安裝Elasticsearch
- Elasticsearch 叢集安裝部署Elasticsearch
- Kibana安裝及使用說明
- 如何在 MacOS 上安裝 KibanaMac
- docker安裝elastic search和kibanaDockerAST
- ElasticSearch第二篇:視覺化頁面進階Kibana,windows下安裝,配置Elasticsearch視覺化Windows
- ELK(ElasticSearch,Logstash,Kibana)入門Elasticsearch
- Elasticsearch - Docker安裝Elasticsearch8.12.2ElasticsearchDocker
- ElasticSearch 安裝教程Elasticsearch