Eu li sobre a janela de balanceamento no documento do MongoDB. Vejo mongo falar sobre como modificar a janela de balanceamento, mas não vejo o padrão da janela de balanceamento. Vejo apenas um documento sobre o tamanho do bloco nas configurações de coleção no banco de dados de configuração. Você conhece o padrão da janela de balanceamento?
Luke Nguyen's questions
Acho que minha pergunta é impossível, mas tenho certeza de que não sei tudo.
Na minha opinião, quando o mysqld reiniciar, algumas transações ainda não concluídas serão revertidas na inicialização. Mysqld usa log de desfazer para fazer isso. Mas existe alguma maneira de manter longas transações ao reiniciar o mysqld?
Estou usando o MariaDB Galera com três nós.
Quando estou usando setParameter na configuração do mongod, começo o mongod com o erro:
Unrecognized option: setParameter = enableLocalhostAuthBypass=1
Como posso usar setParameter do arquivo de configuração?
P/S: Estou usando o formato de arquivo de configuração YAML.
Estou pesquisando a replicação de cluster do MySQL. Eu li uma seção "Presumimos que o servidor escravo ou cluster é dedicado à replicação do mestre e que nenhum outro dado está sendo armazenado nele" no manual do cluster MySQL. De acordo com a seção, o cluster escravo não deve armazenar nenhum dado, exceto dados replicados do cluster mestre.
Quero saber com certeza porque tenho a intenção de implantar dois clusters em que um nó SQL seja mestre e escravo. Exemplo: tenho dois clusters com o nó SQL A pertence ao cluster a e o nó SQL B pertence ao cluster b
Nó SQL A --- mestre do nó B e também escravo do nó B ---> nó SQL B
Nó SQL B <--- mestre do nó A e também escravo do nó B ---> nó SQL A
Acho que um canal de replicação bidirecional me ajuda a ter dois clusters para backup e dimensionar leitura/gravação (permite que o aplicativo da Web seja lido/gravado em dois nós SQL)
Eu estou querendo saber o modelo é viável?
Hoje, faço algumas expirações para entender melhor o cluster MySQL.
O cluster MySQL funciona bem:
ndb_mgm> show
Connected to Management Server at: localhost:1186
Cluster Configuration
[ndbd(NDB)]2 node(s)
[email protected] (mysql-5.6.19 ndb-7.3.6, Nodegroup: 0, *)
[email protected] (mysql-5.6.19 ndb-7.3.6, Nodegroup: 0)
[ndb_mgmd(MGM)]1 node(s)
[email protected] (mysql-5.6.19 ndb-7.3.6)
[mysqld(API)]1 node(s)
[email protected] (mysql-5.6.19 ndb-7.3.6)
Caso 1: desligo o nó de gerenciamento por killall ndb_mgmd e mato um nó de dados por killall ndbd. Vejo que o nó de dados restantes está desativado, embora eu não faça nada com ele. Não há nó de dados ao vivo, portanto, é impossível obter ou alterar dados do nó sql.
Caso 2: Mantenho o nó de gerenciamento ativo. Eu mato um nó de dados por killall ndbd. Vejo que o nó de dados restante ainda está vivo, então o nó sql ainda funciona bem.
Eu tenho uma pergunta. Devo manter o nó de gerenciamento para controlar nós de dados? Eu não li o manual de referência do mysql mencionar o caso semelhante.
Agradeço antecipadamente.
Eu li sobre o MySQL. Na minha opinião, vejo dois tipos de log muito semelhantes. O MySQL salva como e quando os dados são alterados no log. As informações são usadas para recuperação do MySQL. Estou confundindo a função de dois tipos de log.
Estou pesquisando cluster MySQL. Para isso, faço uma demonstração com 4 máquinas virtuais. Eu tenho alguns problemas na prática.
Topologia
Minha topologia contém quatro nós Nó 1: nó de gerenciamento, endereço IP 192.168.56.205 Nó 2: nó SQL, endereço IP 192.168.56.206 Nó 3: nó de dados 1, endereço IP 192.168.56.207 Nó 4: nó de dados 2, endereço IP 192.168. 56.208
Outra informação
- SO Linux: Centos 6.4, 32 bits
- Kernel Linux: 2.6.32-358.el6.i686
- Versão do MySQL Cluster: MySQL-Cluster-gpl-7.3.6-2.el6.i686.rpm-bundle.tar
- RAM 128MB
- Desativou o firewall iptables
- Selinux desabilitado
Instalação
- Em todos os quatro nós, instalo MySQL-Cluster-server-gpl-7.3.6-2.el6.i686.rpm e MySQL-Cluster-shared-compat-gpl-7.3.6-2.el6.i686.rpm
- Exceto o nó 2 - nó sql, instalo mais MySQL-Cluster-client-gpl-7.3.6-2.el6.i686.rpm
configuração
No nó 1 - nó de gerenciamento
- Crie o diretório /var/lib/mysql-cluster, atribua owner:group is mysql:mysql
Crie /var/lib/mysql-cluster/config.ini:
[ndbd default]
NoOfReplicas=2
DataMemory=80M
IndexMemory=18M[padrão tcp]
número da porta=2202[ndb_mgmd]
hostname=192.168.56.205
datadir=/var/lib/mysql-cluster[ndbd]
hostname=192.168.56.207
datadir=/usr/local/mysql/data[ndbd]
hostname=192.168.56.208
datadir=/usr/local/mysql/data[mysqld]
hostname=192.168.56.206
No nó 2 - nó sql
[mysqld]
datadir = /var/lib/mysql
port = 3306
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
ndbcluster
[mysql_cluster]
ndb-connectstring=192.168.56.205
No nó 3 e nó 4 - nós de dados
- Crie o diretório /usr/local/mysql/data, atribua owner:group is mysql:mysql
Configurar /etc/my.cnf:
[mysqld] ndbcluster
[mysql_cluster] ndb-connectstring=192.168.56.205
Comece
No nó de gerenciamento, executo: ndb_mgmd -f /var/lib/mysql-cluster/config.ini No nó de dados 1 e 2, executo: ndbd Finalmente, no nó sql, executo: mysqld_safe &
Resultado
ndb_mgm> show
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2 (not connected, accepting connect from 192.168.56.207)
id=3 @192.168.56.208 (mysql-5.6.19 ndb-7.3.6, starting, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.56.205 (mysql-5.6.19 ndb-7.3.6)
[mysqld(API)] 1 node(s)
id=4 (not connected, accepting connect from any host)
Erro:
Nó 2: desligamento forçado do nó concluído. Ocorreu durante a fase inicial 0. Iniciado pelo sinal 11.
Há ndb_2_error.log em /usr/local/mysql/data do nó 2
O conteúdo de ndb_2_error.log:
Time: Monday 28 July 2014 - 09:45:01
Status: Temporary error, restart node
Message: WatchDog terminate, internal error or massive overload on the machine running this node (Internal error, programming error or missing error message, please report a bug)
Error: 6050
Error data: Job Handling
Error object: /export/home/pb2/build/sb_0-12598553-1404293345.9/rpm/BUILD/mysql-cluster-gpl-7.3.6/mysql-cluster-gpl-7.3.6/storage/ndb/src/kernel/vm/WatchDog.cpp
Program: ndbd
Pid: 1709
Version: mysql-5.6.19
Aviso para três nós: nó 2, nó 3 e nó 4
2014-07-28 09:47:23 [MgmtSrvr] WARNING -- Failed to allocate nodeid for API at 192.168.56.208. Returned error: 'No free node id found for mysqld(API).'
2014-07-28 09:47:23 [MgmtSrvr] WARNING -- Failed to allocate nodeid for API at 192.168.56.207. Returned error: 'No free node id found for mysqld(API).'
2014-07-28 09:47:23 [MgmtSrvr] WARNING -- Failed to allocate nodeid for API at 192.168.56.206. Returned error: 'No free node id found for mysqld(API).'
Obrigado pelo seu tempo.