Uma das potencialidades mais significativas das distribuições Linux é a capacidade de expandir seu potencial a níveis muito mais altos do que aqueles fornecidos pelo sistema por padrão, graças ao seu código-fonte aberto.
Mencionamos as milhares de opções de aplicativos, programas e utilitários que encontramos em todos os tipos de categorias para tornar um servidor mais produtivo e hoje vamos nos concentrar no Apache CouchDB, que é um aplicativo de software noSQL de código aberto.
Faremos essa análise no CentOS 7.
O que é Apache CouchDBApache CouchDB é um recurso de software livre que nos permite acessar dados de onde for necessário, definindo o Coach Replication Protocol, que foi implementado por uma variedade de projetos e produtos que cobrem todos os ambientes de TI, desde clusters de servidores distribuídos globalmente., Ou telefones celulares a navegadores da web. O software compatível com o Couch Replication Protocol inclui: PouchDB, Cloudant e Couchbase Lite.
O Apache CouchDB foi desenvolvido em 2005 e tornou-se parte da Apache Software Foundation em 2008.
O CouchDB tem uma linguagem de consulta simples para o desenvolvedor e pode, opcionalmente, incluir MapReduce para uma recuperação de dados simples, eficiente e completa.
Recursos do Apache CouchDBEntre as diferentes características do Apache CouchDB, temos:
- Banco de dados de nó único: CouchDB possui um banco de dados de nó único excelente que funciona como qualquer outro banco de dados usando um servidor de aplicativos, o melhor é que pode ser estendido a qualquer momento.
- Cluster: Apache CouchDB é um banco de dados em cluster que nos permite executar um único servidor de banco de dados lógico em qualquer número de servidores ou máquinas virtuais. Um cluster CouchDB melhora a configuração de um único nó, dando a ele maior capacidade e alta disponibilidade sem alterar nenhuma API interna.
- O CouchDB usa o protocolo HTTP e o formato de dados JSON e é compatível com qualquer software que os suporte.
- Inclui o Offline First Data Sync, que é um protocolo de replicação CouchDB exclusivo, sendo a base para toda uma nova geração de aplicativos "Offline First" para aplicativos móveis e outros ambientes com infraestruturas de rede atuais.
- O Apache CouchDB foi projetado para servidores (de Raspberry Pi a grandes instalações em nuvem), enquanto o PouchDB foi projetado para navegadores de desktop e móveis e o Couchbase Lite foi projetado para aplicativos iOS e Android nativos abrangendo todas as áreas de TI.
- Os nós individuais usam uma estrutura de dados somente de anexação resistente a falhas. Um cluster CouchDB de vários nós salva todos os dados de maneira redundante, portanto, está sempre disponível quando necessário.
1. Instale os repositórios EPEL e Apache CouchDB no CentOs 7
Antes de instalar o Apache CouchDB no CentOS 7, será necessário adicionar um novo repositório EPEL (Extra Package for Enterprise Linux).
Passo 1
Podemos adicionar o repositório EPEL com o seguinte comando:
yum -y install epel-release
Passo 2
Para instalar o Apache CouchDB, temos pacotes rpm para instalação em RedHat ou CentOS, portanto, para isso, instalaremos o CouchDB a partir do repositório Apache, indo para o diretório /etc/yum.repos.d e criaremos um novo arquivo de repositório chamado "apache -couchdb.repo "usando o editor nano:
cd /etc/yum.repos.d/ nano apache-couchdb.repoetapa 3
No novo arquivo implantado, colaremos o seguinte:
[bintray - apache-couchdb-rpm] name = bintray - apache-couchdb-rpm baseurl = http: //apache.bintray.com/couchdb-rpm/el$releasever/$basearch/ gpgcheck = 0 repo_gpgcheck = 0 habilitado = 1
Passo 4
Salvamos as alterações usando a seguinte combinação de teclas:
Ctrl + O
Saímos do editor usando:
Ctrl + X
Etapa 5
Prosseguimos para instalar o Apache CouchDB executando a seguinte linha:
yum -y instalar o couchdb
Etapa 6
Esperamos que todos os pacotes sejam baixados e instalados corretamente. Após a conclusão da instalação, iniciaremos o serviço e permitiremos que ele seja executado na inicialização do sistema:
systemctl start couchdb systemctl enable couchdb
2. Verifique o serviço CouchDB e as portas no CentOs 7
Passo 1
Podemos verificar o status atual do serviço CouchDB executando a seguinte linha:
systemctl status couchdb
Passo 2
É importante verificar em quais portas a comunicação do Apache CouchDB é estabelecida para habilitá-los no firewall. Para verificar isso, executamos o seguinte:
netstat -plntuObservaçãoCaso não tenha o netstat, devemos instalá-lo executando o seguinte. Por padrão, o Apache CouchDB usará a porta 5984.
yum install net-tools
3. Habilite o servidor HTTP Apache CouchDB no CentOs 7
O Apache CouchDB fornece o servidor HTTP para acesso de administrador na porta padrão, como já mencionamos, 5984. Ele tem uma interface de usuário da web de painel de administrador chamada 'Fauxton'.
Passo 1
Para habilitar o servidor HTTP Apache CouchDB, devemos ir para o diretório de instalação de apache couchdb / opt / couchdb e editar o arquivo de configuração chamado default.ini no diretório etc /:
cd / opt / couchdb nano etc / default.iniPasso 2
No arquivo exibido, iremos para a seção "[chttpd]" e lá inseriremos nosso endereço IP no campo "bind_address":
etapa 3
Nós salvamos as alterações e saímos do arquivo. Prosseguimos para reiniciar o serviço Apache CouchDB com a seguinte linha:
systemctl reiniciar o couchdbPasso 4
Prosseguimos para habilitar a porta Apache CouchDB executando as seguintes linhas:
firewall-cmd --add-port = 5984 / tcp --permanent firewall-cmd -reload
4. Acesse e configure a conta do administrador no Apache CouchDB
Passo 1
Agora, para acessar o Apache CouchDB, vamos a um navegador e inserimos a seguinte sintaxe. Este será o ambiente Apache CouchDB inicial no CentOS 7.
http: // endereço_IP: 5984 / _utils /
Passo 2
Este ponto é vital para segurança e privacidade, pois neste momento o acesso à plataforma da web CouchDB é direto e não requer credenciais, de forma que qualquer usuário pode criar, editar ou excluir objetos.
Para isso, clique no ícone de seta bidirecional no canto superior direito e clique no ícone "Bancos de dados":
etapa 3
Lá, clicamos no botão "Admin Party!" E na nova janela criaremos o usuário administrador com as respectivas credenciais. Clique no botão Criar Admin para criar o usuário.
Passo 4
Com este método, da próxima vez que tentarmos acessar novamente, será necessário inserir as credenciais definidas:
Etapa 5
Apache CouchDB oferece uma API para gerenciar o sistema CouchDB, podemos usar o utilitário de comando 'curl' para gerenciar o sistema CouchDB em geral.
Olá CouchDBPara obter informações sobre o servidor couchdb instalado no CentOS 7, podemos usar o parâmetro GET da seguinte maneira:
curl -X OBTER http: // localhost: 5984 / ou curl -X OBTER http: // IP: 5984 /
Podemos ver que a versão instalada é 2.1.1.
Crie um novo banco de dadosA essência do Apache CouchDB são bancos de dados, para criar um novo banco de dados será necessário ter privilégios de administrador. A seguir, usaremos o parâmetro PUT. Vamos criar um novo banco de dados chamado solvetic_db:
curl -X PUT http://192.168.0.8:5984/solvetic_dbAo executar esta linha, podemos ver um erro de permissão, podemos testar usando a seguinte linha:
curl -X PUT http: // usuário: [email protected]: 5984 / solvetic_db
Podemos ver que o banco de dados foi criado corretamente:
Liste o banco de dados e suas informaçõesPara obter informações sobre um banco de dados, será necessário utilizar o parâmetro GET da seguinte forma:
curl -X GET http: // nome de usuário: senha @ localhost: 5984 / _all_dbsIsso exibirá todos os bancos de dados criados no momento. Agora, vamos executar o seguinte para obter as informações de qualquer um dos bancos de dados implantados:
curl -X GET http: // nome de usuário: senha @ localhost: 5984 / solvetic_db
Excluir um banco de dadosNo momento, queremos excluir um banco de dados do Apache CouchDB, podemos executar o seguinte:
curl -X DELETE http: // nome de usuário: senha @ localhost: 5984 / solvetic_dbPodemos validar que ele foi removido executando:
curl -X GET http: // nome de usuário: senha @ localhost: 5984 / _all_dbs
Podemos entender a diversidade de tarefas que o Apache CouchDB nos permite realizar para o gerenciamento de nossos bancos de dados de forma simples.