elastic search入门

参考1:Elastic Search 入门 - 知乎

参考2:Ubuntu上安装ElasticSearch_ubuntu elasticsearch-CSDN博客

1、ElasticSearch安装

1.1安装JDK,省略,之前已安装过

1.2创建ES用户

复制代码
创建用户:sudo useradd esuser
设置密码:sudo passwd esuser

1.3 下载ElasticSearch安装包

Ubuntu上下载:

复制代码
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.11.1-linux-x86_64.tar.gz

然后解压:

复制代码
tar -xvzf elasticsearch-7.11.1-linux-x86_64.tar.gz

1.4配置

配置jvm.options

复制代码
vi config/jvm.options

配置elasticsearch.yml:

复制代码
node.name: node-1            #配置当前es节点名称(默认是被注释的,并且默认有一个节点名)
cluster.name: my-application #默认是被注释的,并且默认有一个集群名
path.data: /home/lighthouse/es/data     # 数据目录位置
path.logs: /home/lighthouse/es/logs     # 日志目录位置
network.host: 0.0.0.0        #绑定的ip:默认只允许本机访问,修改为0.0.0.0后则可以远程访问cluster.initial_master_nodes: ["node-1", "node-2"] #默认是被注释的 设置master节点列表 用逗号分隔

根据以上设置的path.data和path.logs内容,需要在/home/lighthouse/目录下创建es目录,以及在es目录下创建文件data和logs。

ElasticSearch的配置信息:

属性名 说明

cluster.name 配置elasticsearch的集群名称,默认是elasticsearch。建议修改成一个有意义的名称。

node.name 节点名,es会默认随机指定一个名字,建议指定一个有意义的名称,方便管理

path.conf 设置配置文件的存储路径,tar或zip包安装默认在es根目录下的config文件夹,rpm安装默认在/etc/ elasticsearch

path.data 设置索引数据的存储路径,默认是es根目录下的data文件夹,可以设置多个存储路径,用逗号隔开

path.logs 设置日志文件的存储路径,默认是es根目录下的logs文件夹

path.plugins 设置插件的存放路径,默认是es根目录下的plugins文件夹

bootstrap.memory_lock 设置为true可以锁住ES使用的内存,避免内存进行swap

network.host 设置bind_host和publish_host,设置为0.0.0.0允许外网访问

http.port 设置对外服务的http端口,默认为9200。

transport.tcp.port 集群结点之间通信端口

discovery.zen.ping.timeout 设置ES自动发现节点连接超时的时间,默认为3秒,如果网络延迟高可设置大些

discovery.zen.minimum_master_nodes 主结点数量的最少值 ,此值的公式为:(master_eligible_nodes / 2) + 1 ,比如:有3个符合要求的主结点,那么这里要设置为2

1.5 修改/etc/security/limits.conf文件 增加配置

复制代码
sudo vi /etc/security/limits.conf

在文件最后,增加如下配置:

复制代码
* soft nofile 65536
* hard nofile 65536

在/etc/sysctl.conf文件最后添加一行 vm.max_map_count=655360 添加完毕之后,执行命令: sysctl -p

复制代码
vi /etc/sysctl.conf
vm.max_map_count=655360
sysctl -p

1.6启动ElasticSearch

启动前先给esuser用户权限,然后把用户切换到esuser用户

复制代码
sudo chgrp -R lighthouse ./es
sudo chown -R lighthouse ./es
sudo chmod 777 es
su esuser

启动ElasticSearch

复制代码
./bin/elasticsearch

然后参考资料修改了bin/elasticsearch-env文件,让es使用es目录里的jdk,

重新启动,报错如下:

复制代码
ERROR: [1] bootstrap checks failed
[1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
ERROR: Elasticsearch did not exit normally - check the logs at /home/lighthouse/es/logs/my-application.log

把该释放的内存(可以使用free -h查看)都释放出来后,重新启动,成功了。

可以看到绑定了两个端口:

  • 9300:集群节点间通讯接口

  • 9200:客户端访问接口

访问http://43.138.0.199:9200/在客户端可以看到以下信息:

相关推荐
Shingmc34 分钟前
【Linux】多路转接之epoll
linux·运维·服务器·开发语言·网络
Cat_Rocky15 分钟前
Jenkins通过kubernetes连接K8s集群
运维·kubernetes·jenkins
Plastic garden15 分钟前
Docker(2)数据挂载
运维·docker·容器
Plastic garden15 分钟前
Docker(4) Compose
运维·docker·容器
utf8mb4安全女神22 分钟前
磁盘管理(交换分区)(MGR分区)(GPT分区)
linux·运维·服务器
不会就选b24 分钟前
linux之vim
linux·运维·vim
humors22130 分钟前
聊聊密码为啥会“白设”
大数据·运维·服务器·网络·网络安全
xiaobobo33301 小时前
Ubuntu 26.04下编译s5pv210芯片的linux内核源码,无法进入menuconfig界面
linux·运维·ubuntu
kongba0071 小时前
双轨终端监视系统部署手册tmux + ttyd 实时 SSH 操作可视化方案
运维·ssh
難釋懷1 小时前
Nginx-Https证书配置
运维·nginx·https