elasticsearch集群安装+安全验证+kibana安装
面试成功其实都是必然发生的事情,因为在此之前我做足了充分的准备工作,不单单是纯粹的刷题,更多的还会去刷一些Java核心架构进阶知识点,比如:JVM、高并发、多线程、缓存、Spring相关、分布式、微服务、RPC、网络、设计模式、MQ、Redis、MySQL、设计模式、负载均衡、算法、数据结构、kafka、ZK、集群等。候选主节点的设置方法是设置node.mater为true,默认情况下,node.
修改limits.cong配置 /etc/security/limits.conf
- 修改如下
nofile 最大打开文件描述符数
nproc 最大进程数
memlock 最大内存锁定
echo "* soft nofile 65536
-
hard nofile 131072
-
soft nproc 4096
-
hard nproc 4096
-
soft memlock unlimited
-
hard memlock unlimited" >> /etc/security/limits.conf
修改sysctl配置 /etc/sysctl.conf
- 修改如下
echo “vm.max_map_count = 262145” >> /etc/sysctl.conf
#生效
sysctl -p
修改es占用内存 /opt/es/config/jvm.options
sed -i “s/-Xms1g/-Xms"800m”/g" /opt/es/config/jvm.options
sed -i “s/-Xmx1g/-Xmx"800m”/g" /opt/es/config/jvm.options
开启ES内存锁定 /opt/es/config/elasticsearch.yml
- 增加如下配置
bootstrap.memory_lock: true
节点类型
- 主节点
候选主节点的设置方法是设置node.mater为true,默认情况下,node.mater和node.data的值都为true,即该节点既可以做候选主节点也可以做数据节点。由于数据节点承载了数据的操作,负载通常都很高,所以随着集群的扩大,建议将二者分离,设置专用的候选主节点。当我们设置node.data为false,就将节点设置为专用的候选主节点了。
node.master: true
node.data: false
- 数据节点
数据节点负责数据的存储和相关具体操作,比如CRUD、搜索、聚合。所以,数据节点对机器配置要求比较高,首先需要有足够的磁盘空间来存储数据,其次数据操作对系统CPU、Memory和IO的性能消耗都很大。通常随着集群的扩大,需要增加更多的数据节点来提高可用性。
node.master: false
node.data: true
- client节点
即不会被选作主节点,也不会存储任何索引数据。该节点只能处理路由请求,处理搜索,分发索引操作等,从本质上来说该客户节点表现为智能负载平衡器。
node.master = false
node.data = false
配置集群名称
-
不同的节点配置同一个cluster.name可组成同一个集群,确保不同的集群使用不同的cluster.name
-
配置如下 :
cluster.name: es-cluster-test
配置ES节点名称
-
node.name表示集群节点的名称,集群中节点进行区分,如果不配置则默认为主机名
-
配置如下
node.name: es01
配置ES节点监听地址
- 如果不配置,默认是监听在127.0.0.1 和 [::1],同时以development的方式启动。
#监听在指定ip上
network.host : 172.17.0.1
#监听在所有ip上
network.host : 0.0.0.0
日志数据路径配置
- 配置方式
path.data: /opt/data/es
path.logs: /opt/log/es
path:
data: /opt/data/es
logs: /opt/log/es
- path.data, 可以设置多个目录
path:
logs: /opt/log/es
data:
-
/opt/data/es-A
-
/opt/data/es-B
-
/opt/data/es-C
集群发现配置
- discovery.seed_hosts 配置方式如下
用于多个集群节点进行发现,组成集群
discovery.seed_hosts: [“192.168.1.10:9300”, “192.168.1.11”, “seeds.mydomain.com”]
discovery.seed_hosts:
-
192.168.1.10:9300
-
192.168.1.11
-
seeds.mydomain.com
- cluster.initial_master_nodes 配置方式如下
用于集群在第一次启动时,指定可以参与选举的主节点列表 (node.master: true)
cluster.initial_master_nodes: [“es01”, “es02”, “es03”]
cluster.initial_master_nodes:
-es01
-es02
-es03
- discovery.seed_hosts 如果不配置,会自动监听本地回环地址 将本地多个elasticsearch实例加入到集群中。
jvm配置
- /opt/es/config/jvm.options (一般配置为机器内存大小的一半)
sed -i “s/-Xms1g/-Xms"800m”/g" /opt/es/config/jvm.options
sed -i “s/-Xmx1g/-Xmx"800m”/g" /opt/es/config/jvm.options
es01
cluster.name: es-cluster-test
node.name: es01
path.logs: /opt/log/es
path.data: /opt/data/es
bootstrap.memory_lock: true
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
discovery.seed_hosts: [“172.16.1.236:9306”, “172.16.1.236:9307”]
cluster.initial_master_nodes: [“es01”, “es02”, “es03”]
es02
cluster.name: es-cluster-test
node.name: es02
path.logs: /opt/log/es
path.data: /opt/data/es
bootstrap.memory_lock: true
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
discovery.seed_hosts: [“172.16.1.236:9305”, “172.16.1.236:9307”]
cluster.initial_master_nodes: [“es01”, “es02”, “es03”]
es03
cluster.name: es-cluster-test
node.name: es03
path.logs: /opt/log/es
path.data: /opt/data/es
bootstrap.memory_lock: true
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
discovery.seed_hosts: [“172.16.1.236:9305”, “172.16.1.236:9306”]
cluster.initial_master_nodes: [“es01”, “es02”, “es03”]
启动
-
分别进入不同的容器启动elasticsearch
-
命令如下
/opt/es/bin/elasticsearch -d
查看容器状况(容器内)
- 查看集群是否启动成功
[elasticsearch@813bf8515935 /]$ curl localhost:9200/_cat/nodes
172.17.0.7 28 91 9 0.58 0.66 0.90 dilm - es02
172.17.0.6 15 91 5 0.58 0.66 0.90 dilm - es01
172.17.0.8 35 91 13 0.58 0.66 0.90 dilm * es03
- 查看当前节点
[elasticsearch@813bf8515935 /]$ curl localhost:9200
{
“name” : “es03”,
“cluster_name” : “es-cluster-test”,
“cluster_uuid” : “Syj18FUrR1GdnGzghBIacQ”,
“version” : {
“number” : “7.6.2”,
“build_flavor” : “default”,
“build_type” : “tar”,
“build_hash” : “ef48eb35cf30adf4db14086e8aabd07ef6fb113f”,
“build_date” : “2020-03-26T06:34:37.794943Z”,
“build_snapshot” : false,
“lucene_version” : “8.4.0”,
“minimum_wire_compatibility_version” : “6.8.0”,
“minimum_index_compatibility_version” : “6.0.0-beta1”
},
“tagline” : “You Know, for Search”
}
- 查看节点健康状况
[elasticsearch@813bf8515935 /]$ curl localhost:9200/_cat/health?v
epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1605859559 08:05:59 es-cluster-test green 3 3 0 0 0 0 0 0
-
100.0%
查看容器状况(宿主机)
- 由于使用docker容器安装,因此也可以通过宿主机映射端口访问,本次测试宿主机为windows
修改配置
- 分别在不同的Es节点修改配置开启安全验证
echo “xpack.security.enabled: true” >> /opt/es/config/elasticsearch.yml
echo “xpack.security.transport.ssl.enabled: true” >> /opt/es/config/elasticsearch.yml
生成证书
- 选择其中一个节点生成CA证书,默认情况下生成证书放在 /opt/es
#创建ca证书 /opt/es/bin/elasticsearch-certutil ca -v
[elasticsearch@c824e845075b es]$ /opt/es/bin/elasticsearch-certutil ca -v
This tool assists you in the generation of X.509 certificates and certificate
signing requests for use with SSL/TLS in the Elastic stack.
The ‘ca’ mode generates a new ‘certificate authority’
This will create a new X.509 certificate and private key that can be used
to sign certificate when running in ‘cert’ mode.
Use the ‘ca-dn’ option if you wish to configure the ‘distinguished name’
of the certificate authority
By default the ‘ca’ mode produces a single PKCS#12 output file which holds:
-
The CA certificate
-
The CA’s private key
If you elect to generate PEM format certificates (the -pem option), then the output will
be a zip file containing individual files for the CA certificate and private key
Please enter the desired output file [elastic-stack-ca.p12]: #输入回车,使用默认
Enter password for elastic-stack-ca.p12 : #回车,暂不输入密码
- 与上一步骤同一个节点创建节点见认证用的证书
#创建节点间证书 /opt/es/bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
[elasticsearch@c824e845075b es]$ /opt/es/bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
This tool assists you in the generation of X.509 certificates and certificate
signing requests for use with SSL/TLS in the Elastic stack.
The ‘cert’ mode generates X.509 certificate and private keys.
- By default, this generates a single certificate and key for use
on a single instance.
- The ‘-multiple’ option will prompt you to enter details for multiple
instances and will generate a certificate and key for each one
- The ‘-in’ option allows for the certificate generation to be automated by describing
the details of each instance in a YAML file
- An instance is any piece of the Elastic Stack that requires an SSL certificate.
Depending on your configuration, Elasticsearch, Logstash, Kibana, and Beats
may all require a certificate and private key.
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
Java核心架构进阶知识点
面试成功其实都是必然发生的事情,因为在此之前我做足了充分的准备工作,不单单是纯粹的刷题,更多的还会去刷一些Java核心架构进阶知识点,比如:JVM、高并发、多线程、缓存、Spring相关、分布式、微服务、RPC、网络、设计模式、MQ、Redis、MySQL、设计模式、负载均衡、算法、数据结构、kafka、ZK、集群等。而这些也全被整理浓缩到了一份pdf——《Java核心架构进阶知识点整理》,全部都是精华中的精华,本着共赢的心态,好东西自然也是要分享的
内容颇多,篇幅却有限,这就不在过多的介绍了,大家可根据以上截图自行脑补
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!**
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
Java核心架构进阶知识点
面试成功其实都是必然发生的事情,因为在此之前我做足了充分的准备工作,不单单是纯粹的刷题,更多的还会去刷一些Java核心架构进阶知识点,比如:JVM、高并发、多线程、缓存、Spring相关、分布式、微服务、RPC、网络、设计模式、MQ、Redis、MySQL、设计模式、负载均衡、算法、数据结构、kafka、ZK、集群等。而这些也全被整理浓缩到了一份pdf——《Java核心架构进阶知识点整理》,全部都是精华中的精华,本着共赢的心态,好东西自然也是要分享的
[外链图片转存中…(img-NW8ByM3i-1712571749826)]
[外链图片转存中…(img-Tqn4RG3E-1712571749826)]
[外链图片转存中…(img-54Go2M4x-1712571749826)]
内容颇多,篇幅却有限,这就不在过多的介绍了,大家可根据以上截图自行脑补
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
更多推荐
所有评论(0)