1、列出程序号
ps -ef | grep elastic
2、關閉程序号
kill -9 程序号
3、重新開機elasticsearch
./elasticsearch -d
參數-d的含義: 是背景運作
1、es不能用root使用者啟動
異常資訊:can not run elasticsearch as root
解決方案: 建立使用者 adduser xxx 将es檔案夾權限修改 chown -R xx|xx 檔案夾
2、./elasticsearch -d 背景啟動
3、安裝過程注意的問題
1.修改記憶體
異常資訊:Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c5330000, 986513408, 0) failed; error='Cannot allocate memory' (errno=12)
解決方案: 修改/config/jvm.options檔案 -Xms200m -Xmx200m
2.修改檔案大小
異常資訊: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
[2]: max number of threads [3895] for user [elastic] is too low, increase to at least [4096]
[3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解決方案:
- 修改/etc/security/limits.conf,修改到提示值即可
- 修改/etc/security/limits.d/90-nproc.conf 檔案 添加
- 修改/etc/sysctl.conf
添加配置:vm.max_map_count=262144, 然後執行指令 sysctl -p
soft nproc: 可打開的檔案描述符的最大數(軟限制)
hard nproc: 可打開的檔案描述符的最大數(硬限制)
soft nofile:單個使用者可用的最大程序數量(軟限制)
hard nofile:單個使用者可用的最大程序數量(硬限制)
4、簡單的叢集配置
主節點配置
叢集名稱,其他節點就是通過這個名字找到指定的叢集
cluster.name: wali
節點名稱,一個叢集裡節點名稱不能重複
node.name: master
是否為主節點
node.master: true
存放資料的位置
path.data: /home/tar/elasticsearch-6.3.2/data
存放日志的位置
path.logs: /home/tar/elasticsearch-6.3.2/logs
綁定的ip
network.host : 172.31.69.209
訓示是否為 Elasticsearch 服務啟用 HTTP。如果您要通過使用 Elasticsearch REST 請求來直接查詢 Elasticsearch 資料,那麼可以啟用 HTTP 端口
http.cors.enabled: true
如果 http.cors.enabled 的值為 true,那麼該屬性會指定允許 REST 請求來自何處。
http.cors.allow-origin: "*"
如果啟用了 HTTP 端口,那麼此屬性指定由 Elasticsearch 服務使用的端口。
http.port: 9200
用于某個叢集中 Elasticsearch 節點之間的通信的端口
transport.tcp.port: 9300
其他節點配置
叢集名稱,其他節點就是通過這個名字找到指定的叢集
cluster.name: wali
節點名稱,一個叢集裡節點名稱不能重複
node.name: slave2
存放資料的位置
path.data: /home/wuzhuang/data2
存放日志的位置
path.logs: /home/wuzhuang/logs2
綁定的ip
network.host : 172.31.69.209
提供其他 Elasticsearch 服務節點的單點廣播發現功能。配置叢集中基于主機 TCP 端口的其他 Elasticsearch 服務的逗号分隔清單。
discovery.zen.ping.unicast.hosts: ["172.31.69.209"]
elasticsearch.yml配置屬性
屬性 | 預設值 | 描述 |
cluster.name | <kbd>federated_cluster</kbd> | Elasticsearch 叢集名稱。使用叢集可将單獨 Process Federation Server 綁定到單個分布式系統中。參與叢集的所有伺服器都必須具有相同的叢集名稱。 |
node.name | <kbd>node1</kbd> | Elasticsearch 節點名。叢集中的每個 Process Federation Server 都必須具有唯一節點名。 |
node.master | <kbd>true</kbd> | 訓示某個節點是否符合成為主節點的條件。主節點管理 Elasticsearch 叢集的狀态。在運作時,Elasticsearch 服務會自動提名某一個合格的叢集成員成為主節點。 |
node.data | <kbd>true</kbd> | 訓示節點是否為資料節點。資料節點包含并管理索引的一部分。 |
http.enabled | <kbd>false</kbd> | 訓示是否為 Elasticsearch 服務啟用 HTTP。如果您要通過使用 Elasticsearch REST 請求來直接查詢 Elasticsearch 資料,那麼可以啟用 HTTP 端口。 |
htttp.port | <kbd>9200</kbd> | 如果啟用了 HTTP 端口,那麼此屬性指定由 Elasticsearch 服務使用的端口。 |
http.cors.enabled | <kbd>true</kbd> | 如果啟用了 HTTP 端口,那麼此屬性會指定是否允許跨源 REST 請求。 |
http.cors.allowed.origin | <kbd>localhost</kbd> | 如果 http.cors.enabled 的值為 <kbd>true</kbd>,那麼該屬性會指定允許 REST 請求來自何處。 |
transport.tcp.port | <kbd>9300</kbd> | 用于某個叢集中 Elasticsearch 節點之間的通信的端口。 |
discovery.zen.minimum_master_nodes | <kbd>1</kbd> | 訓示某個叢集定額所需的 Process Federation Server 的數量。 |
discovery.zen.ping.multicast.enabled | <kbd>false</kbd> | 通過發送節點所接收和響應的一個或多個多點廣播請求來提供對其他 Elasticsearch 服務節點的多點廣播 ping 發現功能。有關更多資訊,請參閱 Elasticsearch 文檔。 |
discovery.zen.ping.unicasts.hosts | <kbd>localhost</kbd> | 提供其他 Elasticsearch 服務節點的單點廣播發現功能。配置叢集中基于主機 TCP 端口的其他 Elasticsearch 服務的逗号分隔清單。 |
discovery.zen.ping.timeout | <kbd>3s</kbd> | Elastic 搜尋節點等待加入 Elasticsearch 叢集的時間。 |