centos7.5安裝Elasticsearch,Kibana,Logstash

環境要求:

# jdk 最低版本是8
java -version
echo $JAVA_HOME

# 操作系統:centos7
bash-4.2$ cat /etc/centos-release
CentOS Linux release 7.5.1804 (Core) 

elasticsearch安裝步驟 官網

  1. 安裝

# 建議本地用迅雷下載好傳上去,官方的yum源或者wget太慢了
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.2-x86_64.rpm
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.2-x86_64.rpm.sha512
shasum -a 512 -c elasticsearch-7.3.2-x86_64.rpm.sha512 
sudo rpm --install elasticsearch-7.3.2-x86_64.rpm
  1. 啓動

# 安裝完成之後,es會自動創建elasticsearch用戶和用戶組,官方的啓動方式是如下:
# 啓動
systemctl start elasticsearch

# 關閉
systemctl stop elasticsearch

但是,官方啓動我用的時候是有問題的,我還是比較喜歡按照套路來走,用elasticsearch用戶去進行相關操作

# 設置密碼(elasticsearch用戶和組已經創建,但是不能登錄)
passwd elasticsearch
# 系統添加的默認用戶是不能登錄的,需要更改/etc/passwd,改成如下
elasticsearch:x:996:994:elasticsearch user:/home/elasticsearch:/bin/bash
# 登錄elasticsearch用戶
su elasticsearch
# 切換到安裝目錄執行
./bin/elasticsearch

  1. 插件安裝

# 查看運行狀態
ps aux|grep elasticsearch

# 添加中文分詞插件
./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.3.2/elasticsearch-analysis-ik-7.3.2.zip
# 重啓es使之生效
systemctl restart elasticsearch
  1. 錯誤處理

  • max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
# 切換到root,在末尾處添加
1. vim /etc/security/limits.conf
*    hard    nofile    65536
*    soft    nofile    65536
root soft nproc 5000
root hard nproc 5000

2. 重新登錄
  • max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
# 解決方案
1、切換到root用戶修改配置sysctl.conf
vim /etc/sysctl.conf 
添加下面配置:
vm.max_map_count=655360
並執行命令:
sysctl -p
  • the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
# 解決方案
編輯yml文件,取消下面一行的註釋
# node.name: node-1 
更新集羣節點
cluster.initial_master_nodes: ["node-1"] 
  • Cannot open file /var/log/elasticsearch/gc.log due to Permission denied
# 給用戶添加權限
chown -R elasticsearch:elasticsearch /var/log/elasticsearch/
  1. 外網訪問

# 更新elasticsearch.yml
network.host: 0.0.0.0
# 開放防火牆
# 開放端口
firewall-cmd --zone=public --add-port=9200/tcp --permanent 
# 更新規則
firewall-cmd --reload
  1. 啓動與關閉

# elasticsearch 用戶執行
./bin/elasticsearch -d
ps -ef|grep elasticsearch|grep bootstrap |awk '{print $2}' |xargs kill -9
  1. 開機啓動

  • 腳本
#!/bin/sh
#chkconfig: 2345 80 05
#description: elasticsearch

export JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
export JAVA_BIN=/usr/java/jdk1.8.0_221-amd64
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH

case "$1" in
start)
    su elasticsearch<<!
    cd /usr/share/elasticsearch
    ./bin/elasticsearch -d
!
    echo "elasticsearch startup"
    ;;
stop)
    es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
    kill -9 $es_pid
    echo "elasticsearch stopped"
    ;;
restart)
    es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
    kill -9 $es_pid
    echo "elasticsearch stopped"
    su lyt<<!
    cd /usr/share/elasticsearch
    ./bin/elasticsearch -d
!
    echo "elasticsearch startup"
    ;;
*)
    echo "start|stop|restart"
    ;;
esac

exit $?
  • 設置開機啓動
cd /etc/init.d/
# 替換原有的elasticsearch文件爲上文的啓動腳本
# 添加到開機啓動
systemctl enable elasticsearch
  • 集羣環境配置
    服務器有三臺192.168.43.110,192.168.43.120,192.168.43.130
# 開放防火牆
firewall-cmd --zone=public --add-port=9300/tcp --permanent
firewall-cmd --reload

調整elasticsearch.yml配置文件

# 集羣mingcheng
cluster.name: es_cluster
# 節點名稱,這兒我直接取名爲 master
node.name: node-1
# 網絡綁定,這裏我綁定 0.0.0.0,支持外網訪問
network.host: 0.0.0.0
# 設置對外服務的http端口,默認爲9200
http.port: 9200
# 支持跨域訪問
http.cors.enabled: true
http.cors.allow-origin: "*"
# 設置節點間交互的tcp端口,默認是9300
transport.tcp.port: 9300
# 手動指定可以成爲 mater 的所有節點的 name 或者 ip,這些配置將會在第一次選舉中進行計算
cluster.initial_master_nodes:
                        - node-1
                        - node-2
                        - node-3
discovery.seed_hosts:
                - 192.168.43.110:9300
                - 192.168.43.120:9300
                - 192.168.43.130:9300
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch

kibana安裝步驟

  1. 安裝

# 通過wget方式獲取,如果網絡不好,可以自己手動下載上傳
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.3.2-x86_64.rpm
shasum -a 512 kibana-7.3.2-x86_64.rpm 
sudo rpm --install kibana-7.3.2-x86_64.rpm

cd kibana-7.3.2-linux-x86_64/bin

# 設置開機啓動
systemctl enable kibana.service
# 啓動服務 
systemctl start kibana.service
# 查看啓動狀態
systemctl status kibana.service


# 如果通過安裝包,需要進行如下設置:添加到系統服務,設置開機啓動
cd /etc/systemd/system
vim kibana.service
#添加如下內容
[Service]
ExecStart=/opt/kibana-7.3.2-linux-x86_64/bin/kibana

[Install]
WantedBy=multi-user.target
# 刷新 
systemctl daemon-reload

  1. kibana 配置

# 更改 /etc/kibana/kibana.yml
server.host: "0.0.0.0"
# 這裏面是http/https請求地址,不是域名和ip
elasticsearch.hosts: ["http://192.168.43.110:9200"]
# 配置el賬號密碼
elasticsearch.username: "elasticsearch"
elasticsearch.password: "elasticsearch"
  1. 開放防火牆

# 開放端口
firewall-cmd --zone=public --add-port=5601/tcp --permanent 
# 更新規則
firewall-cmd --reload
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章