当前位置:首页 > 服务端 > ES在Linux上的配置

ES在Linux上的配置

2022年09月16日 19:41:04服务端4

1.ES是基于Lucene进行开发的,Lucene又是apache基金会的一个项目,也就是说Lucene必须要jdk环境,ES也必须要jdk环境


2.拿到一个新的Linux服务器的时候如何配置

2.1修改hostname

可以非常直观的看到该服务器上所搭建的软件/架构/中间件…

vim /etc/sysconfig/network

修改HOSTNAME=es01

2.2修改hostname和IP的映射

也就是说其他的服务器需要使用ssh访问这一台服务器的时候
es01 192.168.23.167
redis02 192.168.23.168

vim /etc/hosts

在末尾写入192.168.23.167 es01
必须要和hostname所配置的es01保持一致

2.3直接关闭防火墙/开启防火墙访问端口号

如果服务器只需要在内网,可以直接关闭防火墙
如果服务器上所部署的项目必须要暴露给外网,不能关闭防火墙,只能开放端口
关闭防火墙:service iptables stop

2.4需要关闭防火墙的开机启动

chkconfig iptables off

2.5重启

reboot

3.配置jdk

参考我的另一篇文章:Linux环境下安装jdk

4.ES的配置

4.1使用xftp工具把ES的压缩包上传到Linux服务器上

4.2解压ES的压缩包

tar -zxvf elasticsearch...

4.3增大Linux上部署软件的内存和硬盘

vim /etc/security/limits.conf

直接跳到最后一行

* soft nproc 655350
* soft nofile 655350
* hard nproc 655350
* hard nofile 655350

ES在Linux上的配置 _ JavaClub全栈架构师技术笔记

4.4最大的线程数

系统默认都有自我保护,不会开启很大的线程,所以需要自己手动开启

vim /etc/sysctl.conf

最后一行添加:vm.max_map_count = 262144
ES在Linux上的配置 _ JavaClub全栈架构师技术笔记

4.5配置用户最大的线程数

vim /etc/security/limits.d/90-nproc.conf

*          soft    nproc     1024 ---> 4096
root       soft    nproc     unlimited

ES在Linux上的配置 _ JavaClub全栈架构师技术笔记

4.6使其永久生效

sysctl -p

ES在Linux上的配置 _ JavaClub全栈架构师技术笔记

4.7进入到ES的bin目录启动

./elasticsearch

4.8验证是否配置成功

浏览器中输入 ip:9200
看到以下信息说明启动和配置成功:
ES在Linux上的配置 _ JavaClub全栈架构师技术笔记

4.9配置中文分词器(搜狗,IK)

因为ES是外国人开发的,最终的情况下外国人对中文的汉字/词语不是特别了解
This is Java
This Java
is Java
Java
is
This

我爱java


java
我爱
爱java

就是为了让搜索变得更加精准
!!!!如果ES6.4.0那么分词器的版本也必须是6.4.0!!!!

4.9.1使用xftp把IK分词器压缩包上传到Linux服务器上

4.9.2 使ES集成IK分词器

4.9.3在ES的plugins目录中创建IK目录

mkdir IK

4.9.4解压IK分词器

所有的IK分词器的压缩包都是zip格式

unzip elasticsearch-analysis-ik-6.4.0.zip

4.9.5启动ES

仍然是在ES的bin目录下执行

./elasticsearch

配置ES所遇到的问题:

1.can not run elasticsearch as root

因为ES有自我保护机制,root用户的权限过大,因为如果使用root,可能容易修改到ES自带的配置
创建esuser用户并设置密码

useradd esuser
passwd esuser

使用root用户对esuser授权(es目录)

chown -R esuser ES安装目录

然后切换euser用户登陆:su esuser

2.CONFIG_SECCOMP not compiled into kernel,CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER are needed

需要修改ES的配置文件,应为最终CONFIG_SECCOMP系统在centos7中默认会被加载,但是在centos6中没有CONFIG_SECCOMP
解决方案:
1. centos6 --> 7
2. 修改ES的配置:在yml中进行配置

