欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

1.1Centos8安装Elasticsearch

时间:2023-05-11
1、点击下载

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.16.3.tar.gz

2、上传安装包到虚拟机并解压

上传至 /opt/elastic解压

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

移动至 /opt/elastic文件夹

mv elasticsearch-7.16.3 /opt/elastic/elasticsearch-7.16.3tar -zxvf elasticsearch-7.16.3-linux-x86_64.tar.gz -C /opt/elastic/elasticsearch-7.16.3tar -zxvf kibana-7.16.3-linux-x86_64.tar.gz -C /opt/elastic/kibana-7.16.3

3、elasticsearch 目录介绍

bin:可执行文件在里面,运行es的命令就在这个里面,包含了一些脚本文件等
config:配置文件目录
JDK:java环境
lib:依赖的jar,类库
logs:日志文件
modules:es相关的模块
plugins:可以自己开发的插件
data:这个目录没有,自己新建一下,后面要用 mkdir data,这个作为索引目录

4、设置配置文件参数

配置详解参考: https://www.cnblogs.com/xiaochina/p/6855591.html

config 文件夹中存放着配置文件

编辑 elasticsearch.yml ,在文件最后添加

cluster.name: es-article #配置elasticsearch的集群名称,默认是my-application。建议修改成一个有意义的名称。node.name: es-node-1 #节点名,通常一台物理服务器就是一个节点,es会默认随机指定一个名字,建议指定一个有意义的名称,方便管理network.host: 0.0.0.0 #绑定ip地址http.port: 9200 #暴露的http端口transport.tcp.port: 9300 #内部端口node.master: true #主节点node.data: true #数据节点path.data: /usr/local/elasticsearch-7.9.3/data #索引目录path.logs: /usr/local/elasticsearch-7.9.3/logs #日志目录cluster.initial_master_nodes: ["es-node-1"] #集群节点#使用head等插件监控集群信息,需要打开以下配置项http.cors.enabled: truehttp.cors.allow-origin: "*"这个为单机配置,之后还会介绍集群配置cluster.name 集群的名字node.name 此节点在集群中的名字network.host: 0.0.0.0 任意ip都可以访问我http.port: 访问端口号cluster.initial_master_nodes: 集群中节点名称。此名称要和node.name对应。

jvm.options文件

## JVM configuration ################################################################## importANT: JVM heap size#################################################################### You should always set the min and max JVM heap## size to the same value、For example, to set## the heap to 4 GB, set:#### -Xms4g## -Xmx4g#### See https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html## for more information################################################################## # Xms represents the initial size of total heap space# Xmx represents the maximum size of total heap space -Xms1g-Xmx1g ################################################################## Expert settings#################################################################### All settings below this section are considered## expert settings、Don't tamper with them unless## you understand what you are doing################################################################## ## GC configuration8-13:-XX:+UseConcMarkSweepGC8-13:-XX:CMSInitiatingOccupancyFraction=758-13:-XX:+UseCMSInitiatingOccupancyonly ## G1GC Configuration# NOTE: G1 GC is only supported on JDK version 10 or later# to use G1GC, uncomment the next two lines and update the version on the# following three lines to your version of the JDK# 10-13:-XX:-UseConcMarkSweepGC# 10-13:-XX:-UseCMSInitiatingOccupancyOnly14-:-XX:+UseG1GC14-:-XX:G1ReservePercent=2514-:-XX:InitiatingHeapOccupancyPercent=30 ## JVM temporary directory-Djava.io.tmpdir=${ES_TMPDIR} ## heap dumps # generate a heap dump when an allocation from the Java heap fails# heap dumps are created in the working directory of the JVM-XX:+HeapDumponOutOfMemoryError # specify an alternative path for heap dumps; ensure the directory exists and# has sufficient space-XX:HeapDumpPath=data # specify an alternative path for JVM fatal error logs-XX:ErrorFile=logs/hs_err_pid%p.log ## JDK 8 GC logging8:-XX:+PrintGCDetails8:-XX:+PrintGCDateStamps8:-XX:+PrintTenuringDistribution8:-XX:+PrintGCApplicationStoppedTime8:-Xloggc:logs/gc.log8:-XX:+UseGCLogFileRotation8:-XX:NumberOfGCLogFiles=328:-XX:GCLogFileSize=64m # JDK 9+ GC logging9-:-Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=32,filesize=64m

jvm配置这里我采用默认配置,没有修改,可根据自己虚拟机实际情况修改。

五、添加elastic用户

Elasticsearch不允许使用root操作Elasticsearch,需要添加用户,操作如下:

groupadd elastic //创建用户组useradd elastic -g elastic -p S*Z&9J#8 //创建用户让其归属到elastic组中,然后创建密码S@Z&9J#8 chown -R elastic:elastic /opt/elastic //chown -R {组名}.{用户名} /usr/local/es

六、修改配置文件

修改limist.conf文件

命令: vi /etc/security/limits.conf配置:lorshaw soft nofile 65536lorshaw hard nofile 131072lorshaw soft nproc 65536lorshaw hard nproc 65536

修改limits.d配置文件

命令:vi /etc/security/limits.d/20-nproc.conf配置:lordshaw soft nproc 65536

修改sysctl.conf配置文件

命令:vi /etc/sysctl.conf配置:vm.max_map_count=655360 执行命令:让以上配置生效sysctl -p

关闭防火墙

systemctl stop firewalld.service

七、启动Elasticsearch

切换到elastic的 /bin目录下执行:

./elasticsearch

后台启动 Elasticsearch 服务:

./elasticsearch -d

如果出现以下错误:

ERROR: [3]bootstrap checks failed
#用户拥有的可创建文件描述的权限太低,至少需要65536;

