Saturday, 3 March 2018

Cassandra altera opções de estratégia de espaço de chave


Cassandra - Alter Keyspace.
Alterar Keyspace usando o Cqlsh.
ALTER KEYSPACE pode ser usado para alterar propriedades como o número de réplicas e as notas duráveis ​​de um KeySpace. Dado abaixo é a sintaxe deste comando.
As propriedades de ALTER KEYSPACE são as mesmas que CREATE KEYSPACE. Tem duas propriedades: replicação e editáveis ​​duráveis.
Durable_writes.
Usando esta opção, você pode instruir Cassandra a usar o commitlog para atualizações no KeySpace atual. Esta opção não é obrigatória e, por padrão, está definida como verdadeira.
Dado abaixo é um exemplo de alterar um KeySpace.
Aqui estamos alterando um KeySpace chamado TutorialsPoint.
Estamos mudando o fator de replicação de 1 para 3.
Alterando Durable_writes.
Você também pode alterar a propriedade durável de um KeySpace. Dado abaixo é a propriedade durable_writes do teste KeySpace.
Mais uma vez, se você verificar as propriedades de KeySpaces, produzirá a seguinte saída.
Alterando um Keyspace usando a API Java.
Você pode alterar um espaço de chaves usando o método execute () da classe Session. Siga as etapas abaixo para alterar um espaço de chaves usando a API Java.
Passo 1: crie um objeto de cluster.
Antes de tudo, crie uma instância da classe Cluster. builder do pacote com. datastax. driver. core como mostrado abaixo.
Adicione um ponto de contato (endereço IP do nó) usando o método addContactPoint () do objeto Cluster. Builder. Esse método retorna o Cluster. Builder.
Usando o novo objeto do construtor, crie um objeto de cluster. Para fazer isso, você possui um método chamado build () na classe Cluster. Builder. O código a seguir mostra como criar um objeto de cluster.
Você pode criar o objeto de cluster usando uma única linha de código como mostrado abaixo.
Passo 2: Criar um objeto de sessão.
Crie uma instância do objeto Session usando o método connect () da classe Cluster como mostrado abaixo.
Este método cria uma nova sessão e a inicializa. Se você já possui um espaço de teclas, você pode configurá-lo para o existente, passando o nome do espaço de chaves no formato de seqüência para este método, conforme mostrado abaixo.
Etapa 3: Execute Query.
Você pode executar consultas CQL usando o método execute () da classe Session. Passe a consulta no formato de string ou como um objeto de classe Statement para o método execute (). Tudo o que você passar para este método no formato de seqüência será executado no cqlsh.
Neste exemplo,
Estamos alterando um espaço de chaves chamado tp. Estamos alterando a opção de replicação da Estratégia Simples para Estratégia de Topologia de Rede.
Estamos alterando os textos duráveis ​​para falso.
Você deve armazenar a consulta em uma variável de string e passar para o método execute () como mostrado abaixo.
Dado abaixo é o programa completo para criar e usar um espaço de chaves em Cassandra usando a API Java.
Salve o programa acima com o nome da classe seguido por. java, navegue até o local onde ele é salvo. Compile e execute o programa como mostrado abaixo.
Em condições normais, produz a seguinte saída:

Cassandra altera opções de estratégia de espaço de teclas
Obter através da App Store Leia esta publicação em nosso aplicativo!
Cassandra Alter espaço de chaves para replicação.
Parece que não consigo encontrar a sintaxe adequada para isso.
Versão 1.1.4 Instantâneo [cqlsh 2.2.0 | Cassandra desconhecido | CQL spec 3.0.0 | Protocolo Thrift 19.32.0]
Posso criar um novo espaço de teclas com o seguinte.
create keyspace something_interesting WITH strategy_class = 'NetworkTopologyStrategy' AND strategy_options: "99999" = 3 E strategy_options: "44444" = 3 AND strategy_options: "66666" = 3;
Resultados em um erro de sintaxe.
Eu acredito que o problema é as aspas duplas dos nomes DC, que devem ser citações simples. O seguinte comando funciona para mim, embora em uma especificação CQL diferente (3.1.1).

Cassandra altera opções de estratégia de espaço de teclas
Encontre a melhor resposta.
Alterar o espaço de chaves para mudar a classe de estratégia não está funcionando no cassandra-cli.
Tentei alterar o espaço do teclado com a classe de estratégia e as opções usando o comando abaixo em cassandra-cli da versão cassandra 1.1.6 mas diz "Erro de sintaxe na posição 0: nenhuma alternativa viável na entrada 'ALTER'.
O que há de errado aqui?
O que está acontecendo é que você está usando a sintaxe CQL para atualizar um espaço de chaves dentro da ferramenta (obsoleta) cassandra-cli. Se você estivesse usando a ferramenta cqlsh, seu comando funcionaria bem. Mas com cassandra-cli, isso não vai funcionar. Como Yasmeen indicou, a sintaxe correta que você deseja usar é UPDATE KEYSPACE:
Recomendo que use o cqlsh no futuro. O cassandra-cli está obsoleto e não receberá mais atualizações.
Além disso, você também deve ver sobre como atualizar seu cluster para uma versão mais recente da Cassandra. Enquanto você está perdendo vários novos recursos, tem havido muitos erros corrigidos desde 1.1.6 (bugs em que você está provavelmente entrando).

Cassandra altera opções de estratégia de espaço de teclas
Obter através da App Store Leia esta publicação em nosso aplicativo!
Cassandra NetworkTopologyStrategy replicação.
Instalei e comecei Cassandra em duas máquinas linux no Amazon EC2. Eu também configurei cassandra. yaml para usar um snitch de arquivo de propriedade e configurei o arquivo cassandra-topology. properties como o seguinte:
Em seguida, criou um espaço de chaves como o seguinte:
Então eu criei uma família de colunas e tentei inserir uma linha. No entanto, estou obtendo um nulo de volta da CLI quando eu tento inserir. Perdi alguma coisa na configuração?
Como posso descobrir o que está acontecendo?
Além disso - Cassandra somente leu a topologia do cassandra na inicialização?
Parece que a criação de espaço de chave não é feita corretamente. É um fato simples, sempre que você está recebendo UnavailableException () ao preencher, dê por certo que há um problema na criação do espaço de chaves. No seu caso, você não mencionou o caminho da classe completa para a estratégia de colocação desejada.
Sim Cassandra só lê topologia na criação do tempo do espaço de teclas (inicialização)

No comments:

Post a Comment