如何在单个服务器上安装多个Elasticsearch节点
Elasticsearch是一种开源,广泛的可分配,易于可扩展的企业级搜索引擎,可通过广泛和精心制作的API访问。
它可以为支持数据发现应用程序提供极快的搜索,并且可以用于大量不同的使用情况,如"古典"全文搜索,分析存储,自动完成,拼写检查,提醒引擎以及作为通用文档商店。
分析工作负载倾向于计算事物并总结大量数据可能是大数据。
我们可以将此用于模糊搜索,这是一个宽度符合拼写错误的搜索。
在将其运送到生产之前,以模糊搜索是CPU密集的,始终是测试对搜索的改变和改进,以便生产为生产,因此应该以小心,所以应该为每个领域添加。
Elasticsearch还有助于自动完成和即时搜索。
搜索用户类型以许多形式出现,就像它一样简单建议。
现有标签,尝试根据搜索历史记录预测搜索,或者只是对每个限制击键进行全新搜索。
Elasticsearch中存在许多不同的功能,以帮助构建这些功能,例如匹配_Phrase_prefix,前缀查询,索引克和一个不同的建议者家庭。
本文是关于在单个CentOS 7服务器上安装多个Elasticsearch节点。
但是我们可以使用在其他Linux发行版上执行类似的步骤。
准备工作
为了完成在单个服务器上安装和配置多个弹星搜索节点的此任务,我们只需使用root用户凭据访问服务器可能是它的CentOS 6或者CentOS 7,无论我们想要为环境使用什么服务器。
让我们先连接到服务器并首先创建非root常规用户。
#ssh root@server_ip
1)添加新用户
使用root用户登录后,使用下面的命令在安装期间创建要使用的新的通用用户。
# adduser elasticsearch
Changing password for user elasticsearch. New password: Retype new password: passwd: all authentication tokens updated successfully.
将新用户添加到"轮子"组以提供SUDO权限。
# usermod -aG wheel elasticsearch
2)系统更新
现在在CentOS 7服务器上使用以下命令使用更新和安全修补程序更新系统。
# yum update -y
一旦系统准备好准备工作,然后转到下一步以在系统上安装Java版本8.
3)安装Java(JVM)版本8
使用Java建立Elasticsearch,该Java至少需要Java 8来运行。
只支持Oracle的Java和OpenJDK。
所有Elasticsearch节点和客户端都应使用相同的JVM版本。
因此,建议必须安装Java版本1.8.0_121或者更高版本,否则Elasticsearch将拒绝启动,如果使用任何其他版本的Java。
要安装所需的Java版本,我们可以使用以下命令。
$sudo yum install java-1.8.0-openjdk.x86_64
安装完成后,运行以下命令查看已安装的Java的版本。
$java -version
java version "1.8.0_45" Java(TM) SE Runtime Environment (build 1.8.0_45-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
可以通过设置"java_home"环境变量来配置Elasticsearch将使用的Java的版本。
完成前提条件后,将移动到净会话以下载,安装,然后配置节点。
如何下载Elasticsearch
Elasticsearch以多种包格式提供,但"zip"和'tar.gz'软件包适用于任何系统的安装,这是Elasticsearch入门的最简单选择。
"RPM"包更适合在Red Hat,CentOS,SLE,OpenSUSE和其他基于RPM的系统上安装。
它可以从Elasticsearch或者使用"Wget"命令从Elasticsearch或者RPM存储库下载。
让我们下载我们将在CentOS 7上安装的两个不同版本的Elastisearch包。
$wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.2.2.tar.gz
$wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.0.1.tar.gz
现在我们有两个不同版本的Elasticsearch包可安装。
提取存档并移动到提取的文件夹以编译和安装包。
$tar -zxf elasticsearch-5.0.1.tar.gz
$tar -zxf elasticsearch-5.2.2.tar.gz
配置Elasticsearch的第一个节点
现在首先从最新版本的Elasticsearch首先安装。
让我们使用放置在"配置"目录中的命令行编辑器打开默认配置文件。
$vim elasticsearch-5.2.2/config/elasticsearch.yml
按"I"切换到插入模式并在文件中插入以下配置参数。
cluster.name: elastic_cluster1 node.name: node-1 node.master: true node.data: true transport.host: localhost transport.tcp.port: 9300 http.port: 9200 network.host: 0.0.0.0
这里没有在默认配置中指定http.port和transport.port,es尝试在启动时选择下一个可用端口,从9200的基础上为HTTP和9300进行内部传输。
让我们使用':wq!'保存并关闭配置文件现在配置辅助节点。
配置辅助节点
要配置辅助节点,请打开相同的配置文件,放在存档的默认位置,并使用编辑器插入以下内容。
$vim elasticsearch-5.0.1/config/elasticsearch.yml
cluster.name: elastic_cluster1 node.name: node-2 #node.master: true node.data: true transport.host: localhost transport.tcp.port: 9302 http.port: 9202 network.host: 0.0.0.0
保存并关闭文件并移动到下一节以启动其服务。
如何启动Elasticsearch Services
正如我们配置了具有不同版本的Elasticsearch的两个节点,现在我们需要通过执行其二进制脚本来在CentOS 7服务器上启动。
$cd elasticsearch-5.2.2
$bin/elasticsearch -d
这将在后台开始弹性搜索过程。
现在将目录更改为ElasticSearch的辅助节点并运行相同的命令。
$cd elasticsearch-5.0.1
$bin/elasticsearch -d
就是这样,现在我们可以检查侦听端口的状态,以确保两个节点在配置中提到的特定端口上运行。
$netstat -tlnp
$ps -ef | grep elastic
我们还可以使用以下命令确认已成功启动服务。
$curl -X GET 'http://localhost:9200'
{ "name" : "node-1", "cluster_name" : "elastic_cluster1", "cluster_uuid" : "yrMHCKfJS2msgvQj-HWkag", "version" : { "number" : "5.2.2", "build_hash" : "f9d9b74", "build_date" : "2016-02-24T17:26:45.835Z", "build_snapshot" : false, "lucene_version" : "6.4.1" }, "tagline" : "You Know, for Search" }
类似于在"端口"9202"下运行的辅助节点使用下面的命令。
$curl -X GET 'http://localhost:9202'
{ "name" : "node-2", "cluster_name" : "elastic_cluster1", "cluster_uuid" : "I4Xk5Yr3RTuyp0Q0IsmxNQ", "version" : { "number" : "5.0.1", "build_hash" : "080bb47", "build_date" : "2015-11-11T22:08:49.812Z", "build_snapshot" : false, "lucene_version" : "6.2.1" }, "tagline" : "You Know, for Search" }