如何在CentOS7系统上安装Elasticsearch

温馨提示:文章已超过689天没有更新,可能存在链接失效,相关教程仅供参考

Elasticsearch是一个开源全文搜索和分析引擎。它支持RESTful操作,并且允许你存储,搜索,并且实时分析大量的数据。Elasticsearch是最流行的搜索引擎之一,可为具有复杂搜索要求的应用程序提供动力,例如大型电子商务商店和分析应用程序。写个教程记录下如何在CentOS8系统上安装Elasticsearch,同时也给需要同学提供一丢丢帮助。

image.png

安装Java

Elasticsearch是一个Java应用,因此,第一步就是安装Java

yum install java-11-openjdk-devel

验证 Java 是否安装成功

image.png

安装 Elasticsearch

Elasticsearch在标准的CentOS 8源中不可用。我们将会从Elasticsearch RPM源中安装它。

1、使用rpm命令导入源的GPG

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

2、使用vi命令打开文本编辑器,并且在/etc/yum.repos.d目录下创建源文件

vi /etc/yum.repos.d/elasticsearch.repo

粘贴下面的内容到文件中

[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

3、粘贴完成后,按键盘的ESC 然后输入:wq保存文件

4、安装Elasticsearch软件包

yum install elasticsearch -y

5、启用elasticsearch服务

systemctl enable elasticsearch.service --now

6、验证Elasticsearch是否运行,使用curl命令发送一个HTTP请求到本地的port 9200

curl -X GET "localhost:9200/"

如果你看到 curl: (7) Failed connect to localhost:9200; Connection refused,请稍等几秒钟,并且重试

输出类似如下图

image.png

配置 Elasticsearch

Elasticsearch数据存储在/var/lib/elasticsearch目录,配置文件在/etc/elasticsearch。

默认情况下,Elasticsearch被配置文件仅仅监听localhost。 如果客户端连接的数据库在同一个主机上,并且单节点集群,则不需要修改默认的配置文件

配置 Elasticsearch远程访问

开箱即用的Elasticsearch,没有实现鉴权,因此它可以被任何人通过HTTP API进行访问。如果你允许远程访问你的Elasticsearch服务器,你需要配置你的防火墙,并且仅仅允许从受信任的客户端通过9200端口访问Elasticsearch

例如,仅仅允许从192.168.80.80来的访问,输入下面的命令:

1、运行下面的命令,允许从远程受信任的 IP 地址访问 9200端口

firewall-cmd --new-zone=elasticsearch --permanent
firewall-cmd --reload
firewall-cmd --zone=elasticsearch --add-source=192.168.80.80/32 --permanent
firewall-cmd --zone=elasticsearch --add-port=9200/tcp --permanent
firewall-cmd --reload

不要忘记将`192.168.80.80`修改成你的远程 IP 地址。

如果你想允许从其他IP 地址访问,使用

<IP_ADDRESS>为要授权的IP地址

firewall-cmd --zone=elasticsearch --add-source=<IP_ADDRESS> --permanent
firewall-cmd --reload

2、修改Elasticsearch的配置文件,并且允许Elasticsearch监听外部连接

 vi /etc/elasticsearch/elasticsearch.yml

搜索包含network.host,去掉注释,并且修改为

network.host: 0.0.0.0

搜索包含http.port,去掉注释,并且修改为

http.port: 9200

搜索包含cluster.initial_master_nodes: ["node-1", "node-2"],去掉注释,并且修改为

cluster.initial_master_nodes: ["node-1"]

3、重启 Elasticsearch 服务

systemctl restart elasticsearch


© 除非注明,否则均为阿豪运维笔记原创文章,转载或复制请以超链接形式并注明出处

取消
微信二维码
微信二维码
支付宝二维码