ES(Elasticsearch)7.6.1安装教程_安装elasticsearch-程序员宅基地

技术标签: FAQ  问答系统  

Es (elasticsearch)7.6.1安装教程

注意:除了最后启动ES的时候在es账户下执行,其他都是在root 下执行的。相关文件的下载,我这里都有,百度网盘链接:https://pan.baidu.com/s/1PxgINf6Q1UZBtcsYw6FU0w  密码:4q9h

⼀、前期准备

java 11 的安装,请大家自行安装。

elasticsearch启动不能以root⽤户运⾏,所以创建es⽤户(root⽤户状态下操作)

useradd es

passwd es

然后输入两次:

zong2015   

 

如果需要删除用户

userdel -r es

 

将elasticsearch⽤户添加到sudoers

vim /etc/sudoers

在⽂件最后添加:

#by xiaoyichao

es ALL=(ALL) NOPASSWD: ALL

 

然后输出:

:wq!

强制保存

 

因Linux对⾮root账号的可并发操作⽂件,线程都有限制,所以对系统配置进⾏修改

  1. 修改⽂件限制,添加如下内容:

vim /etc/security/limits.conf

 

#by xiaoyichao

* soft nofile 65536

* hard nofile 65536

* soft nproc 65536

* hard nproc 65536

es hard memlock unlimited

es soft memlock unlimited  

 

  1. 调整虚拟内存&最⼤并发连接:

vim /etc/sysctl.conf   ,增加如下内容



配置⽂件更改

#by xiaoyichao

vm.max_map_count=262144

fs.file-max=655360

vm.swappiness=1

 

 

终端中使用命令临时更改:

sysctl -w vm.swappiness=1

sysctl -w vm.max_map_count=262144

 

关闭交换内存,谨慎操作,为了性能,使用ES最好关闭交换内存。

swapoff -a

 

 

⼆、开始安装

下载和解压安装包到指定位置

cd /home

sudo chmod 777 es

cd /home/es

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.1-linux-x86_64.tar.gz

root 用户下执行

 

tar -zxvf /home/es/elasticsearch-7.6.1-linux-x86_64.tar.gz -C /usr/local/

 

 

修改es配置⽂件(主节点):

cd /usr/local/elasticsearch-7.6.1/config

vim elasticsearch.yml

请根据自己机器的IP修改

#集群名称,通过组播的式通信,通过名称判断节点属于哪个集群

cluster.name: hhz_inner_elk_cluster

#节点名称,要唯

node.name: hhz_inner_elk1

#数据存放位置

path.data: /data2/elasticsearch/data

#志存放位置

path.logs: /data2/elasticsearch/logs

#es绑定的ip地址,开放卡地址

network.host: 这里写上你ES服务器的IP

#是否开启master ⻆⾊选举

node.master: true

# 是否开启数据节点⻆⾊

node.data: true

#是否锁住内存,避免交换(swapped)带来的性能损失,默认值是: false

bootstrap.memory_lock : true

#以下两项是外部访问http需要开启的项

#跨域资源共享

http.cors.enabled : true

#允许哪个起源53 http.cors.allow-origin : "*"

#确定节点将多久决定开始选举或加现有的群集之前等待。

discovery.zen.ping_timeout : 60s

#向主节点发送加请求

discovery.zen.join_timeout : 60s

#在主选举期间将忽略来不符合master资格的节点

discovery.zen.master_election.ignore_non_master_pings : true

# 选举最同意数

discovery.zen.minimum_master_nodes : 1

#只要有这么多数据或主节点已加集群,就可以恢复。

gateway.recover_after_nodes : 1

#预期在群集中的(数据或主节点)节点数。

gateway.expected_nodes : 1

#如果未达到预期的节点数,则恢复过程将等待配置的时间,然后再尝试恢复。

gateway.recover_after_time : 5m

# 开放端

http.port: 9200

# 集群间传输端

transport.tcp.port: 9300

# 集群发现 host

discovery.seed_hosts: ["这里写上你ES服务器的IP"]

# 集群初始化 master 节点

