ES叢集構建(本人親測有效)
一、下載
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.16.tar.gz
二、解壓原始檔
tar -vxf elasticsearch-5.6.16.tar.gz
三、切換普通使用者
因為elasticsearch預設不允許root使用者啟動
1、建立使用者:elasticsearch
[root@iZbp1bb2egi7w0ueys548pZ bin]# adduser elasticsearch
2、建立使用者密碼,需要輸入兩次
[root@iZbp1bb2egi7w0ueys548pZ bin]# passwd elasticsearch
3、將對應的資料夾許可權賦給該使用者
[root@iZbp1bb2egi7w0ueys548pZ local]# chown -R elasticsearch elasticsearch-6.0.0
4、切換至elasticsearch使用者
[root@iZbp1bb2egi7w0ueys548pZ etc]# su elasticsearch
四、配置主節點
1、修改配置檔案
vi /elasticsearch/conf/elasticsearch.yml
//叢集名稱,主從節點必須一致,才能保證為同一個叢集
cluster.name: elastic-cluster
//節點名稱
node.name: master
//節點是否為主節點
node.master: true
//資料目錄
path.data: /usr/local/soft/elasticsearch-master/data/
//日誌目錄
path.logs: /usr/local/soft/elasticsearch-master/logs/
//鎖定記憶體,避免和swap去互動,導致效能下降
bootstrap.memory_lock: true
//繫結ip
network.host: 192.168.162.72
//埠設定
http.port: 9200
//允許跨域
http.cors.enabled: true
//允許跨域的節點
http.cors.allow-origin: "*"
2、啟動服務 -d 後臺啟動
./elasticsearch/bin/elasticsearch -d
報錯:ERROR: [1] bootstrap checks failed
解決方案:
需要設定下系統配置檔案,首先要切換到root使用者,接著做以下修改:
1、修改/etc/security/limits.conf
檔案最後新增以下內容:
* soft nofile 65536
* hard nofile 65536
* soft nproc 32000
* hard nproc 32000
* hard memlock unlimited
* soft memlock unlimited
2、修改/etc/systemd/system.conf
分別修改以下內容:
DefaultLimitNOFILE=65536
DefaultLimitNPROC=32000
DefaultLimitMEMLOCK=infinity
3、執行以下操作,立即生效
/bin/systemctl daemon-reload
4、max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
解決:切換到root使用者修改配置sysctl.conf
vi /etc/sysctl.conf
新增下面配置:
vm.max_map_count=262144
並執行命令:
sysctl -p
五、配置從節點1
1、vi /elasticsearch/conf/elasticsearch.yml
cluster.name: elastic-cluster
node.name: slave1
path.data: /usr/local/soft/elasticsearch-slave1/data/
path.logs: /usr/local/soft/elasticsearch-slave1/logs/
bootstrap.memory_lock: true
network.host: 192.168.162.72
http.port: 9201
//主節點地址,若有多個,則配置多個
discovery.zen.ping.unicast.hosts: ["192.168.162.72"]
http.cors.enabled: true
http.cors.allow-origin: "*"
2、啟動服務 -d 後臺啟動
./elasticsearch/bin/elasticsearch -d
六、配置從節點2
1、vi /elasticsearch/conf/elasticsearch.yml
cluster.name: elastic-cluster
node.name: slave2
path.data: /usr/local/soft/elasticsearch-slave2/data/
path.logs: /usr/local/soft/elasticsearch-slave2/logs/
bootstrap.memory_lock: true
network.host: 192.168.162.72
http.port: 9202
//主節點地址,若有多個,則配置多個
discovery.zen.ping.unicast.hosts: ["192.168.162.72"]
http.cors.enabled: true
http.cors.allow-origin: "*"
2、啟動服務 -d 後臺啟動
./elasticsearch/bin/elasticsearch -d
七、配置jvm.options
預設配置
-Xms2g
-Xmx2g
當系統記憶體不足時,需要調小這個值。否則啟動多個節點時,由於記憶體不足,om會自動kill掉程式。
-Xms512m
-Xmx512m
八、配置elasticsearch-head(es視覺化介面)
git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
npm install
npm run start
open http://localhost:9100/
注意:
當啟動主點後,埠9200和9300同時啟動
9200作為Http協議,節點和外部通訊,呼叫restful介面用9200。
9300作為Tcp協議,ES叢集節點之間的通訊使用。
springboot整合ES的時候需要使用的9300 埠
相關文章
- 本地ES叢集資料通過_reindex方式遷移到騰訊雲伺服器(親測有效)Index伺服器
- redis 叢集構建Redis
- ES叢集
- ES 25 - Elasticsearch生產叢集的配置建議Elasticsearch
- Docker構建redis叢集環境DockerRedis
- 管理 ES 叢集:Hot & Warm 架構與 Shard Filtering架構Filter
- Mac 下 利用 docker 構建 MySQL 叢集MacDockerMySql
- 使用Keepalived構建LVS高可用叢集
- redis5.* 手動構建叢集Redis
- 使用docker-compose構建elasticsearch叢集DockerElasticsearch
- 構建一機多例項tomcat叢集Tomcat
- es 叢集配置推薦
- Elasticsearch(ES)叢集的搭建Elasticsearch
- 構建Zookeeper叢集(zkcluster) ~一篇文章玩轉zk叢集^.^
- 管理 ES 叢集:集常見的叢集部署方式
- 構建MHA實現MySQL高可用叢集架構MySql架構
- 重頭構建kubernetes叢集v1.81
- 利用Swarmkit構建Windows/Linux混合Docker叢集SwarmWindowsLinuxDocker
- solr叢集構建的基本流程介紹Solr
- ES 30 - Elasticsearch生產叢集的伺服器配置建議Elasticsearch伺服器
- 管理 ES 叢集:叢集與外部間的安全通訊
- 管理 ES 叢集:叢集內部間的安全通訊
- 管理 ES 叢集:如何對叢集進行容量規劃
- html table 匯出excel,親測有效HTMLExcel
- es 5.5.3叢集環境搭建
- RabbitMQ從零到叢集高可用(.NetCore5.0) -高可用叢集構建落地MQNetCore
- 解決npm install 報錯,親測有效NPM
- Windows 多開微信親測有效版Windows
- 【親測有效】FL Studio 20 漢化教程
- 2021phpstrom啟用碼(親測有效)PHP
- linux 原始碼搭建Kafka叢集,100%有效Linux原始碼Kafka
- 管理 ES 叢集:管叢集身份認證與使用者鑑權
- IntelliJ IDEA 永久破解啟用教程(親測有效)IntelliJIdea
- Linux安裝jdk、tomcat 步驟(親測有效)LinuxJDKTomcat
- Python模擬微博登陸,親測有效Python
- 管理 ES 叢集:分片設定及管理
- 教你在Kubernetes中快速部署ES叢集
- 構建生產環境可用的高可用kubernetes叢集