当前位置: 首页 > news >正文

济宁市中网站建设免费推广的方式是

济宁市中网站建设,免费推广的方式是,wordpress文章类插件,网站后台路径Elasticsearch的集群部署 1. Elasticsearch集群架构主节点数据节点客户端节点分片节点间通信集群状态 2. Elasticsearch集群部署2.1 系统配置修改2.1.1 修改文件句柄数和线程数2.1.2 修改虚拟内存2.1.3 关闭交换空间#xff08;Swap#xff09; 2.2 下载es数据库并上传到服务… Elasticsearch的集群部署 1. Elasticsearch集群架构主节点数据节点客户端节点分片节点间通信集群状态 2. Elasticsearch集群部署2.1 系统配置修改2.1.1 修改文件句柄数和线程数2.1.2 修改虚拟内存2.1.3 关闭交换空间Swap 2.2 下载es数据库并上传到服务器2.3 修改集群配置文件2.3.1 elasticsearch.yml配置项说明2.3.2 修改node1节点配置信息2.3.2 修改node2节点配置信息2.3.3 修改node3节点配置信息 2.4 创建 Elasticsearch 用户和组2.5 设置目录权限2.6. 启动 Elasticsearch 服务2.6.1 配置启动内存可选2.6.2 创建启动和停止服务的脚本 2.7 开放防火墙端口CentOSUbuntu 2.8 查看es启动状态 1. Elasticsearch集群架构 Elasticsearch集群是一个强大的搜索和分析引擎由多个节点组成每个节点都是一个独立的Elasticsearch实例。这些节点协同工作共同构建一个高度可用和可扩展的搜索引擎。本文将深入探讨Elasticsearch集群的架构和部署包括主节点、数据节点、客户端节点、分片以及节点间的通信方式。 主节点 在Elasticsearch集群中有一个节点被指定为主节点。主节点的主要任务是集群管理和协调工作。以下是主节点的一些关键职责 维护集群状态 主节点负责维护整个集群的状态包括节点列表、索引元数据和分片状态等。 负责集群重平衡 当新的节点加入或旧的节点退出集群时主节点会负责重新平衡集群确保分片被适当地重新分配给节点以保持负载均衡。 执行集群级别操作 主节点可以执行集群级别的操作例如创建或删除索引、设置索引级别的设置等。 监控节点状态 主节点监控集群中的各个节点的状态及时检测节点是否正常工作。 在一个集群中只能有一个主节点。如果主节点出现故障Elasticsearch会自动选举一个新的主节点来接管工作确保集群的稳定运行。 数据节点 数据节点的主要责任是存储和处理数据。当客户端向集群发起搜索请求时数据节点会根据请求查询本地数据并返回结果。每个数据节点都负责存储集群中的一部分数据。当新的数据被索引时数据节点会将数据分配给相应的分片并将分片存储在本地磁盘上。如果数据节点发生故障集群中的其他节点会接管该节点的工作确保数据的可用性和冗余备份。 客户端节点 客户端节点不存储数据它们的主要作用是向集群发送查询请求并将查询结果返回给客户端应用程序。 客户端节点具有以下两个关键作用 负载均衡 客户端节点可以将查询请求分配给不同的数据节点实现负载均衡提高查询性能。 故障切换 如果某个数据节点出现故障客户端节点可以自动将查询请求切换到其他健康的节点确保服务的可用性。 分片 在Elasticsearch集群中数据被分成多个分片进行存储和管理。每个分片是一个独立的Lucene索引包含了一部分数据和索引信息。分片可以在集群中的不同节点之间进行分配和复制以实现高可用性和数据冗余。 每个索引都可以被分成多个主分片和多个副本分片。主分片是索引的基本单元包含数据的一部分和索引信息。每个主分片都是独立的Lucene索引可以在集群中的任何节点上存储。副本分片是主分片的拷贝用于提高查询效率和可用性。 分片的数量在索引创建时指定并且一旦创建后就不能更改。通常情况下主分片的数量应该与集群中的数据节点数量相匹配以确保每个节点都能存储一定数量的分片。 节点间通信 在Elasticsearch集群中节点之间通过网络进行通信。每个节点都有一个唯一的节点名称节点名称由Elasticsearch自动生成。节点名称通常采用以下格式 host-uuid 其中host是节点所在的主机名uuid是一个唯一的标识符用于确保节点名称的唯一性。 节点之间的通信可以通过两种方式进行HTTP协议和Transport协议。HTTP协议是Elasticsearch的默认协议用于处理RESTful API请求。Transport协议是Elasticsearch集群内部使用的协议用于节点之间的直接通信。 集群状态 Elasticsearch集群的状态可以分为以下三种 Green 集群正常所有主分片和副本分片都可用。 Yellow 集群部分可用所有主分片都可用但一些副本分片不可用。 Red 集群不可用至少有一个主分片不可用。 当Elasticsearch集群中的节点发生故障时主节点会自动将故障节点从集群中移除并将分配给该节点的分片重新分配给其他节点。一旦故障节点恢复正常 它会重新加入集群并重新分配分片确保数据的完整性和可用性。 Elasticsearch的集群架构为大规模数据存储和搜索提供了高度可扩展性和可用性使其成为处理复杂搜索和分析需求的理想选择。通过理解集群架构的不同组件和角色可以更好地规划和管理Elasticsearch集群以满足业务需求。 2. Elasticsearch集群部署 2.1 系统配置修改 2.1.1 修改文件句柄数和线程数 为了防止 Elasticsearch 用户拥有的可创建文件描述符权限过低而导致错误需要修改文件句柄数和线程数。编辑 /etc/security/limits.conf 文件并添加以下内容 # 文件句柄 es soft nofile 65536 es hard nofile 65536 # 线程 es soft nproc 4096 es hard nproc 4096保存退出后需要重新启动系统 以上配置是为了解决 报错问题max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535] 问题描述elasticsearch用户拥有的可创建文件描述的权限太低至少需要65536 2.1.2 修改虚拟内存 编辑 /etc/sysctl.conf 文件并添加以下内容 vm.max_map_count262144保存退出后刷新配置文件 sysctl -p验证是否修改成功 sysctl vm.max_map_count以上配置是为了解决 报错问题max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] 2.1.3 关闭交换空间Swap 官方建议把内存的一半给Lucene不要超过32G关闭swap ES建议要关闭 swap 内存交换空间禁用swapping。因为当内存交换到磁盘上一个100微秒的操作可能变成 10毫秒然后100 微秒的操作时延累加起来可以看出 swapping 对于性能的影响是致命的 vim /etc/fstab注释含有swap一行 注释前 保存退出后需要系统重启 注释后 2.2 下载es数据库并上传到服务器 下载 Elasticsearch 7.17.11上传到服务器并使用以下命令解压 Elasticsearch cd /mnt/data/es-cluster tar -zxvf elasticsearch-7.17.11-linux-x86_64.tar.gz复制3份分别命名如下 2.3 修改集群配置文件 2.3.1 elasticsearch.yml配置项说明 配置项配置说明配置示例cluster.name集群名称es-clusternode.name节点名称node1path.data数据目录/home/es/path/node/datapath.logs日志目录/home/es/path/node/logsnode.name节点名称node1network.host绑定IP地址127.0.0.1http.port指定服务访问端口9201transport.tcp.port指定API端户端调用端口9301discovery.seed_hosts集群通讯地址[“127.0.0.1:9301”, “127.0.0.1:9301:9302”, “127.0.0.1:9301:9303”]cluster.initial_master_nodes集群初始化能够参选的节点信息[“127.0.0.1:9301”, “127.0.0.1:9301:9302”, “127.0.0.1:9301:9303”]http.cors.enabled开启跨域访问支持truehttp.cors.allow-origin跨域访问允许的域名“*” 端口分配如下 主机节点名称HTTP端口Transport端口192.168.0.119node192019301192.168.0.119node292029302192.168.0.119node392039303 2.3.2 修改node1节点配置信息 vim /mnt/data/es-cluster/elasticsearch-7.17.11-node1/config/elasticsearch.ymlelasticsearch.yml # 集群名称 cluster.name: es-cluster #节点名称 node.name: node1 # 绑定IP地址 network.host: 192.168.0.119 # 数据目录 path.data: /mnt/data/es-cluster/elasticsearch-7.17.11-node1/data # 日志目录 path.logs: /mnt/data/es-cluster/elasticsearch-7.17.11-node1/logs # 指定服务访问端口 http.port: 9201 # 指定API端户端调用端口 transport.tcp.port: 9301 #集群通讯地址 discovery.seed_hosts: [192.168.0.119:9301, 192.168.0.119:9302,192.168.0.119:9303] #集群初始化能够参选的节点信息 cluster.initial_master_nodes: [192.168.0.119:9301, 192.168.0.119:9302,192.168.0.119:9303] #开启跨域访问支持默认为false http.cors.enabled: true ##跨域访问允许的域名, 允许所有域名 http.cors.allow-origin: * # 单机启动es实例的个数 node.max_local_storage_nodes: 32.3.2 修改node2节点配置信息 vim /mnt/sdb/es-cluster/elasticsearch-7.17.11-node2/config/elasticsearch.ymlelasticsearch.yml # 集群名称 cluster.name: es-cluster #节点名称 node.name: node2 # 绑定IP地址 network.host: 192.168.0.119 # 数据目录 path.data: /mnt/data/es-cluster/elasticsearch-7.17.11-node2/data # 日志目录 path.logs: /mnt/data/es-cluster/elasticsearch-7.17.11-node2/logs # 指定服务访问端口 http.port: 9202 # 指定API端户端调用端口 transport.tcp.port: 9302 #集群通讯地址 discovery.seed_hosts: [192.168.0.119:9301, 192.168.0.119:9302,192.168.0.119:9303] #集群初始化能够参选的节点信息 cluster.initial_master_nodes: [192.168.0.119:9301, 192.168.0.119:9302,192.168.0.119:9303] #开启跨域访问支持默认为false http.cors.enabled: true ##跨域访问允许的域名, 允许所有域名 http.cors.allow-origin: * # 单机启动es实例的个数 node.max_local_storage_nodes: 32.3.3 修改node3节点配置信息 vim /mnt/sdb/es-cluster/elasticsearch-7.17.11-node3/config/elasticsearch.ymlelasticsearch.yml # 集群名称 cluster.name: es-cluster #节点名称 node.name: node3 # 绑定IP地址 network.host: 192.168.0.119 # 数据目录 path.data: /mnt/data/es-cluster/elasticsearch-7.17.11-node3/data # 日志目录 path.logs: /mnt/data/es-cluster/elasticsearch-7.17.11-node3/logs # 指定服务访问端口 http.port: 9203 # 指定API端户端调用端口 transport.tcp.port: 9303 #集群通讯地址 discovery.seed_hosts: [192.168.0.119:9301, 192.168.0.119:9302,192.168.0.119:9303] #集群初始化能够参选的节点信息 cluster.initial_master_nodes: [192.168.0.119:9301, 192.168.0.119:9302,192.168.0.119:9303] #开启跨域访问支持默认为false http.cors.enabled: true ##跨域访问允许的域名, 允许所有域名 http.cors.allow-origin: * # 单机启动es实例的个数 node.max_local_storage_nodes: 32.4 创建 Elasticsearch 用户和组 创建一个名为 “es” 的用户和一个名为 “es” 的群组然后将用户添加到该群组中 # 新建群组esgroupadd es # 新建用户es并指定群组为esuseradd -g es es # 设置用户密码 passwd es # usermod 将用户添加到某个组groupusermod -aG root es2.5 设置目录权限 设置 Elasticsearch 集群目录所属的用户和组 chown -R es:es /mnt/data/es-cluster2.6. 启动 Elasticsearch 服务 2.6.1 配置启动内存可选 如果单机的内存大小有限可以设置es的启动内存大小。分别进入三个节点的/config目录执行 vim jvm.options修改配置 -Xms512m -Xmx512m2.6.2 创建启动和停止服务的脚本 给三个es节点创建启动和停止 Elasticsearch 服务的脚本 注意当前目录是在 ../elasticsearch-7.17.11-node1 startes-single.sh #!/bin/bash cd $(dirname $0) # -d后台daemon方式运行 Elasticsearch ./bin/elasticsearch -d -p pidstopes-single.sh #!/bin/bash cd $(dirname $0) if [ -f pid ]; thenpkill -F pid fi赋予执行权限 chmod 755 startes-single.sh stopes-single.sh chown es:es startes-single.sh stopes-single.sh以 Elasticsearch 用户身份启动 Elasticsearch 服务 su es cd /mnt/sdb/es-cluster/elasticsearch-7.17.11-node1 ./startes-single.sh可能的报错 failed to obtain node locks, tried [[/mnt/sdb/es-cluster/elasticsearch-7.17.11-node2/data]] with lock id [0]; maybe these locations are not writable or multiple nodes were started without increasing ][ERROR][o.e.b.ElasticsearchUncaughtExceptionHandler] [node2] uncaught exception in thread [main] org.elasticsearch.bootstrap.StartupException: java.lang.IllegalStateException: failed to obtain node locks, tried [[/mnt/sdb/es-cluster/elasticsearch-7.17.11-node2/data]] with lock id [0]; maybe these locations are not writable or multiple nodes were started without increasing [node.max_local_storage_nodes] (was [1])?at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:173) ~[elasticsearch-7.17.11.jar:7.17.11]at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:160) ~[elasticsearch-7.17.11.jar:7.17.11]at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:77) ~[elasticsearch-7.17.11.jar:7.17.11]at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:112) ~[elasticsearch-cli-7.17.11.jar:7.17.11]at org.elasticsearch.cli.Command.main(Command.java:77) ~[elasticsearch-cli-7.17.11.jar:7.17.11]at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:125) ~[elasticsearch-7.17.11.jar:7.17.11]at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:80) ~[elasticsearch-7.17.11.jar:7.17.11] Caused by: java.lang.IllegalStateException: failed to obtain node locks, tried [[/mnt/sdb/es-cluster/elasticsearch-7.17.11-node2/data]] with lock id [0]; maybe these locations are not writable or multiple nodes were started without increasing [node.max_local_storage_nodes] (was [1])?at org.elasticsearch.env.NodeEnvironment.init(NodeEnvironment.java:328) ~[elasticsearch-7.17.11.jar:7.17.11]at org.elasticsearch.node.Node.init(Node.java:429) ~[elasticsearch-7.17.11.jar:7.17.11]at org.elasticsearch.node.Node.init(Node.java:309) ~[elasticsearch-7.17.11.jar:7.17.11]at org.elasticsearch.bootstrap.Bootstrap$5.init(Bootstrap.java:234) ~[elasticsearch-7.17.11.jar:7.17.11]at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:234) ~[elasticsearch-7.17.11.jar:7.17.11]at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:434) ~[elasticsearch-7.17.11.jar:7.17.11]at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:169) ~[elasticsearch-7.17.11.jar:7.17.11]... 6 more uncaught exception in thread [main] java.lang.IllegalStateException: failed to obtain node locks, tried [[/mnt/sdb/es-cluster/elasticsearch-7.17.11-node2/data]] with lock id [0]; maybe these locations are not writable or multiple nodes were started without increasing [node.max_local_storage_nodes] (was [1])?at org.elasticsearch.env.NodeEnvironment.init(NodeEnvironment.java:328)at org.elasticsearch.node.Node.init(Node.java:429)at org.elasticsearch.node.Node.init(Node.java:309)at org.elasticsearch.bootstrap.Bootstrap$5.init(Bootstrap.java:234)at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:234)at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:434)at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:169)at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:160)at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:77)at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:112)at org.elasticsearch.cli.Command.main(Command.java:77)at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:125)at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:80) 解决 配置文件中增加node.max_local_storage_nodes: 3 这个配置限制了单节点上可以开启的ES存储实例的个数。单机需要启动多个实例就需要把这个配置写到配置文件中并为这个配置赋值为2或者更高 2.7 开放防火墙端口 CentOS # 查看防火墙状态 systemctl status firewalld # 查看开放的端口 firewall-cmd --query-port9200/tcp # 添加端口 firewall-cmd --zonepublic --add-port9200/tcp --permanent # 重载防火墙 firewall-cmd --reload # 再次查看端口是否已经开放 firewall-cmd --query-port9200/tcpUbuntu # 查看防火墙状态 sudo ufw status # 开放端口 9200 sudo ufw allow 9200/tcp # 查看已添加的规则 sudo ufw status numbered # 查看防火墙状态 sudo ufw status2.8 查看es启动状态 分别访问三个节点的http端口 查看节点状态 http://192.168.0.119:9201/_cat/nodes?pretty可以看到三个节点信息三个节点会自行选举出主节点ES的是基于Bully选举算法做的改进实现 查看集群健康状态 http://192.168.0.119:9201/_cluster/health?pretty4.elasticsearch header查看
http://www.pierceye.com/news/432885/

