如何在Azure上配置卡桑德拉 [英] How to configure Cassandra on Azure

查看:138
本文介绍了如何在Azure上配置卡桑德拉的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何配置卡桑德拉在Azure上运行?

根据下面的链接,你应该做一个云服务每卡桑德拉节点,并有一个虚拟机上的每个云服务的指南。这些VM应是相同的虚拟网络。
<一href=\"http://blog.metricshub.com/2012/12/27/running-cassandra-on-azure-step-by-step-gotcha-by-gotcha/\" rel=\"nofollow\">http://blog.metricshub.com/2012/12/27/running-cassandra-on-azure-step-by-step-gotcha-by-gotcha/

据这仍然推荐的方法是什么?

在此设置每个虚拟机暴露与云服务一个公网IP,他们确实也有一个内部IP虚拟网络上使用。

和应该如何在卡桑德拉YAML配置文件设置下列值?群集接触客户端不位于同一虚拟网络节点上。和群集仅包含一个数据中心

应该是什么内部IP,外部IP,0.0.0.0,本地主机等?

  seed_provider:
   - CLASS_NAME:org.apache.cassandra.locator.SimpleSeedProvider
    参数:
          - 种子:??
listen_address:??
broadcast_address:??
broadcast_rpc_address:??
rpc_address:??
endpoint_snitch:(SimpleSnitch?)


解决方案

DataStax取得了与微软在Azure上建立合作卡桑德拉本指南:
https://academy.datastax.com/demos/enterprise-deployment-microsoft-azure-cloud

在这个文件,他们推荐更多的虚拟机(节点)每个云服务。 Azure的支持每个云服务的虚拟机50。

所有虚拟机应该在相同的可用性设置,以确保它们存在于不同的更新的域。在一个情况中以循环方式为5更新域之一蔚蓝将自动分配新的节点。这些更新域应该使用GossipingPropertyFileSnitch并指定在cassandra-rackdc.properties文件中的机架/更新域映射到卡桑德拉机架概念。 Azure的分配更新域可以位于实例概述云服务下的Azure的管理控制台。

所有VM应当是对同一互联星空在天青使节点相互通信。
如果你的客户是不会在这个互联星空需要实例级别的公网IP​​分配给每个虚拟机。请参阅本指南:
https://azure.microsoft.com/documentation/articles/virtual-networks-instance-level-public-ip/
当分配公网IP的虚拟机,你需要某种形式的安全性添加到卡桑德拉。用户身份验证和加密。

在当前时间的2.​​0分支推荐在生产分公司。在描述设置为2.0 cassandra.yaml文件中的设置是:

  seed_provider:
- CLASS_NAME:org.apache.cassandra.locator.SimpleSeedProvider
  参数:
   - {种子:'&LT;&LT;内VNET IPS则为种子节点&GT;&GT;'}
listen_address:其中;&LT;内VNET IP当前节点&GT;&GT;
broadcast_address:其中;&LT;大众UP当前节点&GT;&GT;
broadcast_rpc_address:其中;&LT;不卡桑德拉2.0&GT;&GT;
rpc_address:0.0.0.0
endpoint_snitch:org.apache.cassandra.locator.GossipingPropertyFileSnitch

How do you configure Cassandra to run in Azure?

According to the guide linked below you should make one Cloud Service per Cassandra node, and have one VM on each Cloud Service. These VMs should be on the same virtual network. http://blog.metricshub.com/2012/12/27/running-cassandra-on-azure-step-by-step-gotcha-by-gotcha/

It this still the recommended way?

In this set up each VM is exposed with a public IP from the Cloud Service and they does also have an internal IP for use on the virtual network.

And how should you set up the following values in the Cassandra yaml config file? The clients contacting the cluster is not located on the same virtual network as the nodes. And the cluster contains only a single data center.

What should be internal IP, external IP, 0.0.0.0, localhost etc?

seed_provider:
  - class_name: org.apache.cassandra.locator.SimpleSeedProvider
    parameters:
         - seeds: ??
listen_address: ??
broadcast_address: ?? 
broadcast_rpc_address: ??
rpc_address: ??
endpoint_snitch: (SimpleSnitch?)

解决方案

DataStax has made this guide in cooperation with Microsoft for setting up Cassandra on Azure: https://academy.datastax.com/demos/enterprise-deployment-microsoft-azure-cloud

In this document they recommend more VMs (nodes) per cloud service. Azure supports up to 50 VMs per cloud service.

All VMs should be in the same availability set to ensure that they are located in different update domains. Azure will automatic assign new nodes in the one availability set to one of 5 update domains in a round robin manner. These update domains should be mapped to the Rack concept in Cassandra by using the GossipingPropertyFileSnitch and specifying the rack/update domain in the cassandra-rackdc.properties file. The Azure assigned update domain can be located in the Azure management console under the instance overview for a cloud service.

All VMs should be on the same VNet in Azure to enable the nodes to communicate with each other. If your client is not on this VNet you need to assign instance level public ips to each VM. See this guide: https://azure.microsoft.com/documentation/articles/virtual-networks-instance-level-public-ip/ When assigning public ips to the VMs you need to add some kind of security to Cassandra. User authentication and encryption.

At the current time the 2.0 branch is the branch recommended for production. The settings for the cassandra.yaml file for 2.0 in the described setup is:

seed_provider:
- class_name: org.apache.cassandra.locator.SimpleSeedProvider
  parameters:
  - {seeds: '<<INTERNAL VNET IPS FOR THE SEED NODES>>'}
listen_address: <<INTERNAL VNET IP FOR THE CURRENT NODE>>
broadcast_address: <<PUBLIC UP FOR THE CURRENT NODE>> 
broadcast_rpc_address: <<NOT AVAILABLE IN Cassandra 2.0>>
rpc_address: 0.0.0.0
endpoint_snitch: org.apache.cassandra.locator.GossipingPropertyFileSnitch

这篇关于如何在Azure上配置卡桑德拉的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