下载
下载Elasticsearch8.x,并解压到任意目录并进行如下命名,注意路径不要带中文。
下载地址:https://www.elastic.co/cn/downloads/elasticsearch
启动node-1
注意:因为Elasticsearch8.x以后,默认是打开了security。我们需要关闭它,否则访问Elasticsearch需要安全证书太麻烦
修改node1的elasticsearch.yml配置文件,在最下面添加以下内容
再node1的elasticsearch.yml配置文件最下面添加以下内容
cluster.name: elasticsearch
node.name: node-1
# 绑定当前节点的ip地址(内网)
network.host: localhost
# 对外提供的服务端口号,不指定默认9200
http.port: 9200
# 集群之间节点通信端口,不指定默认9300
transport.port: 9300
# 关闭security安全认证
xpack.security.enabled: false
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
双击启动node-1
启动完成
访问:http://localhost:9200
查看集群状态为绿色
启动node-2
修改node2的elasticsearch.yml配置文件,在最下面添加以下内容
cluster.name: elasticsearch
node.name: node-2
# 绑定当前节点的ip地址(内网)
network.host: localhost
# 对外提供的服务端口号,不指定默认9200
http.port: 9201
# 集群之间节点通信端口,不指定默认9300
transport.port: 9301
# 本加入集群配置。找到node-1的通信地址,让node-2加入elasticsearch集群
discovery.seed_hosts: ["localhost:9300"]
# 关闭security安全认证
xpack.security.enabled: false
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
和node-1一样双击elasticsearch.bat启动
访问:http://localhost:9201
查看集群状态为绿色
启动node-3
修改node3的elasticsearch.yml配置文件,在最下面添加以下内容
cluster.name: elasticsearch
node.name: node-3
# 绑定当前节点的ip地址(内网)
network.host: localhost
# 对外提供的服务端口号,不指定默认9200
http.port: 9202
# 集群之间节点通信端口,不指定默认9300
transport.port: 9302
# 本加入集群配置。找到node-1的通信地址,让node-2加入elasticsearch集群
discovery.seed_hosts: ["localhost:9300", "localhost:9301"]
# 关闭security安全认证
xpack.security.enabled: false
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
和node-1一样双击elasticsearch.bat启动
访问:http://localhost:9202
查看集群状态为绿色
启动报错问题
内存溢出
在启动的过程中闪退并查看日志。若出现下面问题,则是内存不足,限制内存的分配重启即可。
修改安装目录下的 jvm.options
添加内容
初始化解决启动问题
删除elasticsearch.keystore
删除data文件夹,清空logs
重启节点
集群状态&分片
单节点集群:只启动一个节点的集群
启动node-1
创建名为 users 的索引,为了演示目的,我们将分配 3个主分片和一份副本(每个主分片拥有一个副本分片)。
创建索引并设置分片和副本
PUThttp://localhost:9200/users
{
"settings": {
"number_of_shards": 3,
"number_of_replicas": 1
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
返回:
{
"acknowledged": true,
"shards_acknowledged": true,
"index": "users"
}
- 1
- 2
- 3
- 4
- 5
es-client插件
谷歌浏览器安装es-client插件,这里就不再多说自己百度。
查看集群信息
使用es-client连接集群并选择查看集群信息
发现状态是yellow。
这是因为我们刚才设置了3个分片和每一个分片需要有一个副本。集群目前只存在一个节点(3个分片),没有其他节点存副本,但是又不影响ES使用,所以提示yellow。
查看分片信息
启动node-2
再次查看集群信息
发现以及变成了green。这是因为我们在集群中启动了2个节点,刚好可以实现一个节点放3个分片,另外一个节点放3个副本。
启动node-3
启动集群node-3节点,查看集群状态和分片信息。
分片&副本分配
故障转移
操作:关闭和重启node-1节点,观察集群的状态。
关闭node-1,es-client连接node-2节点 http://localhost:9201,查看集群状态
查看分片和副本,master节点变成了node-3
重启node-1
查看node-1的elasticsearch.yml配置文件,看是否配置了加入集群配置。参考node-2和node-3的配置文件
# 本节点加入集群配置。
discovery.seed_hosts: ["localhost:9301", "localhost:9302"]
- 1
- 2
查看集群状态,以及正常的加入到集群中
查看分片,已经正常的自动进行了分片转移,node-1作为备用节点使用。
评论记录:
回复评论: