首页 \ 问答 \ 如何在Linux上部署Java应用程序

如何在Linux上部署Java应用程序

更新时间:2022-01-06 14:01

最满意答案

  避免脑裂现象,用到的一个参数是:discovery.zen.minimum_master_nodes。这个参数决定了要选举一个Master需要多少个节点(最少候选节点数)。默认值是1。根据一般经验这个一般设置成 N/2 + 1,N是集群中节点的数量,例如一个有3个节点的集群,minimum_master_nodes 应该被设置成 3/2 + 1 = 2(向下取整)。      用到的另外一个参数是:discovery.zen.ping.timeout,等待ping响应的超时时间,默认值是3秒。如果网络缓慢或拥塞,建议略微调大这个值。这个参数不仅仅适应更高的网络延迟,也适用于在一个由于超负荷而响应缓慢的节点的情况。      如果您刚开始使用elasticsearch,建议搭建拥有3个节点的集群,这种方式可以把discovery.zen.minimum_master_nodes设置成2,这样就限制了发生脑裂现象的可能,且保持着高度的可用性:如果你设置了副本,在丢失一个节点的情况下,集群仍可运行。

相关问答

更多
  • 使用TransportClient的代码示例: try { int port = 9300; Map m = new HashMap (); // 设置client.transport.sniff为true来使客户端去 嗅探整个集群的状态, //把集群中其它机器的ip地址加到客户端中,这样本地节点挂了,程序还可以正常工作 Settings settings = Settings.settingsBuilder().put(m).put("cluster.name", " elasticsearch").pu ...
  • 集群就是由一个或多个节点组织在一起,它们共同持有你整个的数据,并一起提供索引和搜索功能。一个集群由一个唯一的名字标识,这个名字默认就是“elasticsearch”。这个名字是重要的,因为一个节点只能通过指定某个集群的名字,来加入这个集群。在产品环境中显式地设定这个名字是一个好习惯,但是使用默认值来进行测试/开发也是不错的。
  • 避免脑裂现象,用到的一个参数是:discovery.zen.minimum_master_nodes。这个参数决定了要选举一个Master需要多少个节点(最少候选节点数)。默认值是1。根据一般经验这个一般设置成 N/2 + 1,N是集群中节点的数量,例如一个有3个节点的集群,minimum_master_nodes 应该被设置成 3/2 + 1 = 2(向下取整)。 用到的另外一个参数是:discovery.zen.ping.timeout,等待ping响应的超时时间,默认值是3秒。如果网络缓慢或拥塞,建议 ...
  •   避免脑裂现象,用到的一个参数是:discovery.zen.minimum_master_nodes。这个参数决定了要选举一个Master需要多少个节点(最少候选节点数)。默认值是1。根据一般经验这个一般设置成 N/2 + 1,N是集群中节点的数量,例如一个有3个节点的集群,minimum_master_nodes 应该被设置成 3/2 + 1 = 2(向下取整)。      用到的另外一个参数是:discovery.zen.ping.timeout,等待ping响应的超时时间,默认值是3秒。如果网络缓 ...
  • 在配置keepalived和haproxy的时候遇到脑裂的问题,还请大家帮助我分析一下,谢谢。我的环境信息如下: 一共两台虚拟机,是同个一共模板复制出来的(我怀疑问题出在这里)。 主机IP:192.168.1.136 备机IP:192.168.1.135 VIP:192.168.1.118 主机的keepalived的配置如下: global_defs { notification_email { root } notification_email_from root smtp_server 192.168 ...
  • 奥尔良利用存储提供商的一致性保证。 从粮食中调用this.WriteStateAsync() ,存储提供程序确保粮食已经看到所有先前的写入。 如果没有,则抛出异常。 您可以捕获该异常并调用DeactivateOnIdle()并重新抛出异常或调用ReadStateAsync()试。 因此,如果在裂脑场景中有2粒谷物,有史以来首先调用WriteStateAsync()阻止另一个人在未读取最新状态的情况下写入状态。 更新:从Orleans v1.5.0开始,允许InconsistentStateException ...
  • 根据Kibana文档,您只需要确保在kibana.yml配置中也设置了以下两个属性: elasticsearch.username: elasticsearch.password: According to the Kibana docs you simply need to make sure that the following two properties are also set in your kibana.yml config: elasticsea ...
  • 不,选择。 负载平衡基于许多启发式,每种应用程序都有所不同。 很多设置已经在elasticsearch集群前面有硬件/软件负载均衡器。 在弹性搜索已经负载平衡的基础上,即使客户端一直命中一个节点,集群也可以让其他节点协调搜索。 当然故障转移是需要在应用程序中处理的事情(如果硬件/负载均衡器还没有解决这个问题),我可能会发布一个简单的实现,作为一个单独的nuget包,可以保留一组客户端但是现在我主要关注的是抛光NEST的API为1.0稳定/完全记录。 更新2014年 由于NEST 1.0群集故障转移和连接池内 ...
  • 当某些群集节点无法连接到其他群集节点时,会出现裂脑情况。 由于大型地产 - 特别是地理位置分散 - 中间环节可能会丢失。 如果群集的两个部分都是quorate(有足够的节点可用,如配置中所定义的那样),它们会继续“工作”,最终会导致两者之间的数据不同步。 这在您的方案中不会发生,因为节点C知道A和B都在线 - 因此即使A和B之间的通信处于脱机状态,也不会形成两个单独的集群。 如果A完全丢失,B + C超过节点的50% - 因此您的群集知道它是“quorate”并且可以继续正常运行。 修复部分隔离的Zen发现 ...
  • 你需要定义“最近”。 在大多数具有插入复制的环境中,所有数据库在插入的几秒钟内将具有相同的数据(并且几秒钟似乎是悲观的)。 另一种方法是“从一个读取/全部写入”方法。 在这种情况下,读取通过系统传播。 然后,应用程序(或应用程序使用的公共层)将写入发送到所有节点。 但请记住,数据库复制的问题不是它工作时的工作方式。 问题是它在失败时如何恢复,甚至如何识别失败。 您需要确定节点发生故障时会发生什么,恢复丢失的事务的方式,以及您如何确定节点是否真正同步。 我建议您仔细阅读实际使用的数据库文档,并了解该平台提供的 ...

相关文章

更多

最新问答

更多
  • 您如何使用git diff文件,并将其应用于同一存储库的副本的本地分支?(How do you take a git diff file, and apply it to a local branch that is a copy of the same repository?)
  • 将长浮点值剪切为2个小数点并复制到字符数组(Cut Long Float Value to 2 decimal points and copy to Character Array)
  • OctoberCMS侧边栏不呈现(OctoberCMS Sidebar not rendering)
  • 页面加载后对象是否有资格进行垃圾回收?(Are objects eligible for garbage collection after the page loads?)
  • codeigniter中的语言不能按预期工作(language in codeigniter doesn' t work as expected)
  • 在计算机拍照在哪里进入
  • 使用cin.get()从c ++中的输入流中丢弃不需要的字符(Using cin.get() to discard unwanted characters from the input stream in c++)
  • No for循环将在for循环中运行。(No for loop will run inside for loop. Testing for primes)
  • 单页应用程序:页面重新加载(Single Page Application: page reload)
  • 在循环中选择具有相似模式的列名称(Selecting Column Name With Similar Pattern in a Loop)
  • System.StackOverflow错误(System.StackOverflow error)
  • KnockoutJS未在嵌套模板上应用beforeRemove和afterAdd(KnockoutJS not applying beforeRemove and afterAdd on nested templates)
  • 散列包括方法和/或嵌套属性(Hash include methods and/or nested attributes)
  • android - 如何避免使用Samsung RFS文件系统延迟/冻结?(android - how to avoid lag/freezes with Samsung RFS filesystem?)
  • TensorFlow:基于索引列表创建新张量(TensorFlow: Create a new tensor based on list of indices)
  • 企业安全培训的各项内容
  • 错误:RPC失败;(error: RPC failed; curl transfer closed with outstanding read data remaining)
  • C#类名中允许哪些字符?(What characters are allowed in C# class name?)
  • NumPy:将int64值存储在np.array中并使用dtype float64并将其转换回整数是否安全?(NumPy: Is it safe to store an int64 value in an np.array with dtype float64 and later convert it back to integer?)
  • 注销后如何隐藏导航portlet?(How to hide navigation portlet after logout?)
  • 将多个行和可变行移动到列(moving multiple and variable rows to columns)
  • 提交表单时忽略基础href,而不使用Javascript(ignore base href when submitting form, without using Javascript)
  • 对setOnInfoWindowClickListener的意图(Intent on setOnInfoWindowClickListener)
  • Angular $资源不会改变方法(Angular $resource doesn't change method)
  • 在Angular 5中不是一个函数(is not a function in Angular 5)
  • 如何配置Composite C1以将.m和桌面作为同一站点提供服务(How to configure Composite C1 to serve .m and desktop as the same site)
  • 不适用:悬停在悬停时:在元素之前[复制](Don't apply :hover when hovering on :before element [duplicate])
  • 常见的python rpc和cli接口(Common python rpc and cli interface)
  • Mysql DB单个字段匹配多个其他字段(Mysql DB single field matching to multiple other fields)
  • 产品页面上的Magento Up出售对齐问题(Magento Up sell alignment issue on the products page)