[1]: max filedescriptors [4096]forelasticsearch process is too low, increase to at least [65535]
[2]: max number of threads [3795]foruser [esuser]is too low, increase to at least [4096]
#elasticsearch用户拥有的内存权限太小,至少需要262144;

[3]: max virtual memory areas vm.max_map_count [65530]is too low, increase to at least [262144]
需要切换到root用户修改配置:

修改 /etc/security/limits.conf 文件 添加以下内容:

soft nofile 65536hard nofile 131072soft nproc 4096hard nproc 4096

修改 /etc/sysctl.conf 增加 vm.max_map_count=262145

vm.max_map_count=262145

处理第一个错误: vim /etc/security/limits.conf //文件最后加入esuser soft nofile 65536esuser hard nofile 65536esuser soft nproc 4096esuser hard nproc 4096 处理第二个错误:进入limits.d目录下修改配置文件。vim /etc/security/limits.d/20-nproc.conf 修改为 esuser soft nproc 4096 处理第三个错误:vim /etc/sysctl.conf vm.max_map_count=655360执行以下命令生效: sysctl -p关闭防火墙:systemctl stop firewalld.service再次启动成功!

修改完后 sysctl -p 刷新一下
再次切换到 elastic 进行启动
访问192.168.100.100:9200

八、部署Kibana 1、下载软件包

cd /opt/elastic # 先导航到要存放的目录下wget https://artifacts.elastic.co/downloads/kibana/kibana-7.16.3-linux-x86_64.tar.gz # 下载tar-xzf kibana-7.16.3-linux-x86_64.tar.gz # 解压chown -R elastic.elastic kibana-7.16.3-linux-x86_64/ # 给用户赋权限rm -f kibana-7.16.3-linux-x86_64.tar.gz # 删除压缩文件cd kibana-7.16.3-linux-x86_64/ # 导航到解压之后的目录之下

2、修改配置文件

vi config/kibana.yml

**修改以下配置 **

server.port:5601 # 监听端口server.host:"192.168.52.129" # 监听IP地址,换成自己的IPelasticsearch.hosts:["http://192.168.52.129:9200"] # elasticsearch连接kibana的URL

3、运行

此时位于kibana-7.16.3-linux-x86_64目录之下

su elastic.elastic # 切换用户,不要用root,第一步已经给了用户elastic.elastic权限./bin/kibana

4、运行效果

修改限制信息

目的是修改系统中允许应用最多创建多少文件等的限制权限。Linux默认来说,一般限制应用最多创建的文件是65535个。但是Elasticsearch至少需要65536的文件创建权限。Elasticsearch至少需要4096的线程池预备。Elasticsearch在5.x版本之后,强制要求在linux中不能使用root用户启动Elasticsearch进程。所以必须使用其他用户启动Elasticsearch进程才可以。修改系统控制权限
系统控制文件是管理系统中的各种资源控制的配置文件。Elasticsearch需要开辟一个65536字节以上空间的虚拟内存。Linux默认不允许任何用户和应用直接开辟虚拟内存。

配置开机启动
创建开机启动文件

vim /usr/lib/systemd/system/elasticsearch.service

内容如下:

[Unit]Description=elasticsearch[Service]User=es #此处为刚才设置的用户名LimitNOFILE=100000LimitNPROC=100000ExecStart=/usr/local/elasticsearch/bin/elasticsearch[Install]WantedBy=multi-user.target

设置开机启动

systemctl daemon-reload #加载文件配置systemctl enable elasticsearch #设置开机启动systemctl start|stop|status|restart elasticsearch #启动|停止|状态|重启es

1.1 启动报错:

解决方式:bin/elasticsearch -Des.insecure.allow.root=true或者 修改bin/elasticsearch:加上ES_JAVA_OPTS属性: ES_JAVA_OPTS="-Des.insecure.allow.root=true"

1.2 再次启动:

这是出于系统安全考虑设置的条件。
由于ElasticSearch可以接收用户输入的脚本并且执行,为了系统安全考 虑,建议创建一个单独的用户用来运行ElasticSearch。

groupadd elsearchuseradd elsearch -g elsearch -p elasticsearchchown -R elsearch.elsearch /opt/elasticsearch-6.4.0/ 异常:Exception in thread "main" java.nio.file.AccessDeniedException: /usr/local/elasticsearch-6.6.2/config/jvm.optionselasticsearch用户没有该文件夹的权限,执行命令chown -R es:elasticsearch /usr/local/

1.3 再次启动显示已杀死:

需要调整JVM的内存大小:vi bin/elasticsearch ES_JAVA_OPTS="-Xms512m -Xmx512m"再次启动:启动成功

1.4 如果显示如下类似信息:

[INFO ][o.e.c.r.a.DiskThresholdMonitor] [ZAds5FP] low disk watermark [85%] exceeded on [ZAds5FPeTY-ZUKjXd7HJKA][ZAds5FP][/opt/elasticsearch-6.2.4/data/nodes/0] free: 1.2gb[14.2%], replicas will not be assigned to this node
需要清理磁盘空间。
后台运行:./bin/elasticsearch -d
测试连接:curl 127.0.0.1:9200
会看到一下JSON数据:

[root@localhost ~]# curl 127.0.0.1:9200 { "name" : "rBrMTNx", "cluster_name" : "elasticsearch", "cluster_uuid" : "-noR5DxFRsyvAFvAzxl07g", "version" : { "number" : "5.1.1", "build_hash" : "5395e21", "build_date" : "2016-12-06T12:36:15.409Z", "build_snapshot" : false, "lucene_version" : "6.3.0" }, "tagline" : "You Know, for Search" }

1.5 实现远程访问: 需要对config/elasticsearch.yml进行

配置: network.host: 192.168.25.131

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。