cd ES安装目录/config

vim elasticsearch.yml

#修改集群名称(名字可以随便取)
cluster.name: my-cluster(修改)

#如果未单节点无所谓(如果为集群,则每一个节点的node-name不能重复)(名字可以随便取)
node.name: node-1(修改)

#ES的节点信息数据(默认data目录是不存在的,如果ES从来没有启动过,可以进行手动创建,一旦ES启动后,会默认创建)
path.data: ES安装目录/data(修改)

#ES的日志信息目录
path.logs: ES安装目录/logs(修改)

#放开ES的内存锁,让ES直接拥有最大的内存权限
bootstrap.memory_lock: false(修改)

#解决此问题
bootstrap.system_call_filter: false(添加)

#配置当前ES服务器绑定的IP地址(0.0.0.0)
	一旦配置的是0.0.0.0代表所以的电脑都可以进行连接(对链接不再造成任何限制)
network.host: Linux服务器的IP(修改)

#识别集群中其他节点的host(如果为单节点只需要配置一个即可)
discovery.zen.ping.unicast.hosts: ["Linux服务器的IP“](修改)

3.使用创建的esuser用户启动ES没有问题,但是当使用root用户启动一次后,再使用esuser用户启动可能会有问题

新创建的esuser用户无法使用root用户所创建出的文件
无论使用什么用户启动,都会创建一个文件elasticsearch.keystore文件,因为是root用户创建,其他用户没有权限访问/修改

作者:dh@
来源链接:https://blog.csdn.net/qq_45358679/article/details/104233354

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/server/42353.html

分享给朋友:

“ES在Linux上的配置” 的相关文章

实习第一周(Golang)

实习第一周(Golang)

目录 一,序 二,基础学习 三,环境安装 四,项目操练 GO111MODULE...

Python:实用的IPython(一种交互式开发环境)

Python:实用的IPython(一种交互式开发环境)

用习惯了CentOS突然又用Windows,写Python想在控制端写怎么办?别急,一招教你在Windows终端写出一手舒服的代码! 欢迎光临,我的主页。更多干货,等你来学: 不许代码码上红 警句:莫道君行早,更有早行人。...

最容易理解的计算机网络的基础知识概论(上)

最容易理解的计算机网络的基础知识概论(上)

最容易理解的计算机网络基础知识概论(上) 1.计算机网络的分类方法 1)广域网、...

[C#]richtextbox实现拖放

namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeCo...

[C#]模拟实现Visual Stduio工具栏动态效果

weiFenLuo.winFormsUI.Docking.dll是开源项目DockPanel Suite的一个类库,可以实现像Visual Studio的窗口停靠、拖拽等功能。 官方下载地址:http://sourceforge.net/projects/dockpanelsui...

[C#]我自己写的一个对字节中每位进行修改值的函数

位操作方法 代码如下: 1. 设置字节中某位的值 static public Byte s_SetBit(Byte byTargetByte, int nTargetPos, int nValue) { int nValueOfTargetPos = -1...

计算机组成原理考试复习

计算机组成原理考试复习

计算机组成原理考试复习 第一章(计算机系统概论) 第二章(运算方法和运算器) 第三章(存储系统) 第四章(指令系统) 第五章(中央处理器)...

吐血整理《计算机网络五层协议之物理层(中)》

吐血整理《计算机网络五层协议之物理层(中)》

吐血整理 《计算机网络 五层协议之物理层(上)》 吐血整理 《计算机网络 五层协议之物理层(下)》 物理层(中篇) 1.信道的基本概念(续)...

Logger打印等级设置

示例:Logger.getLogger("org").setLevel(Level.WARN)...

ubuntu 20.04修改数据源配置

ubuntu 20.04修改数据源配置

Ubuntu安装完毕之后,默认的源是Ubuntu自己的,但毕竟Ubuntu服务器在国外,我们访问起来会比较慢,可以将软件源切换为国内源,比如:阿里源,清华源,中科大源等等。在这边以清华源为例,其它源也是一样的道理。 1 切换源之前先把配置文件备份一...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。