0
点赞
收藏
分享

微信扫一扫

设计模式:生活中的组合模式

静守幸福 04-06 14:30 阅读 1

1、ElasticSearch7.8.0下载

elasticsearch:

官方下载地址:https://www.elastic.co/cn/downloads/elasticsearch

链接: https://pan.baidu.com/s/1wAKQoB3nhLhcnBlPfVOLxQ 提取码: t83n

kibana:

链接: https://pan.baidu.com/s/156aD9zDdvUv8LFgDEIPoSw 提取码: jkw2

ik:

链接: https://pan.baidu.com/s/1jUZpDmTwcaaMalNWmTWWgw 提取码: 9d45

2、解压

  1. 解压elasticsearch-7.8.0-linux-x86_64.tar.gz到/usr/local/目录:
  2. # tar -zxvf elasticsearch-7.8.0.tar.gz -C /usr/local/

3、创建es用户 (直接用ZjZhenghe用户启动,或者有其他用户也可以,但不能用root启动。可以不用执行本操作)

如果使用root用户启动elasticsearch,会报 can not run elasticsearch as root,故创建es用户及用户组来运行elasticsearch

# groupadd eszh #新建一个es的用户组

# useradd -g eszh eszh #在es用户组下面建立一个es的用户

# passwd eszh #修改用户密码 密码:ZH!#$.QWUf.d23fdsd231

在eszh用户目录/home/eszh下创建data,logs文件夹,用于存放es数据和es日志,这里修改或者使用默认的,如果修改,需要增加ZjZhenghe的权限,或者 chown -R ZjZhenghe:ZjZhenghe 路径名

4、配置elasticsearch.yml

# vim /usr/local/elasticsearch7.8.0/config/elasticsearch.yml

# 数据和日志的存储目录,个人觉得放在es用户目录下较好,其实可以随便放在哪

path.data: /home/es/elasticsearch-7.8.0/data

path.logs: /home/es/elasticsearch-7.8.0/logs

# 设置绑定的ip,设置为0.0.0.0以后就可以让任何计算机节点访问到了

network.host: 0.0.0.0

# 端口

http.port: 9200

# 集群名称

cluster.name: my-application

# 节点名称

node.name: node-1

# 设置在集群中的所有节点名称,这个节点名称就是之前所修改的,当然你也可以采用默认的也行,目前是单机,放入一个节点即可

cluster.initial_master_nodes: ["node-1"]

# 支持跨域,跨域配置是为了kibana,head连接

http.cors.enabled: true

http.cors.allow-origin: "*"

# 设置为true锁住内存,当服务混合部署了多个组件及服务时,应开启此操作,允许es占用足够多的内存。

bootstrap.memory_lock: false

# es优化,是否支持过滤掉系统调用

bootstrap.system_call_filter: false

5、修改配置jvm.options 默认1g就行,不需要修改

elasticsearch使用java的jvm默认是使用1G的内存的,如果你机器的内存过小,启动可能会报错或者直接killed(es进程直接被杀),在jvm.options中将es使用内存调低即可,由于我实在太穷,买不起大内存服务器,所以索性调到128m,你如果有钱可以设置高点

-Xms512m

-Xmx512m

6、配置sysctl.conf

elasticsearch最小需要max_map_count为262144,而虚拟机默认只有65536。

加大vm.max_map_count(进程可以拥有的VMA(虚拟内存区域)的数量,虚拟内存区域是一个连续的虚拟地址空间区域)

#

在sysctl.conf中添加

vm.max_map_count=262144

# sysctl -p #重启生效

--------------------------------sysctl.conf配置完毕-------------------------

配置原因:

1)资源问题:每个打开的文件都需要消耗内存来管理,而内存是有限的。

2)安全问题:如果不限制的话,有不怀好心的人启动一个进程来无限的创建和打开新的文件,会让服务器崩溃。

3)bootstrap.memory_lock: false;bootstrap.system_call_filter: false配置必须

限制资源使用的配置文件是 /etc/security/limits.conf,和/etc/security/limits.d/目录,/etc/security/limits.d/里面配置会覆盖/etc/security/limits.conf的配置

