elasticsearch单机版—安装详细教程

一、ES介绍

Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene™ 基础上的搜索引擎.当然 Elasticsearch 并不仅仅是 Lucene 那么简单,它不仅包括了全文搜索功能,还可以进行以下工作:

(1).分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。

(2).实时分析的分布式搜索引擎。

(3).可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。

 

二、单机ES安装

安装前提

需要提前安装JDK,这里不做介绍。

1.ES下载

ES官网:https://www.elastic.co/cn/downloads/elasticsearch

 

2.安装

(1).上传后解压

解压命令:

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

移动解压后的文件到/usr/local/目录下:

mv elasticsearch-8.14.3  /usr/local/

 

(2).ES目录介绍

bin:可执行文件在里面,运行es的命令就在这个里面,包含了一些脚本文件等

1) config:配置文件目录

2) jdk:java环境

3) lib:依赖的jar,类库

4) logs:日志文件

5) modules:es相关的模块

6) plugins:可以自己开发的插件

7) data:这个目录没有,自己新建一下,后面要用->mkdir data,这个作为索引目录

 

(3).修改核心配置文件elasticearch.yml

vim config/elasticsearch.yml

#修改集群名称,默认是elasticsearch,虽然目前是单机,但是也会有默认的
cluster.name: my-application

#为当前的节点取个名称,名称随意
node.name: node-1

#修改data数据保存地址
path.data: /usr/local/elasticsearch-8.14.3/data

#修改日志数据保存地址
path.logs: /usr/local/elasticsearch-8.14.3/logs

#绑定es网络IP
network.host: 0.0.0.0

#默认端口号,可以自定义修改
http.port: 9200

#集群节点,名字可以先改成之前的那个节点名称
discovery.seed_hosts: ["host1"]
cluster.initial_master_nodes: ["node-1"]

如果 data数据保存目录不存在,需要手工创建:

mkdir  -p  /usr/local/elasticsearch-8.14.3/data

 

(4).修改JVM参数

-Xms256m

-Xmx256m

默认xmsxmx都是1g,虚拟机内存没这么大,修改一下即可,线上环境内存大可以不修改!

 

(5).添加用户

说明:ES不允许使用root操作es,需要添加用户。

操作如下:

#添加用户

useradd  esuser

#授权

chown -R esuser:esuser /usr/local/elasticsearch-8.14.3

#切换用户

su  esuser

 

(6).启动ES

./elasticsearch

如果出现如下错误:

 

那么需要切换到root用户下去修改配置如下:

vim /etc/security/limits.conf

* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

vim /etc/sysctl.conf

vm.max_map_count=262145

然后重启使配置生效。(这一步不能忘记,否则vm.max_map_count不生效)

sysctl -p

最后再次启动,可以看到输出如下信息,含有登录的用户和密码。

设置随机密码: 

bin/elasticsearch-reset-password -u elastic

设置自定义密码: 

bin/elasticsearch-reset-password -u elastic  -i

 

(7).测试

访问地址:https://虚拟机IP:9200。会弹出输入用户和密码,请使用上面红框中的用户和密码进行登录,看到如下页面说明安装成功。

 

(8).停止和后台启动ES

1).停止ES

如果是前台启动,直接ctrl+c就可以停止

 

2).后台启动:

./elasticsearch -d

 

3).停止杀进程:

## 查看进程号

jps

## 杀掉进程

kill  -9   进程号

 

4).端口号意义

9200:Http协议,用于外部通讯

9300:Tcp协议,ES集群之间是通过9300通讯

 

posted @ 2024-07-30 16:39  业余砖家  阅读(56)  评论(0编辑  收藏  举报