cluster.initial_master_nodes: ["hhz_inner_elk1"]

# 开启分分配意识

# ⽹⽂档地址: https://www.elastic.co/guide/en/elasticsearch/reference/current/allocation-awareness.html

node.attr.rack_id: rack_one

cluster.routing.allocation.awareness.attributes: rack_id

 

xpack.security.enabled: true

xpack.security.transport.ssl.enabled: true

xpack.security.transport.ssl.verification_mode: certificate

xpack.security.transport.ssl.keystore.path: elastic-certificates.p12

xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

创建数据存储位置和⽇志存储位置

cd /

mkdir data2

cd data2

mkdir elasticsearch

cd elasticsearch

mkdir logs

mkdir data

修改⽂件所属者给es⽤户

(软件)

chown -R es /usr/local/elasticsearch-7.6.1/

(数据,⽇志)

chown -R es /data2

 

配置TLS和身份验证

 

cd /usr/local/elasticsearch-7.6.1/bin

 

下面两个指令的交互,都直接输入回车即可。

./elasticsearch-certutil ca

./elasticsearch-certutil cert --ca elastic-stack-ca.p12

移动文件到config文件夹下

cd /usr/local/elasticsearch-7.6.1/

mv elastic-certificates.p12 elastic-stack-ca.p12  config

cd config

chmod 777 elastic-certificates.p12

chmod 777 elastic-stack-ca.p12

 

若为集群,将证书分发至所有节点下config文件中

# 分发至所有节点

scp elastic-certificates.p12 elastic-stack-ca.p12   [email protected]:/XX/XX

 

 

 

三、启动es并配置密码

1.启动ES

cd /usr/local/elasticsearch-7.6.1

su es

./bin/elasticsearch -d

 

./bin/elasticsearch 加上-d可以后台运⾏

⽤浏览器访问es所在机器的9200端⼝

显示如下内容即为成功。

 

可能出现的报错

max file descriptors [65535] for elasticsearch process is too low

 

参考方案;https://blog.csdn.net/jiahao1186/article/details/90235771

 

一定要到es用户下执行和验证

执行

ulimit -Hn 65536

验证

ulimit -Hn 

返回65536则代表生效,如果在root 下执行,es下不生效。

 

 

2.设置密码

cd /usr/local/elasticsearch-7.6.1/bin

./elasticsearch-setup-passwords interactive

首先输入y.

然后输入想要设置的密码。

密码大家自己设置就可以了。但是一定要记住。

四、kibana 安装

1.安装

 

wget https://artifacts.elastic.co/downloads/kibana/kibana-7.6.1-linux-x86_64.tar.gz

 

tar -zxvf kibana-7.6.1-linux-x86_64.tar.gz

 

cd /home/es/kibana-7.6.1-linux-x86_64/config

 

vim kibana.yml

添加如下配置,具体配置自行修改一下

server.port: 5601

server.host: "这里写上你ES服务器的IP"

elasticsearch.hosts: ["http://这里写上你ES服务器的IP:9200"]

i18n.locale: "zh-CN"

elasticsearch.username: "elastic"

elasticsearch.password: "密码是你第三章第二节设置的"

 

2.启动kibana

cd  /home/es/kibana-7.6.1-linux-x86_64/bin

 

./kibana --allow-root

或者

nohup ./kibana --allow-root  >/dev/null 2>&1 &

 

进入浏览器,打开http://这里写上你ES服务器的IP:5601

会让你输入账户名和密码,账户名是elastic,密码是之前设置的。

然后,选择左下角小齿轮->安全性->用户:

 

 

 

选择创建账户,用户名:xiaoyichao,角色superuser

创建完成后如图:

 

五、配置同义词插件

以最简单快捷的方式的完成相关插件(IK分词,拼音,同义词)的安装

 