# vim /etc/security/limits.conf

es soft nproc 65536:单个用户可用的最大进程数量(超过会警告);

es hard nproc 65536:单个用户可用的最大进程数量(超过会报错);

es soft nofile 4096:可打开的文件描述符的最大数(超过会警告);

es hard nofile 4096:可打开的文件描述符的最大数(超过会报错);

# vim /etc/security/limits.d/20-nproc.conf

es soft nproc 4096

7、启动

elasticsearch是不能用root启动,那我们切换es用户启动即可

(1)先改elasticsearch7.8.0文件夹所属为es

# chown -R ZjZhenghe:ZjZhenghe /usr/local/elasticsearch-7.8.0/

(2)切换ZjZhenghe用户

# su ZjZhenghe

(3)启动elasticsearch

# cd /usr/local/elasticsearch-7.8.0

# ./elasticsearch -d # 加-d为后台启动

8、访问服务

访问地址服务http://xx.xx.xx.xx:9200/

{

"name" : "node-1",

"cluster_name" : "elasticsearch",

"cluster_uuid" : "wWnUb6BFQWKNJXkQ_vgDIA",

"version" : {

"number" : "7.8.0",

"build_flavor" : "default",

"build_type" : "tar",

"build_hash" : "757314695644ea9a1dc2fecd26d1a43856725e65",

"build_date" : "2020-06-14T19:35:50.234439Z",

"build_snapshot" : false,

"lucene_version" : "8.5.1",

"minimum_wire_compatibility_version" : "6.8.0",

"minimum_index_compatibility_version" : "6.0.0-beta1"

},

"tagline" : "You Know, for Search"

}

9、安装kibana

(1)下载kibana7.8.0到linux,解压

# tar -zxvf kibana-7.8.0-linux-x86_64.tar.gz -C /usr/local/kibana-7.8.0

(2)配置kibana.yml

# vim /usr/local/kibana-7.8.0/config/kibana.yml

server.port: 5601 # kibana服务端口

server.host: "0.0.0.0" # 任何ip皆可访问

elasticsearch.url: "http://elasticsearch的ip:9200" # 连接elasticsearch

i18n.locale: "zh-CN" # 汉化

(3)启动(/usr/local/kibana-7.8.0/bin) 也需要使用 ZjZhenghe启用

# ./kibana

# 后台启动

# nohup ./kibana

(4)ip:5601就可以访问了。

10、es添加密码

(1)在 elasticsearch.yml 中添加如下配置

http.cors.allow-headers: Authorization xpack.security.enabled: true xpack.security.transport.ssl.enabled: true

(2)重启es服务

ps -ef |grep elasticsearch 查出进程,kill 进程号 杀死进程。

(3)设置密码:

/usr/local/elasticsearch-7.8.0/bin/elasticsearch-setup-passwords interactive

(根据提示输入密码:Zhes.13DSWJWE3dfdd9098 )用户名:elastic

需要设置 elastic,apm_system,kibana,kibana_system,logstash_system,beats_system, remote_monitoring_user 这些用户的密码。

(4)重启es

11、kibana配置文件添加密码登录

vi  kibana.yml 添加配置文件

elasticsearch.username: "elastic"

elasticsearch.password: "Zhes.13DSWJWE3dfdd9098"

启动kibana

注意:es kibana 端口(9200,5601),尽量不对外网开放,属于高危端口,如果必须开放,一定添加IP白名单,只有白名单内的IP,可以访问这2个服务的端口

ssl证书添加

第一步:在ES的根目录生成CA证书

bin/elasticsearch-certutil ca

中间需要设置密码,直接回车可以不设置(慎重考虑)。

第二步:使用第一步生成的证书,产生p12密钥

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

此时文件大概如下:

第三步:在config目录创建certs目录

第四步:拷贝p12文件至certs目录

第五步:修改设置

修改后的配置如下:

xpack.security.enabled: true

xpack.license.self_generated.type: basic

xpack.security.transport.ssl.enabled: true

xpack.security.transport.ssl.verification_mode: certificate

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

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

第六步:重启ES,错误消失

举报

相关推荐

0 条评论