elasticsearch 集群
注意 我在构建集群的时候 遇到几个问题
启动Elasticsearch时:[failed to obtain node locks]
这个 问题解决 将映射文件 加权限
在服务器配置docker ELK时发现 elasticsearch启动日志报错nested: AccessDeniedException[/usr/share/elasticsearch/data/nodes/0]
这个问题 也是与上个问题 一样解决
参考 elasticsearch docker启动报错解决_docker run 5cfb284e152b -p 9200:9200 -p 9300:9300_Corgy.的博客-CSDN博客
failed to obtain node locks, tried [[/usr/share/elasticsearch/data]]
修改node.max_local_storage_nodes
node.max_local_storage_nodes 这个配置限制了单节点上可以开启的ES存储实例的个数,修改这个参数等于2或者更多,
可以启动多个实例。每个实例都有一个node.lock,这样 [failed to obtain node locks] 的问题也解决了。
node.max_local_storage_nodes: 2 意思就是可以有两个字节点
服务器 上的映射文件
配置文件 内容如下
es1.yml
cluster.name: elasticsearch-cluster node.name: es-node1 network.bind_host: 0.0.0.0 network.publish_host: 192.168.0.171 http.port: 9200 cluster.initial_master_nodes: ["192.168.0.171:9300"] transport.tcp.port: 9300 http.cors.enabled: true http.cors.allow-origin: "*" node.master: true node.data: true discovery.zen.ping.unicast.hosts: ["192.168.0.171:9300","192.168.0.171:9301","192.168.0.171:9302"] discovery.zen.minimum_master_nodes: 2 node.max_local_storage_nodes: 2
es2.yml
cluster.name: elasticsearch-cluster node.name: es-node2 network.bind_host: 0.0.0.0 network.publish_host: 192.168.0.171 http.port: 9201 cluster.initial_master_nodes: ["192.168.0.171:9300"] transport.tcp.port: 9301 http.cors.enabled: true http.cors.allow-origin: "*" node.master: true node.data: true discovery.zen.ping.unicast.hosts: ["192.168.0.171:9300","192.168.0.171:9301","192.168.0.171:9302"] discovery.zen.minimum_master_nodes: 2 node.max_local_storage_nodes: 2
es3.yml
cluster.name: elasticsearch-cluster node.name: es-node3 network.bind_host: 0.0.0.0 network.publish_host: 192.168.0.171 http.port: 9202 cluster.initial_master_nodes: ["192.168.0.171:9300"] transport.tcp.port: 9302 http.cors.enabled: true http.cors.allow-origin: "*" node.master: true node.data: true discovery.zen.ping.unicast.hosts: ["192.168.0.171:9300","192.168.0.171:9301","192.168.0.171:9302"] discovery.zen.minimum_master_nodes: 2 node.max_local_storage_nodes: 2
docker 构建
构建之前 需要 建立好映射文件
/home/admin1/yyx/elasticsearch/log1 尤其是这个文件 需要加权限 chmod +777 /home/admin1/yyx/elasticsearch/log1
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 \ -v /home/admin1/yyx/elasticsearch/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ -v /home/admin1/yyx/elasticsearch/log1:/usr/share/elasticsearch/logs \ -v /home/admin1/yyx/elasticsearch/data1:/usr/share/elasticsearch/data --name es01 elasticsearch:7.17.1 docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9201:9201 -p 9301:9301 \ -v /home/admin1/yyx/elasticsearch/es2.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ -v /home/admin1/yyx/elasticsearch/log2:/usr/share/elasticsearch/logs \ -v /home/admin1/yyx/elasticsearch/data2:/usr/share/elasticsearch/data --name es02 elasticsearch:7.17.1 docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9202:9202 -p 9302:9302 \ -v /home/admin1/yyx/elasticsearch/es3.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ -v /home/admin1/yyx/elasticsearch/log3:/usr/share/elasticsearch/logs \ -v /home/admin1/yyx/elasticsearch/data3:/usr/share/elasticsearch/data --name es03 elasticsearch:7.17.1
用docker 构建不够优雅 下面 是docker-compose 构建
下面docker-compose.yml 内容

version: "2.1" services: esmaster: image: elasticsearch:7.17.1 container_name: esmaster ports: - "9200:9200" - "9300:9300" volumes: - /home/admin1/yyx/elasticsearch/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml - /home/admin1/yyx/elasticsearch/log1:/usr/share/elasticsearch/logs - /home/admin1/yyx/elasticsearch/data1:/usr/share/elasticsearch/data esnode1: image: elasticsearch:7.17.1 container_name: es2 ports: - "9201:9201" - "9301:9301" volumes: - /home/admin1/yyx/elasticsearch/es2.yml:/usr/share/elasticsearch/config/elasticsearch.yml - /home/admin1/yyx/elasticsearch/log2:/usr/share/elasticsearch/logs - /home/admin1/yyx/elasticsearch/data2:/usr/share/elasticsearch/data esnode2: image: elasticsearch:7.17.1 container_name: es3 ports: - "9202:9202" - "9302:9302" volumes: - /home/admin1/yyx/elasticsearch/es3.yml:/usr/share/elasticsearch/config/elasticsearch.yml - /home/admin1/yyx/elasticsearch/log3:/usr/share/elasticsearch/logs - /home/admin1/yyx/elasticsearch/data3:/usr/share/elasticsearch/data
docker-compose up -d
运行还行
接下来 是验证阶段
连接成功
edge 下搞个插件 咋也得搞个漂亮点的界面 添加插件
es-client
chrome 下载插件