本质就是把编译好的插件文件放入/usr/local/elasticsearch-7.6.1/plugins路径下,如果你之前的plugins里已经有其他安装的插件了,不要rm -rf plugins 。将IK分词器和同义词插件文件夹放入/usr/local/elasticsearch-7.6.1/plugins路径下即可。这是我编译好的配套文件 百度网盘,永久有效。大家可以直接使用,免于自己编译一次。链接:https://pan.baidu.com/s/15kREutbnkC1SkYOOlbuTgg  密码:7m2h

下面的操作是plugins为空时的操作方式。

cd  /usr/local/elasticsearch-7.6.1

rm -rf plugins

rz 自己的plugins.tar.gz 的文件。然后

tar -xvzf plugins.tar.gz

 

就直接可以使用三个相关插件了。

 

cd  /usr/local/elasticsearch-7.6.1/config

mkdir synonyms

 

vim community_synonyms.txt  配置自己同义词表。

 

chmod 777 community_synonyms.txt  赋予权限

 

IK分词器需要重启ES才能生效。

 

如果成功了,第五章中其他的安装都可以跳过了。

 

安装IK分词器

参考的文档:https://github.com/medcl/elasticsearch-analysis-ik

 

cd /root/Downloads/

wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.1/elasticsearch-analysis-ik-7.6.1.zip

                          

 

cd /usr/local/elasticsearch-7.6.1/plugins/ && mkdir ik

 

cp /root/Downloads/elasticsearch-analysis-ik-7.6.1.zip  /usr/local/elasticsearch-7.6.1/plugins/ik

 

cd /usr/local/elasticsearch-7.6.1/plugins/ik

unzip elasticsearch-analysis-ik-7.6.1.zip

 

IK分词器需要重启ES才能生效。

安装maven

cd  /root/Downloads

wget http://mirror.cogentco.com/pub/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz

 

cd /opt

tar -xvzf ~/Downloads/apache-maven-3.6.3-bin.tar.gz

 

M2_HOME="/opt/apache-maven-3.6.3"

 

vim /etc/profile

添加

export PATH="/opt/apache-maven-3.6.3/bin:$PATH"

source /etc/profile

sudo update-alternatives --install "/usr/bin/mvn" "mvn" "/opt/apache-maven-3.6.3/bin/mvn" 0

sudo update-alternatives --set mvn /opt/apache-maven-3.6.3/bin/mvn

 

cd  /root/Downloads

 

sudo wget https://raw.github.com/dimaj/maven-bash-completion/master/bash_completion.bash --output-document /etc/bash_completion.d/mvn

 

 

mvn –version

 

返回如下:

Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)

Maven home: /opt/apache-maven-3.6.3

Java version: 1.8.0_242, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64/jre

Default locale: en_US, platform encoding: UTF-8

OS name: "linux", version: "3.10.0-862.el7.x86_64", arch: "amd64", family: "unix"

 

 

安装同义词插件

本文参考的文档:https://github.com/bells/elasticsearch-analysis-dynamic-synonym

https://blog.csdn.net/fenglailea/article/details/56845892

 

 

cd /root/Downloads/

git clone  https://github.com/bells/elasticsearch-analysis-dynamic-synonym.git

 

cd /root/Downloads/elasticsearch-analysis-dynamic-synonym/src/main/java/com/bellszhu/elasticsearch/plugin

 

vim DynamicSynonymPlugin.java

第40行 @Override 删除即可

 

cd /root/Downloads/elasticsearch-analysis-dynamic-synonym

 

把本文件里面所有版本号<version>7.X.X</version>修改为7.6.1 重新执行编译后的文件就是7.6.1版本的

vim pom.xml

 

cd /root/Downloads/elasticsearch-analysis-dynamic-synonym

 

mvn package

 

如下信息,表示编译成功

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------

[INFO] Total time:  2.876 s

[INFO] Finished at: 2020-07-06T17:38:51+08:00

[INFO] ------------------------------------------------------------------------

 

 

cd  /usr/local/elasticsearch-7.6.1/plugins

mkdir dynamic-synonym

 

cp /root/Downloads/elasticsearch-analysis-dynamic-synonym/target/releases/elasticsearch-analysis-dynamic-synonym-7.6.1.zip  /usr/local/elasticsearch-7.6.1/plugins/dynamic-synonym

 

cd /usr/local/elasticsearch-7.6.1/plugins/dynamic-synonym

unzip elasticsearch-analysis-dynamic-synonym-7.6.1.zip

 

 

cd  /usr/local/elasticsearch-7.6.1/config

mkdir synonyms

 

配置自己同义词表。

vim  synonym.txt

格式如下:

夜间模式,暗黑模式

同城,当地

番茄,西红柿

# 当然还有其他的形式,大家可以自行不同形式之间的效果区别。

赋予权限

chmod 777 synonym.txt

 

grant {permission java.io.FilePermission " /usr/local/elasticsearch-7.6.1/config/synonyms/synonym.txt", "read";};

配置IK分词器的自定义词表

把你的同义词放在自定义词表中,你的同义词才能真正的起作用,避免你的同义词被切开。

 

cd /usr/local/elasticsearch-7.6.1/plugins/ik/config

mkdir custom

cd custom

vim mydict.dic

chmod 777 mydict.dic

 

输入你的自定义词表,格式如下:

 

夜间模式

暗黑模式

同城

当地

番茄

西红柿

 

cd /usr/local/elasticsearch-7.6.1/plugins/ik/config

vim IKAnalyzer.cfg.xml

chmod 777 IKAnalyzer.cfg.xml

 

 

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">

<properties>

        <comment>IK Analyzer 扩展配置</comment>

        <!--用户可以在这里配置自己的扩展字典 -->

        <entry key="ext_dict">custom/mydict.dic</entry>

        <!--用户可以在这里配置自己的扩展停止词字典-->

        <!--<entry key="ext_stopwords">custom/ext_stopword.dic</entry>-->

        <!--用户可以在这里配置远程扩展字典 -->

        <!-- <entry key="remote_ext_dict">words_location</entry> -->

        <!--用户可以在这里配置远程扩展停止词字典-->

        <!-- <entry key="remote_ext_stopwords">words_location</entry> -->

</properties>

河北科技大学--肖轶超    [email protected]

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_37792714/article/details/108025200

智能推荐

SPFILE 错误导致数据库无法启动(ORA-01565)_ora01565 ora27046-程序员宅基地

文章浏览阅读469次。--==========================================--SPFILE错误导致数据库无法启动(ORA-01565)--========================================== SPFILE错误导致数据库无法启动 SQL> startup ORA-01078: failurein proce_ora01565 ora27046

功能测试基础知识(1)-程序员宅基地

文章浏览阅读6.1k次,点赞2次,收藏54次。功能测试基础知识总结_功能测试

postgresql 中文排序_pg中文排序-程序员宅基地

文章浏览阅读3.2k次,点赞3次,收藏2次。pg 中文首字母排序_pg中文排序

[Mysql] CONVERT函数_mysql convert-程序员宅基地

文章浏览阅读3.1w次,点赞23次,收藏109次。本文主要讲解CONVERT函数_mysql convert

【Android】Retrofit入门详解-程序员宅基地

文章浏览阅读1.6k次,点赞23次,收藏2次。简介:大三学生党一枚!主攻Android开发,对于Web和后端均有了解。个人语录:取乎其上,得乎其中,取乎其中,得乎其下,以顶级态度写好一篇的博客。Retrofit入门一.Retrofit介绍二.Retrofit注解2.1 请求方法注解2.1.1 GET请求2.1.2 POST请求2.2 标记类注解2.2.1 FormUrlEncoded2.2.2 Multipart2.2.3 Streaming2.3 参数类注解2.3.1 Header和Headers2.3.2 Body2.3.3 Path2.3.4_retrofit

教你拷贝所有文件到指定文件夹_所有文件夹下文件的 拷贝怎么弄-程序员宅基地

