如何在单个服务器上安装多个Elasticsearch节点

时间:2020-03-05 15:28:02  来源:igfitidea点击:

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"
}