As vezes, temos necessidade de rodar alguns comandos ou aplicativos linux em uma máquina windows e ai as coisas começam a complicar.
Um software muito conhecido, bom e grátis é o Cygwin, onde você instala os software que deseja sob demanda.
Porém, um colega de trabalho descobriu o babun . Ele é gratis, utiliza o Cygwin e tem uma interface muito user friendly.
Porque não testar?
Fica a dica
Informações, dicas etc.... O objetivo deste blog é cadastrar as pesquisas, descobertas e documentação encontrada de um assunto que estou vendo no momento. Também serve para guardar artigos interessantes, principalmente sobre linux e tecnologias afins.
segunda-feira, 14 de dezembro de 2015
Linux simples e fácil - Para iniciantes também :)
Hoje no trabalho me apresentaram uma versão do linux que eu não conhecia, digo ouvi falar. Não sou nenhuma refêrencia nesta área :)
O nome da versão é Manjaro, muito simples de usar e user friendly.
http://sourceforge.net/projects/manjarolinux/?source=typ_redirect
Não precisa nem perguntar se é gratuito, pois é com certeza.
Para testar, installei tambem um software de virtualização muito conhecido e grátis, o Virtual Box .
Após a instalação, fiz alguns testes e funcionam muito bem.
Pronto,m agora vc pode continuar com a sua versão windows e quando quiser brincar um pouquinho em um novo ambiente/conceito, seja bem vindo ao Manjaro ;)
O nome da versão é Manjaro, muito simples de usar e user friendly.
http://sourceforge.net/projects/manjarolinux/?source=typ_redirect
Não precisa nem perguntar se é gratuito, pois é com certeza.
Para testar, installei tambem um software de virtualização muito conhecido e grátis, o Virtual Box .
Após a instalação, fiz alguns testes e funcionam muito bem.
Pronto,m agora vc pode continuar com a sua versão windows e quando quiser brincar um pouquinho em um novo ambiente/conceito, seja bem vindo ao Manjaro ;)
segunda-feira, 7 de dezembro de 2015
MongoDb - Replication - Passo a passo
Resumo de como criar uma replicação utilizando Mongodb em uma máquina MAC
Conceitos gerais:
// Creating Recovery Set (RS)
levar em consideração portas, dbpath et nome do RS
// Criar diretórios para guardar os arquivos do RS
Ex. para criar 3 diretórios sobre o diretório corrente para guardar os RS
mkdir 1 2 3
mongod --port 27001 --replSet abc --dbpath /user/NomeUser/dba/1
--logpath /user/NomeUser/dba/log.1 --logappend -- oplogSize 50
-- smallfiles --fork
Este comando deve ser repetido para cada RS, trocando com certeza o nome do diretório e o nome do arquivo de log
// como inicializar o RS
Conceitos gerais:
- asynchronous com Slave
- Master (Primary) - slave (Secondary)
- RF=Replication Factor
- Majority é eleito por consenso
- Escrita é sempre no primario
- Statement-base vs binary (similar crash on recovery journal)
- normalmente o oplog é 5% do tamanho do disco
- o diretório journal é onde guarda os dados
- "Write is truly when committed upon application @ a majority of the set" and "we can get knowledge of this"
- uma coleção no Slave pode haver ordem diferente do primary
Replication:
- Automatic Failover
- Automatic node recovery
// Creating Recovery Set (RS)
levar em consideração portas, dbpath et nome do RS
// Criar diretórios para guardar os arquivos do RS
Ex. para criar 3 diretórios sobre o diretório corrente para guardar os RS
mkdir 1 2 3
mongod --port 27001 --replSet abc --dbpath /user/NomeUser/dba/1
--logpath /user/NomeUser/dba/log.1 --logappend -- oplogSize 50
-- smallfiles --fork
Este comando deve ser repetido para cada RS, trocando com certeza o nome do diretório e o nome do arquivo de log
// como inicializar o RS
- criar uma variáve com os dados de configuração
- Inicializar o RS
- Mongo --port 27001
- config
//exemplo de arquivo de configuração de RS
cfg = {
_id : "abc",
members : [
{ _id:0, host: 10gen.local:27001"},
{ _id:1, host: 10gen.local:27002"},
{ _id:2, host: 10gen.local:27003"}
]
}
// ajuda do help no RS
rs.help()
rs.initiate (cfg)
// status do RS
rs.status()
// para saber o config
rs.config()
// master?
db.isMaster()
// dica
db.system.replset.find().pretty()
//Secondary Reads (para autorizar os slaves a poderem acessar os dados)
rs.slaveOk()
//Restart replicaset
Mongod igual a todos os parametros
//read preferencias -= rs.slaveOk()
//geograpy, seprate workload separete load, availability
// Opções de configuração de leitura
- Primary (default)
- Primary prefered
- Secondary
- Secondary prefered
- Newest (mais próximo)
// reconfiguração de opções
rs.reconfig()
// arbiter não tem dados, só vota ( arbiterOnly: true) e é configurado no config do RS
// priority = 1 default, 0=never - parametro também inserido no arquivo de configuração
// parametros hidden: true (nenhum cliente pode enxerga-lo, somente o primary
// slaveDelay: <seconds> ( 8 * 3600) équivale a 8 horas
// hidden true é automático quando esta configurado como slaveDelay
// arquivo hidden não aparece no hosts
//votes: <n> .Não é recomendável utilizar esta opção. ele pode ser 0 (zero)
// dica para atualizar o arquivo de configuração já existente
cfg.members[2]= lkjsdfjklsdfjkldsfljkdfjkl (parametros)
// oplog guarda as atualizações a serem feitas (normalmente qdo tem slaveDelay)
// na maiorira das vezes, ou quando algo é importante o w deve ser majority ({ w : "majority"}) .
// w=1 para coisas não muito críticas (not super critical)
// dica: é uma boa ter o arbiter um DC diferente como Amazon
Set deve ter < =12 members and < = 7 votes
// para verificar quantos rs estão funcionando (mongod)
- ps -A | grep mongod
Fonte: Estas informações foram retiradas do curso online do website MongoDb University para DBA (M102)
Assinar:
Postagens (Atom)