In this article, we still do some basic learning on how to perform CRUD in Elasticsearch.
Elasticsearch stand-alone dual-node cluster deployment
环境:CentOS 7.2 JDK 1.8.0_74
##1. Install the first ElasticSearch (master node)
1. Create an es user. You cannot use the root user to start es.useradd es passwd esThe root user enters the /home/es directory. 2. Obtain the ElasticSearch installation package.
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.1.2.tar.gz3. Unzip and rename (to facilitate the differentiation of another ES when clustering)
tar xf elasticsearch-6.1.2.tar.gzmv elasticsearch-6.1.2.tar.gz elasticsearch-node24. Modify the configuration file
vi elasticsearch-node2/config/elasticsearch.ymlThe modification content is as follows:
cluster.name: my-application 各节点此名称必须一致node.name: node-2 节点名称,不能与其他节点相同 network.host: ***.***.***.*** 自己的服务器IPhttp.port: **** 访问端口transport.tcp.port: **** 集群各节点间的通讯端口 discovery.zen.ping.unicast.hosts: ["主节点IP:通讯端口","辅节点IP:通讯端口"]Add the following content to the end of the file , so that the connection head displays the health value (note that there should be no spaces before each line of code)
http.cors.enabled: truehttp.cors.allow-origin: "*"5. Startup
sh elasticsearch-node2/bin/elasticsearch
[2018-01-24T15:36:41,990][INFO ][o.e.n.Node ] [KMyyO-3] started [2018-01-24T15:36:41,997][INFO ][o.e.g.GatewayService ] [KMyyO-3] recovered [0] indices into cluster_stateStart successfully, enter
IP:access port## in the browser #The webpage displays the following content, indicating that the deployment is successful
{ "name" : "node-2", "cluster_name" : "my-application", "cluster_uuid" : "j2aJ7CsRSuSo0G8Bgky2Ww", "version" : { "number" : "6.1.2", "build_hash" : "5b1fea5", "build_date" : "2018-01-10T02:35:59.208Z", "build_snapshot" : false, "lucene_version" : "7.1.0", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search"}
6, error reporting and its handling
[Type 1]Caused by: java.lang.RuntimeException: can not run elasticsearch as root
This problem is because running es cannot be used root user, so switch to es user and start again
chown -R es:es elasticsearch-node2/su - es sh elasticsearch-node2/bin/elasticsearch
[Type 2]
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
Solution, change back to root user and modify the configuration file
vi /etc/security/limits.conf#在最后面追加下面内容es hard nofile 65536es soft nofile 65536
[Type 3]
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
Solution, change back to the root user and modify the configuration file
vi /etc/sysctl.conf #在最后面追加下面内容vm.max_map_count=655360#执行命令:sysctl -p2. Install the second ElasticSearch (secondary node)
The installation method is the same as the first The two are consistent, pay attention to modifying the configuration fileroot user enters the /home/es directory
1. Unzip and change the name
tar xf elasticsearch-6.1.2.tar.gzmv elasticsearch-6.1.2.tar.gz elasticsearch-node3
2. Modify the configuration file
vi elasticsearch-node3/config/elasticsearch.yml
Modify The content is as follows:
cluster.name: my-application 各节点此名称必须一致node.name: node-3 节点名称,不能与其他节点相同network.host: ***.***.***.*** 自己的服务器IPhttp.port: **** 访问端口(注意不要与第一个端口重复) transport.tcp.port: **** 集群各节点间的通讯端口(注意不要与第一个端口重复)discovery.zen.ping.unicast.hosts: ["主节点IP:通讯端口","辅节点IP:通讯端口"]
Also append the following code at the end of the file
http.cors.enabled: truehttp.cors.allow-origin: "*"
3. Start the
sh elasticsearch-node3/bin/elasticsearch
browser and enter
IP:access portin the browser The webpage displays the following content, indicating that the second deployment is successful
{ "name" : "node-3", "cluster_name" : "my-application", "cluster_uuid" : "j2aJ7CsRSuSo0G8Bgky2Ww", "version" : { "number" : "6.1.2", "build_hash" : "5b1fea5", "build_date" : "2018-01-10T02:35:59.208Z", "build_snapshot" : false, "lucene_version" : "7.1.0", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search"}
3. Install the Elasticsearch-head plug-in
1. You need to install node.js before installing the head plug-in
curl -sL https://rpm.nodesource.com/setup_8.x | bash - yum install -y nodejs
After the installation is complete, execute the command to view the node and npm versions
[root@host]# node -vv8.12.0[root@host]# npm -v6.4.1
2. Get the head plug-in from git
wget https://github.com/mobz/elasticsearch-head/archive/master.zip
3. Unzip the installation package (you can rename it for easy operation)
unzip master.zip mv elasticsearch-head-master/ head
4. Modify the configuration file
vi head/Gruntfile.js
Change the head port number
connect: { server: { options: { port: ****, 改为head访问端口 base: '.', keepalive: true } } }
vi head/_site/app.js
Change the head link address
init: function(parent) { this._super(); this.prefs = services.Preferences.instance(); this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://主节点IP:访问端口";
5. Start the head
nohup npm run start > ../head.log 2>&1 &
6. Browser login head
URL input server IP: head access port
7. Common errors in installing head
[Type 1] Started successfully, but the webpage cannot be accessed
Solution
Turn off the server firewall
service iptables stop
[Type 2]The cluster health value is not connectedAppend the following code to elasticsearch.yml ( Note that there should be no spaces in front of the code)
http.cors.enabled: truehttp.cors.allow-origin: "*"
Q: Why do es nodes use node2 and node3? Answer: Because we used node1 to build a set of unclustered ES before, we used 2 and 3 for the subsequent clusters
Related recommendations:
The above is the detailed content of How to understand Elasticsearch single-machine two-node cluster deployment. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),
