Elasticsearch 集群搭建 環境及軟體 centos7 elasticsearch 7.4.0 因為ES7已經內置了所需的java的JDK版本,因此在此不再介紹java安裝 ES7安裝方式使用RPM安裝方式。 es節點列表 | ip | 節點名 | | | | |192.168.1.100 ...
Elasticsearch 集群搭建
環境及軟體
- centos7
- elasticsearch 7.4.0
因為ES7已經內置了所需的java的JDK版本,因此在此不再介紹java安裝
ES7安裝方式使用RPM安裝方式。
es節點列表
ip | 節點名 |
---|---|
192.168.1.100 | es-node-master-01 |
192.168.1.101 | es-node-master-02 |
192.168.1.102 | es-node-master-03 |
192.168.1.103 | es-node-data-01 |
192.168.1.104 | es-node-data-02 |
192.168.1.105 | es-node-data-03 |
安裝es7
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.0-x86_64.rpm
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.0-x86_64.rpm.sha512
shasum -a 512 -c elasticsearch-7.4.0-x86_64.rpm.sha512
sudo rpm --install elasticsearch-7.4.0-x86_64.rpm
通過以上命令安裝的elasticsearch安裝路徑為:/etc/elasticsearch
使用systemd設置自動啟動
sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
啟動/停止 elasticsearch
sudo systemctl start elasticsearch.service
sudo systemctl stop elasticsearch.service
參考:https://www.elastic.co/guide/en/elasticsearch/reference/7.4/rpm.html
修改系統配置
- 修改文件描述符數量
elasticsearch對文件描述符的限制至少為65536,因此需要修改此配置。
echo '* soft nofile 65536' >> /etc/security/limits.conf
echo '* hard nofile 65536' >> /etc/security/limits.conf
#查看配置,如果未生效重啟配置
ulimit -n
- 修改max_map_count
臨時修改:
sysctl -w vm.max_map_count=655360
永久設置:
echo 'vm.max_map_count=655360' >> /etc/sysctl.conf
elasticsearch基本配置
- cluster.name
ES通過集群名稱區分集群,因此集群內所有節點的節點名稱必須保持一致。如:
cluster.name: es-cluster
- node.name
集群內節點的名稱,同一集群內的節點名稱必須保持唯一。如:
node.name: es-master-01
- node.master
標記節點可以選舉為master節點。如果集群內的master節點停止,則該節點就會參與選舉,可以成為master節點。如:
node.master: true
- node.data
允許該節點存儲索引數據(預設).如:
node.data: true
- path.data
此路徑是存放es數據的目錄,可以任意指定。如果是生產環境建議設置的路徑有足夠的存儲空間,如:
path.data: /datadrive/elasticsearch/data
- path.logs
此路徑存儲es產生的日誌,生產環境建議與path.logs
分開設置。如:
path.data: /datadrive/elasticsearch/logs
- network.host
es綁定的地址,支持IPv4和IPv6。是es的監聽地址。如果設置具體的地址,則只能通過改地址訪問,也可設置0.0.0.0
則不限制訪問地址.如:
network.host: 0.0.0.0
- http.port
外部訪問es的http埠,預設9200
。如:
http.port: 9200
- transport.tcp.port
集群節點通訊的tcp的埠,預設9300
。如:
transport.tcp.port: 9300
- discovery.seed_hosts
集群搜索的主機列表。由discovery.zen.ping.unicast.hosts:參數改變而來。如:
discovery.seed_hosts:["192.168.1.100:9300","192.168.1.101:9300","192.168.1.102:9300","192.168.1.103:9300","192.168.1.104:9300","192.168.1.105:9300"]
- cluster.initial_master_nodes
集群主節點初始化列表,master選舉列表。
cluster.initial_master_nodes:["192.168.1.100:9300","192.168.1.101:9300","192.168.1.102:9300"]
啟動elasticsearch
elasticsearch集群的其他節點通過transport.tcp.port
埠訪問elasticsearch實例。對外提供服務通過http.port
埠。因此需要確保這兩個埠開放。
centos7開放埠
firewall-cmd --zone=public --add-port=9300/tcp --permanent
firewall-cmd --zone=public --add-port=9200/tcp --permanent
firewall-cmd --reload
配置完成所有節點後分別啟動elasticsearch服務。
systemctl start elasticsearch.service
所有節點都啟動後可以訪問任一節點查看集群狀態,可以通過瀏覽器或curl節點地址。如:
curl -XGET 'http://192.168.1.100:9200/_cluster/state?pretty'
安裝kibana
kibana可用於可視化管理elasticsearch。kibana在任一個節點安裝即可。kibana只需要能訪問到elasticsearch集群中的一個節點就能管理整個集群。
未完待續...