安装Elasticsearch

>安装

1. 创建基础环境

环境 centos7.9
es版本 7.13.3

按照如下的步骤一步步走,就可以正常完成安装

groupadd es
useradd es -g es -p es123

cd /home
mkdir -p elk/{es, kibana, logstash, data, logs}
chown -R es:es elk
2. 安装es
cd elk/

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

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

shasum -a 512 -c elasticsearch-7.13.3-linux-x86_64.tar.gz.sha512

tar -xf elasticsearch-7.13.3-linux-x86_64.tar.gz --strip-components 1 -C es/
3. 安装ik分词器
cd es/

./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.13.3/elasticsearch-analysis-ik-7.13.3.zip
4. 安装pinyin分词器
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-pinyin/releases/download/v7.13.3/elasticsearch-analysis-pinyin-7.13.3.zip

注意所有的plugin版本必须和es版本一致,比如Elasticsearch是7.13.3, 那么Beats、APM Server 、Kibana和Logstash等等都必须是 7.13.3

>配置

1. config/elasticsearch.yml
vim config/elasticsearch.yml

#集群名称:为了区分不同集群,在生产环境需要进行修改。每个节点需要配置相同的集群名才能加入同一个集群中,且每个节点只能加入一个集群,要保证集群名相同,否则会加入错误的集群中。
cluster.name: zhihuichengshi

#节点名称:可以使用默认(hostname -f),为了方便记忆,如master-node1, master-node2, slave-node1等等
node.name: master-node1

#data和logs目录在生产环境一定设置在es的目录之外,以防止升级时损坏数据,另外处于安全考虑,该目录仅限于es用户访问,其他不能访问
path.data: /home/elk/data
path.logs: /home/elk/logs

#当配置此设置后,es将启动生产环境,将一些系统启动检查从警告升级到异常
network.host: 0.0.0.0  #外网可以访问

#默认开启的端口
http.port: 9200

#没有配置时,es将自动绑定回环地址和扫描9300-9305端口连接其他节点
#配置其他主机的节点,形成集群
discovery.seed_hosts: ["192.168.1.10:9300", "192.168.1.11", "seeds.mydomain.com", "[0:0:0:0:0:ffff:c0a8:10c]:9301"]

#当开启一个全新的集群时,会有一个集群的引导步骤,这步骤用来确定哪些节点参与第一次的主节点选举。在开发模式下,这个步骤由节点自动完成,这种模式本质上是不安全的,因为不是所有节点都适合做主节点,主节点关系到集群的稳定性。因此在生产模式下,集群第一次启动时,需要有一个适合作为主节点的节点列表
#第一次成功形成集群后,从每个节点的配置中删除cluster.initial_master_nodes设置。重新启动集群或向现有集群添加新节点时,请勿使用此设置。
cluster.initial_master_nodes: ["master-node1"]

#启用xpack验证功能,如果network.host设置为0.0.0.0那么必须配置
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.license.self_generated.type: basic

#是否支持跨域,默认为false,为了head,kibana等工具可以正常使用
http.cors.enabled: true

#其他跨域配置,非特出情况无需配置
#当设置允许跨域,默认为*,表示支持所有域名,如果我们只是允许某些网站能访问,那么可以使用正则表达式。比如只允许本地地址。 /https?:\/\/localhost(:[0-9]+)?/
http.cors.allow-origin
#浏览器发送一个“预检”OPTIONS请求,以确定CORS设置。最大年龄定义多久的结果应该缓存。默认为1728000(20天)
http.cors.max-age
#允许跨域的请求方式,默认OPTIONS,HEAD,GET,POST,PUT,DELETE
http.cors.allow-methods
#跨域允许设置的头信息,默认为X-Requested-With,Content-Type,Content-Length
http.cors.allow-headers
#是否返回设置的跨域Access-Control-Allow-Credentials头,如果设置为true,那么会返回给客户端。
http.cors.allow-credentials

#低于或等于centos6.x适用,其他可以注释,centos6.x操作系统不支持SecComp
bootstrap.system_call_filter: false
2. config/jvm.options
vim config/jvm.options
#GC堆内存大小,最小堆和最大堆值相等
#大小在4G以下,直接砍掉高32位,避免了编码解码过程
#大小在4G以上32G以下,则启用UseCompressedOop;
#大小大于32G,压指失效,使用原来的64位
-Xms512m
-Xmx512m
3. 系统配置
vim /etc/security/limits.conf
#设置最大可以打开的文件描述符数量
es - nofile 65536
#设置最大可打开进程数量
es - noproc 4096
#更改后重连客户端,即可生效

#关闭swap,我的系统在安装的时候就已经关闭swap分区了,所以下面的不需要执行,这里你们根据实际情况执行
swapoff -a

vim /etc/fstab #注释掉一切关于swap的行

vim /etc/sysctl.conf 
#关闭交换分区
vm.swappiness = 0

#文件包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量
#Elasticsearch使用 mmapfs默认情况下,该目录用于存储其索引。默认的操作系统对mmap计数的限制可能太低,这可能会导致内存不足异常
vm.max_map_count = 262144

#更改后使其生效
sysctl -p

>启动es

1. 如果在elasticsearch.yml中配置了xpack.security.enabled: true
#分别给elastic, apm_system, kibana_system, logstash_system, beats_system, remote_monitoring_user 设置密码
./bin/elasticsearch-setup-passwords interactive

修改密码:其中elastic可换成其他系统名称,进而修改其密码
curl -H “Content-Type:application/json” -XPOST -u elastic ‘http://192.168.25.131:9200/_xpack/security/user/elastic/_password’ -d ‘{ “password” : “123456” }’

2. 启动es
cd /home/elk/es/
su es -c "./bin/elasticsearch -d -p pid"
3. 关闭es
cd /home/elk/es/
pkill -F pid
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值