跳到主要内容

ElasticSearch-安装使用

环境准备

在开始安装 ElasticSearch 之前,我需要准备以下环境。

我需要一台运行 Linux、macOS 或 Windows 操作系统的计算机。

需要安装 Java 运行环境,版本要求取决于 Elasticsearch 版本:

  • Elasticsearch 7.x 需要 Java 11 或更高版本
  • Elasticsearch 8.x 已经包含了 JDK,不需要单独安装 Java

下载 ElasticSearch

前往 ElasticSearch 官方下载页面,下载适用于自己操作系统的 ElasticSearch 安装包。

下载完成后,解压缩安装包。例如,在 Linux 或 macOS 系统中,可以使用以下命令:

tar -zxvf elasticsearch-7.10.2-linux-x86_64.tar.gz

配置 ElasticSearch

进入解压后的目录,可以根据需要修改配置文件 config/elasticsearch.yml

为了简单起见,我保持默认配置,但需要注意以下几点。

  • 确保 cluster.namenode.name 唯一。
  • 设置 network.host0.0.0.0,以允许外部访问。

示例配置:

cluster.name: my-elasticsearch-cluster
node.name: node-1
network.host: 0.0.0.0
discovery.type: single-node

启动 ElasticSearch

在终端中,进入 ElasticSearch 的安装目录,运行以下命令启动服务:

bin/elasticsearch

如果需要在后台运行,可以使用:

bin/elasticsearch -d

启动后,ElasticSearch 默认监听在 localhost:9200。可以使用以下命令验证服务是否正常启动:

curl -X GET "localhost:9200"

如果返回包含版本信息的 JSON 数据,说明 ElasticSearch 已经成功启动。

安装 Kibana(可选)

为了方便地管理和可视化数据,我可以安装 Kibana。前往 Kibana 官方下载页面,下载与 ElasticSearch 版本匹配的 Kibana。

下载并解压后,进入 Kibana 目录,修改配置文件 config/kibana.yml

设置 ElasticSearch 的主机地址:

elasticsearch.hosts: ['http://localhost:9200']

启动 Kibana:

bin/kibana

Kibana 默认监听在 localhost:5601,可以在浏览器中访问 http://localhost:5601

使用 ElasticSearch

添加数据

我可以使用以下命令向 ElasticSearch 添加一条数据:

curl -X POST "localhost:9200/sumingcheng/_doc" -H 'Content-Type: application/json' -d'
{
"name": "张三",
"age": 28,
"city": "北京"
}
'

查询数据

可以通过以下命令查询刚刚添加的数据:

curl -X GET "localhost:9200/sumingcheng/_search?q=name:张三&pretty"

返回结果将包含匹配的数据。

常见问题和注意事项

Java 版本兼容性。

ElasticSearch 依赖于 Java 运行环境,确保安装的 Java 版本与 ElasticSearch 兼容。

内存设置。

默认情况下,ElasticSearch 使用的 JVM 内存为系统内存的 50%。可以在 config/jvm.options 文件中调整 -Xms-Xmx 参数。

网络配置。

如果需要远程访问 ElasticSearch,需要修改 network.host,并在防火墙中开放相应的端口。

权限问题。

在 Linux 系统中,ElasticSearch 不能以 root 用户运行,建议创建一个专用用户来运行 ElasticSearch。


注意事项

  • 在生产环境中,建议使用集群部署,提高数据的可靠性和可用性。
  • 定期备份数据,防止数据丢失。
  • 注意安全设置,防止未经授权的访问。