相关文章:

  • 网站前端建设需要学会什么珠海网站优化公司
  • 北京微网站wordpress添加代码运行
  • 浙江省住房和城乡建设厅网站网站开发流程博客
  • 网站刷流量会怎么样广东网站备案时间
  • 昆明企业建站模板如何做网站品类
  • 学做网站去哪学网站开发app开发
  • 如何编写网站建设销售的心得网页设计制作方法
  • seo工具网站课程网站建设的步骤
  • 商务网站的类型一共有几大类小程序搜索排名帝搜sem880官网
  • 做海报的高清模板的网站诛仙3官方网站做花灯答案
  • 好用的网站后台管理系统黑龙江最新通知今天
  • 做招聘网站需要多少钱als冰桶挑战赛的网络营销方式
  • wordpress单位内网做网站云南省文山州网站建设
  • 单页网站制作视频教程四川餐饮培训学校排名
  • 微信公众平台网站建设wordpress中英切换
  • 万网x3主机l系统放两个网站自学设计的网站
  • 网站微信建设运维经验分享图营销app
  • 西安网站开发软件常州注册公司
  • 和网站建设相关的行业企业网络规划设计方案
  • 风中有朵雨做的云网站观看开网店教程
  • 网站建设与管理教学视频教程服务器绑定网站打不开
  • 百度云建站WordPress开发新客户的十大渠道
  • 南宁比优建站视屏网站的审核是怎么做的
  • 怎样建设尧都水果网站免费手机网站建站系统
  • 全网营销提供seo服务
  • 吕梁网站设计服务器网站建设维护合同
  • 网站轮播图片怎么做高校网站建设模板
  • 易语言做返利网站企业培训考试平台官网
  • 天津做不锈钢的网站做网站要几个部门组成
  • 宿迁集团网站建设用dw制作一个网站