ElasticSearch-(一)Ubuntu20.04安装ElasticSearch并远程连接
本文最后更新于:February 27, 2022 pm
Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎。Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
目录
在 Ubuntu 上安装 Elasticsearch 非常直接。我们将会启用 Docker 软件源,导入 GPG key,并且安装 Elasticsearch。Elasticsearch 软件包和 OpenJDK 一起打包,所以不需要去安装 Java。
安装
首先,升级软件包索引,并且安装必要的依赖软件包,来添加一个新的 Https 软件源:
1 |
|
导入软件源的 GPG key:
1 |
|
上面的命令应该会输出OK
,它意味着 key 已经被成功导入,这个软件源的软件包也被认为是被信任的。
下一步, 添加 Elasticsearch 软件源 到系统, 输入:
1 |
|
注意:如果你想安装前一个版本的 Elasticsearch,将上面命令中的7.x
替换成你需要的版本即可。否则无需改动。
安装Elasticsearch:
1 |
|
Elasticsearch 服务在安装完成后不会自动启动。想要启动服务,并且启用开机启动:
1 |
|
验证 Elasticsearch 正在运行,使用
curl
来发送一个 HTTP 请求给端口9200
:
1 |
|
能看到类似下面这样,则表示成功:
1 |
|
如果你看到curl: (7) Failed to connect to localhost port 9200: Connection refused
,请稍等几秒钟并且再次尝试。
查看由 Elasticsearch 服务记录的消息,使用下面的命令:
1 |
|
这样,Elasticsearch 已经在 Ubuntu 上安装好了。
查看状态
1 |
|
配置
Elasticsearch 数据被存储在 /var/lib/elasticsearch
目录。配置文件被定位在/etc/elasticsearch
并且 Java 启动选项可以通过/etc/default/elasticsearch
文件来配置。
远程访问
开箱可用的 Elasticsearch,没有实现授权,因此它可以被任何人通过 HTTP API 来访问。
想要允许远程访问你的 Elasticsearch 服务器,你将需要配置你的防火墙,并且打开 TCP 端口 9200。
通常,你将仅仅允许来自指定 IP 或者指定 IP 范围对 服务器的访问。例如,仅仅允许来自192.168.121.0/24
子网的访问,你将允许下面的命令:
1 |
|
可根据需求,自行更改ip范围,如运行所有网络:
1 |
|
配置文件
编辑 Elasticsearch 配置文件,并且允许 Elasticsearch 监听其他的连接。
根据自己熟悉哪种编辑器,选择其一执行:
1 |
|
搜索包括network.host
的这一行,取消它的注释,并且修改值为0.0.0.0
:
1 |
|
搜索包括http.port
的这一行,取消它的注释,并且修改远程访问的端口号,如 9200
1 |
|
重启 Elasticsearch 服务,使得应用生效:
1 |
|
报错处理
在重启时,可能会报错:
1 |
|
解决办法
修改配置文件:
1 |
|
找到:
1 |
|
取消注释并将其改为(允许全部网络):
1 |
|
再重启测试即可
1 |
|
安装IK分词器
https://github.com/medcl/elasticsearch-analysis-ik/releases
下载对应的版本。
下载后将其解压到 /usr/share/elasticsearch/plugins/ik
下面并进行解压。然后再重启elasticsearch。
若报有安全警报 ,可以在elasticsearch.yml
中 添加 xpack.security.enabled: false
命令即可,然后需要重启es。
启动问题
Elasticsearch不允许root用户直接运行,所以要创建新用户。
1 |
|
本文作者: 墨水记忆
本文链接: https://tothefor.com/DragonOne/961a3cf9.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!