文章浏览阅读1.9k次。在处理文件的时候,如何将文件、文件夹复制到指定文件夹之中呢?打开【文件批量改名高手】,在“文件批量管理任务”中,先点“添加文件”,将文件素材导入。选好一系列的复制选项,单击开始复制,等全部复制好了,提示“已完成XX%”然后可以任意右击一个文件夹路径,在显示出的下拉列表中,选择“打开文件夹”在“复制到的目标文件夹(目录)”中,导入文件夹,多个文件夹,一行一个。最后,即可看到文件、文件夹都复制到各个指定的文件夹之中一一显示着啦。导入后,在表格中我们就可以看到文件或文件夹的名称以及所排列的序号。..._所有文件夹下文件的 拷贝怎么弄

随便推点

Lua5.3版GC机制理解_lua5.3 gc-程序员宅基地

文章浏览阅读8.3k次,点赞8次,收藏42次。目录1.Lua垃圾回收算法原理简述2.Lua垃圾回收中的三种颜色3.Lua垃圾回收详细过程4.步骤源码详解4.1新建对象阶段4.2触发条件4.3 GC函数状态机4.4标记阶段4.5清除阶段5.总结参考资料lua垃圾回收(Garbage Collect)是lua中一个比较重要的部分。由于lua源码版本变迁,目前大多数有关这个方面的文章都还是基于lua5.1版本,有一定的滞后性。因此本文通过参考当前..._lua5.3 gc

手机能打开的表白代码_能远程打开,各种手机电脑进行监控操作,最新黑科技...-程序员宅基地

文章浏览阅读511次。最近家中的潮人,老妈闲着没事干,开始学玩电脑,引起他的各种好奇心。如看看新闻,上上微信或做做其他的事情。但意料之中的是电脑上会莫名出现各种问题?不翼而飞的图标?照片又不见了?文件被删了,卡机或者黑屏,无声音了,等等问题。常常让她束手无策,求助于我,可惜在电话中说不清,往往只能苦等我回家后才能解决,那种开心乐趣一下子消失了。想想,这样也不是办法啊, 于是,我潜心寻找了两款优秀的远程控制软件。两款软件...

成功Ubuntu18.04 ROS melodic安装Cartograhper+Ceres1.13.0,以及错误总结_ros18.04 安装ca-程序员宅基地

文章浏览阅读1.8k次。二.初始化工作空间三.设置下载地址四.下载功能包此处可能会报错,请看:rosdep update遇到ERROR: error loading sources list: The read operation timed out问题_DD᭄ꦿng的博客-程序员宅基地接下来一次安装所有功能包,注意对应ROS版本 五.编译功能包isolated:单独编译各个功能包,每个功能包之间不产生依赖。编译过程时间比较长,可能需要几分钟时间。此处可能会报错:缺少absl依赖包_ros18.04 安装ca

Harbor2.2.1配置(trivy扫描器、镜像签名)_init error: db error: failed to download vulnerabi-程序员宅基地

文章浏览阅读4.1k次,点赞3次,收藏7次。Haobor2.2.1配置(trivy扫描器、镜像签名)docker-compose下载https://github.com/docker/compose/releases安装cp docker-compose /usr/local/binchmod +x /usr/local/bin/docker-composeharbor下载https://github.com/goharbor/harbor/releases解压tar xf xxx.tgx配置harbor根下建立:mkd_init error: db error: failed to download vulnerability db: database download

openFOAM学习笔记(四)—— openFOAM中的List_openfoam list-程序员宅基地

文章浏览阅读3.2k次。又是一个很底层的部分,但是也非常重要_openfoam list

C++对象的JSON序列化与反序列化探索_c++对象 json 序列化和反序列化 库-程序员宅基地

文章浏览阅读1.7w次,点赞3次,收藏15次。一:背景作为一名C++开发人员,我一直很期待能够像C#与JAVA那样,可以轻松的进行对象的序列化与反序列化,但到目前为止,尚未找到相对完美的解决方案。本文旨在抛砖引玉,期待有更好的解决方案;同时向大家寻求帮助,解决本文中未解决的问题。 二:相关技术介绍本方案采用JsonCpp来做具体的JSON的读入与输出,再结合类成员变量的映射,最终实现对象的JSON序列化与反序列化。本文不再_c++对象 json 序列化和反序列化 库

推荐文章

热门文章

相关标签