Da última vez, escrevi no blog sobre a montagem das peças mais importantes do Couchcase. Instalei o Ubuntu em 3 Intel Compute Sticks e instalei Servidor Couchbase sobre eles.
Já faz um tempo desde a minha última atualização, porque tive alguns problemas. Mas agora a Couchcase está funcionando. Está uma bagunça de fios no momento, mas está funcionando.

Manifesto
Aqui está um manifesto de todas as peças do Couchcase:
Alguns desses itens eu já tinha em casa, como tenho certeza de que você também tem.
Por que USB para Ethernet?
Em minha última postagem, passei algum tempo instalando e configurando drivers de wifi no Ubuntu. Individualmente, o Wi-Fi funcionou bem. Comprei um roteador Wi-Fi para viagem com a intenção de usar um estojo ainda menor do que o que estou usando agora.
No entanto, quando tentei conectar todos os Compute Sticks a um roteador Wi-Fi, as conexões continuaram caindo. Até hoje não sei 100% ao certo o motivo. Ouvi dizer que os rádios Wi-Fi do Compute Stick podem ser problemáticos. Também acho que o fato de todos os rádios estarem tão próximos uns dos outros pode ter causado alguma contenção. Pode ser uma combinação desses dois fatores ou algo completamente diferente.
Decidi que deveria usar a conexão com fio como solução alternativa. Mas os Compute Sticks não têm uma tomada ethernet (por que teriam?), por isso a necessidade de um adaptador USB. Em última análise, ter uma conexão com fio pode ser mais útil para demonstrar o que acontece no caso de uma falha de rede.
Devo avisá-lo de que nem todo adaptador USB para Ethernet funciona bem com o Linux e/ou com os Compute Sticks. Usei os adaptadores Belkin F4UO61 (que acredito terem sido descontinuados, mas sei que funcionam). Experimentei alguns adaptadores USB baratos e sem marca (CH9200). Consegui encontrar um driver para Linux, mas os adaptadores pareciam funcionar de forma intermitente.
Ajustes do Ubuntu
Enquanto tentava resolver o problema de rede, me deparei com um postagem de blog de Kirk Kirkconnell sobre ajustes no sistema operacional Linux. Eu nunca tinha ouvido falar de "swappiness" ou "Transparent Huge Pages (THP)", mas como estou executando o Couchbase no Linux, decidi fazer os ajustes sugeridos.
E, a propósito, esses ajustes são uma boa ideia não apenas para o Couchbase, mas para outros softwares semelhantes executados em servidores Linux.
OpenSSH
Outra otimização que fiz foi desativar a interface do usuário do Ubuntu (que acredito ser o Unity/GNOME) na inicialização. Como essas máquinas normalmente não estarão conectadas a um monitor, não há motivo para usar recursos para mostrar um gerenciador de janelas.
A maneira como fiz isso foi alterando o arquivo grub em /etc/default
. Executei o gedit como administrador: Eu defini GRUB_CMDLINE_LINUX="texto"
e eu defino GRUB_TERMINAL=console
. Não se esqueça de atualizar o GRUB depois de fazer isso: sudo update-grub
.
Ainda quero poder acessar remotamente a linha de comando para fazer alterações (como os ajustes mencionados acima), por isso instalei o servidor OpenSSH. sudo apt-get install openssh-server
é tudo o que é necessário. Agora posso fazer login em cada um dos meus servidores Couchbase usando uma ferramenta como PuTTY.
Próximas etapas
Quando eu tinha três máquinas executando o Couchbase, foi fácil fazer com que elas formassem um cluster. Mais detalhes sobre isso na próxima postagem do blog.
Também solicitei a ajuda da minha esposa para arrumar a bagunça de fios em algo mais apresentável. Vamos usar velcro, cola, fita adesiva e espuma para deixá-lo bonito e resistente a danos durante a viagem.
Diga-me o que você achou da Couchcase: envie-me um tweet para @mgroves ou deixe um comentário.