原文 ELK-7.3安裝部署java
ELK是由Elasticsearch、Logstash、Kibana 三個開源軟件的組成的一個組合體 不懂自行查閱 https://www.elastic.co/node
因爲Elasticsearch、Kibana均不能以root帳號運行。 不然報錯bootstrap
vi /etc/security/limits.conf 增長的內容 * hard nofile 65536 * soft nproc 2048 * hard nproc 4096 * soft memlock unlimited * hard memlock unlimited
vi /etc/security/limits.d/20-nproc.conf 調整成如下配置 * soft nproc 4096 root soft nproc unlimited
vi /etc/sysctl.conf 增長的內容 vm.max_map_count=655360 fs.file-max=655360
reboot
firewall-cmd --add-port=9200/tcp --permanent firewall-cmd --add-port=9300/tcp --permanent 從新加載防火牆規則 firewall-cmd --reload
建立用戶 useradd elk 建立ELK APP目錄 mkdir /ext/elasticsearch 建立ELK data目錄 mkdir /ext/elasticsearch/data 建立ELK logs目錄 mkdir /ext/elasticsearch/logs
賦權 chown -R elk:elk /ext/elasticsearch
https://download.oracle.com/otn/java/jdk/11.0.4+10/cf1bbcbf431a474eb9fc550051f4ee78/jdk-11.0.4_linux-x64_bin.tar.gz
mkdir /ext/java
sudo tar zvxf jdk-11.0.4_linux-x64_bin.tar.gz -C /ext/java
cd /ext/java
vi /etc/profile
export JAVA_HOME=/ext/java/jdk-11.0.4 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
source /etc/profile
java -version
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.0-linux-x86_64.tar.gz
sudo tar zvxf elasticsearch-7.3.0-linux-x86_64.tar.gz -C /ext/elasticsearch
打開目錄 cd /ext/elasticsearch/elasticsearch-7.3.0
修改配置 vi config/elasticsearch.yml瀏覽器
主節點配置(192.168.0.201)
#ES集羣名稱,同一個集羣內的全部節點集羣名稱必須保持一致 cluster.name: ES-Cluster #ES集羣內的節點名稱,同一個集羣內的節點名稱要具有惟一性 node.name: ES-master-192.168.0.201 #容許節點是否能夠成爲一個master節點,ES是默認集羣中的第一臺機器成爲master,若是這臺機器中止就會從新選舉 node.master: true #容許該節點存儲索引數據(默認開啓) node.data: false #path能夠指定多個存儲位置 path.data: /ext/elasticsearch/data #elasticsearch專門的日誌存儲位置,生產環境中建議elasticsearch配置文件與elasticsearch日誌分開存儲 path.logs: /ext/elasticsearch/logs #在ES運行起來後鎖定ES所能使用的堆內存大小,鎖定內存大小通常爲可用內存的一半左右;鎖定內存後就不會使用交換分區 #若是不打開此項,當系統物理內存空間不足,ES將使用交換分區,ES若是使用交換分區,那麼ES的性能將會變得不好 bootstrap.memory_lock: true #es綁定地址,支持IPv4及IPv6,默認綁定127.0.0.1;es的HTTP端口和集羣通訊端口就會監聽在此地址上 network.host: 192.168.0.201 #是否啓用tcp無延遲,true爲啓用tcp不延遲,默認爲false啓用tcp延遲 network.tcp.no_delay: true #是否啓用TCP保持活動狀態,默認爲true network.tcp.keep_alive: true #是否應該重複使用地址。默認true,在Windows機器上默認爲false network.tcp.reuse_address: true #tcp發送緩衝區大小,默認不設置 network.tcp.send_buffer_size: 128mb #tcp接收緩衝區大小,默認不設置 network.tcp.receive_buffer_size: 128mb #設置集羣節點通訊的TCP端口,默認就是9300 transport.tcp.port: 9300 #設置是否壓縮TCP傳輸時的數據,默認爲false transport.tcp.compress: true #設置http請求內容的最大容量,默認是100mb http.max_content_length: 200mb #是否開啓跨域訪問 http.cors.enabled: true #開啓跨域訪問後的地址限制,表示無限制 http.cors.allow-origin: "" #定義ES對外調用的http端口,默認是9200 http.port: 9200 #Elasticsearch7新增參數,寫入候選主節點的設備地址,來開啓服務時就能夠被選爲主節點,由discovery.zen.ping.unicast.hosts:參數改變而來 discovery.seed_hosts: ["192.168.0.201:9300"] #Elasticsearch7新增參數,寫入候選主節點的設備地址,來開啓服務時就能夠被選爲主節點 cluster.initial_master_nodes: ["192.168.0.201:9300"] #Elasticsearch7新增參數,設置每一個節點在選中的主節點的檢查之間等待的時間。默認爲1秒 cluster.fault_detection.leader_check.interval: 15s #Elasticsearch7新增參數,啓動後30秒內,若是集羣未造成,那麼將會記錄一條警告信息,警告信息未master not fount開始,默認爲10秒 discovery.cluster_formation_warning_timeout: 30s #Elasticsearch7新增參數,節點發送請求加入集羣后,在認爲請求失敗後,再次發送請求的等待時間,默認爲60秒 cluster.join.timeout: 120s #Elasticsearch7新增參數,設置主節點等待每一個集羣狀態徹底更新後發佈到全部節點的時間,默認爲30秒 cluster.publish.timeout: 90s #集羣內同時啓動的數據任務個數,默認是2個 cluster.routing.allocation.cluster_concurrent_rebalance: 32 #添加或刪除節點及負載均衡時併發恢復的線程個數,默認4個 cluster.routing.allocation.node_concurrent_recoveries: 32 #初始化數據恢復時,併發恢復線程的個數,默認4個 cluster.routing.allocation.node_initial_primaries_recoveries: 32服務器
#ES集羣名稱,同一個集羣內的全部節點集羣名稱必須保持一致 cluster.name: ES-Cluster #ES集羣內的節點名稱,同一個集羣內的節點名稱要具有惟一性 node.name: ES-Data-192.168.0.202 #容許節點是否能夠成爲一個master節點,ES是默認集羣中的第一臺機器成爲master,若是這臺機器中止就會從新選舉 node.master: false #容許該節點存儲索引數據(默認開啓) node.data: true #path能夠指定多個存儲位置 path.data: /ext/elasticsearch/data #elasticsearch專門的日誌存儲位置,生產環境中建議elasticsearch配置文件與elasticsearch日誌分開存儲 path.logs: /ext/elasticsearch/logs #在ES運行起來後鎖定ES所能使用的堆內存大小,鎖定內存大小通常爲可用內存的一半左右;鎖定內存後就不會使用交換分區 #若是不打開此項,當系統物理內存空間不足,ES將使用交換分區,ES若是使用交換分區,那麼ES的性能將會變得不好 bootstrap.memory_lock: true #es綁定地址,支持IPv4及IPv6,默認綁定127.0.0.1;es的HTTP端口和集羣通訊端口就會監聽在此地址上 network.host: 192.168.0.202 #是否啓用tcp無延遲,true爲啓用tcp不延遲,默認爲false啓用tcp延遲 network.tcp.no_delay: true #是否啓用TCP保持活動狀態,默認爲true network.tcp.keep_alive: true #是否應該重複使用地址。默認true,在Windows機器上默認爲false network.tcp.reuse_address: true #tcp發送緩衝區大小,默認不設置 network.tcp.send_buffer_size: 128mb #tcp接收緩衝區大小,默認不設置 network.tcp.receive_buffer_size: 128mb #設置集羣節點通訊的TCP端口,默認就是9300 transport.tcp.port: 9300 #設置是否壓縮TCP傳輸時的數據,默認爲false transport.tcp.compress: true #設置http請求內容的最大容量,默認是100mb http.max_content_length: 200mb #是否開啓跨域訪問 http.cors.enabled: true #開啓跨域訪問後的地址限制,*表示無限制 http.cors.allow-origin: "*" #定義ES對外調用的http端口,默認是9200 http.port: 9200 #Elasticsearch7新增參數,寫入候選主節點的設備地址,來開啓服務時就能夠被選爲主節點,由discovery.zen.ping.unicast.hosts:參數改變而來 discovery.seed_hosts: ["192.168.0.201:9300"] #Elasticsearch7新增參數,寫入候選主節點的設備地址,來開啓服務時就能夠被選爲主節點 cluster.initial_master_nodes: ["192.168.0.201:9300"] #Elasticsearch7新增參數,設置每一個節點在選中的主節點的檢查之間等待的時間。默認爲1秒 cluster.fault_detection.leader_check.interval: 15s #Elasticsearch7新增參數,啓動後30秒內,若是集羣未造成,那麼將會記錄一條警告信息,警告信息未master not fount開始,默認爲10秒 discovery.cluster_formation_warning_timeout: 30s #Elasticsearch7新增參數,節點發送請求加入集羣后,在認爲請求失敗後,再次發送請求的等待時間,默認爲60秒 cluster.join.timeout: 120s #Elasticsearch7新增參數,設置主節點等待每一個集羣狀態徹底更新後發佈到全部節點的時間,默認爲30秒 cluster.publish.timeout: 90s #集羣內同時啓動的數據任務個數,默認是2個 cluster.routing.allocation.cluster_concurrent_rebalance: 32 #添加或刪除節點及負載均衡時併發恢復的線程個數,默認4個 cluster.routing.allocation.node_concurrent_recoveries: 32 #初始化數據恢復時,併發恢復線程的個數,默認4個 cluster.routing.allocation.node_initial_primaries_recoveries: 32
注意:主從集羣名要一致 cluster.name: es 不然會報錯
打開目錄 cd /ext/elasticsearch/elasticsearch-7.3.0 修改配置 vi config/jvm.options 把 -Xms1g -Xmx1g
切換以前先用root受權 賦權 chown -R elk:elk /ext/elasticsearch 不然啓動報沒有權限
su elk 必定要切換用戶不然啓動報錯
進入elasticsearch根目錄 cd /ext/elasticsearch/elasticsearch-7.3.0 啓動 ./bin/elasticsearch ./bin/elasticsearch -d 後臺啓動
瀏覽器訪問 http://192.168.0.201:9200/ 出現下面信息說明部署成功