Instalar OrientDB no CentOS 7

Visão geral
OrientDB é um sistema de gerenciamento de banco de dados NoSQL gratuito e de código aberto. Ao contrário dos sistemas relacionais que armazenam dados em tabelas, bancos NoSQL armazenam dados em formatos não tabulares, como documentos ou grafos. OrientDB combina armazenamento de documentos e grafos, suporta transações ACID, operações atômicas e permite retornar grafos completos com documentos interconectados. A linguagem de consultas é baseada em SQL e o produto suporta múltiplos algoritmos de indexação para performance.
Definição rápida: ACID — conjunto de propriedades (Atomicidade, Consistência, Isolamento e Durabilidade) que garantem confiabilidade em transações.
Portas e itens-chave:
- Porta web do Studio: 2480 (HTTP)
- Versão mostrada no guia: OrientDB 2.2.25 (exemplo)
- Java recomendado: Oracle/OpenJDK 8 (exemplificado com 1.8.0_144 neste tutorial)
Intenção do artigo
Instalar e configurar OrientDB em CentOS 7 e deixá-lo pronto para uso em um ambiente de desenvolvimento ou produção leve.
Variantes relacionadas à intenção: instalar OrientDB CentOS, configurar OrientDB systemd, OrientDB Studio, OrientDB Java, OrientDB firewall.
Pré-requisitos
- Servidor mínimo com CentOS 7.
- Privilégios root (este guia usa comandos como root; se usar sudo, execute sudo -i antes).
Importante: sempre teste em ambiente de staging antes de aplicar em produção.
Atualizar o sistema base
Antes de instalar pacotes, atualize o sistema e repositórios:
yum -y update
Após atualização, instale dependências necessárias.
Instalar Java
OrientDB suporta OpenJDK e Oracle Java. Este tutorial demonstra instalação do pacote RPM do Oracle Java 8 conforme exemplo. Baixe o pacote RPM:
wget --no-cookies --no-check-certificate --header "Cookie:oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.rpm"
Se não tiver wget instalado, rode:
yum -y install wget
Instale o RPM baixado:
yum -y localinstall jdk-8u144-linux-x64.rpm
Verifique a versão do Java:
java -version
Exemplo de saída:
[root@liptan-pc ~]# java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
Configurar JAVA_HOME
Verifique se a variável JAVA_HOME está definida:
echo $JAVA_HOME
Se estiver vazia, edite o arquivo de perfil do usuário (aqui usamos nano):
nano ~/.bash_profile
Adicione ao final do arquivo (ajuste o caminho conforme a instalação):
export JAVA_HOME=/usr/java/jdk1.8.0_144/
export JRE_HOME=/usr/java/jdk1.8.0_144/jre
Carregue as variáveis:
source ~/.bash_profile
Verifique:
[root@pc ~]# echo $JAVA_HOME
/usr/java/jdk1.8.0_144/
Observação: em ambientes com múltiplas versões de Java, gerencie via alternatives ou ajuste os caminhos conforme necessário.
Instalar OrientDB
É recomendado executar o OrientDB sob um usuário dedicado para isolar permissões. Crie o usuário:
adduser orientdb -d /opt/orientdb
Isso cria o usuário orientdb com diretório home em /opt/orientdb.
Navegue para o diretório do usuário e baixe o binário (o exemplo usa uma versão específica). Ajuste o link para versões mais recentes na página de downloads do OrientDB.
cd /opt/orientdb/
wget https://orientdb.com/download.php?file=orientdb-community-importers-2.2.25.tar.gz -O orientdb.tar.gz
Extraia o arquivo:
tar -xf orientdb.tar.gz
O comando acima extrairá em um diretório como orientdb-community-importers-2.2.25. Mova os arquivos para o diretório raiz da instalação:
mv orientdb-community-importers*/* .
Limpe o diretório temporário e o arquivo de pacote:
rm -rf orientdb-community-importers*/ orientdb.tar.gz
Ajuste permissões para o usuário orientdb:
chown -R orientdb:orientdb /opt/orientdb
OrientDB estará instalado em /opt/orientdb.
Iniciar o servidor
Troque para o usuário orientdb:
su - orientdb
Inicie o servidor com o script de inicialização:
bin/server.sh
Na primeira execução será solicitado criar a senha do usuário root do OrientDB. Use uma senha forte ou deixe em branco para geração automática.
Exemplo de prompt interativo:
+---------------------------------------------------------------+
| WARNING: FIRST RUN CONFIGURATION |
+---------------------------------------------------------------+
| This is the first time the server is running. Please type a |
| password of your choice for the 'root' user or leave it blank |
| to auto-generate it. |
| |
| To avoid this message set the environment variable or JVM |
| setting ORIENTDB_ROOT_PASSWORD to the root password to use. |
+---------------------------------------------------------------+
Root password [BLANK=auto generate it]: *********
Please confirm the root password: *********
Se o servidor iniciar corretamente, verá mensagens semelhantes a:
2017-08-05 12:48:04:444 INFO OrientDB Studio available at http://108.61.201.197:2480/studio/index.html [OServer]
2017-08-05 12:48:04:445 INFO OrientDB Server is active v2.2.25 (build 72a35a4bb42c4ca33272e7a59ad4c7a1d3ee859d). [OServer]
Para parar o servidor enquanto estiver no terminal em primeiro plano, pressione Ctrl+C. Para voltar ao usuário root no shell, digite:
exit
Configurar serviço Systemd
Para que o OrientDB inicie automaticamente no boot e seja gerenciado pelo systemd, crie a unidade:
nano /etc/systemd/system/orientdb.service
Cole o conteúdo abaixo no arquivo:
[Unit]
Description=OrientDB service
After=network.target
[Service]
Type=simple
ExecStart=/opt/orientdb/bin/server.sh
User=orientdb
Group=orientdb
Restart=always
RestartSec=9
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=orientdb
[Install]
WantedBy=multi-user.target
Após salvar, inicie e habilite o serviço:
systemctl start orientdb
systemctl enable orientdb
Verifique o status:
systemctl status orientdb
Exemplo de saída resumida:
[root@liptan-pc ~]# systemctl status orientdb
? orientdb.service - OrientDB service
Loaded: loaded (/etc/systemd/system/orientdb.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2017-08-05 17:34:40 UTC; 15s ago
Main PID: 6939 (java)
CGroup: /system.slice/orientdb.service
??6939 /bin/java -d64 -server -Xms2G -Xmx2G -Djna.nosys=true -XX:+HeapDumpOnOutOfMemoryError -XX:MaxDirectMe...
Aug 05 17:34:43 liptan-pc orientdb[6939]: 2017-08-05 17:34:43:477 INFO Installing dynamic plugin 'orientdb-telepo...ager]
Aug 05 17:34:43 liptan-pc orientdb[6939]: 2017-08-05 17:34:43:504 INFO [OVariableParser.resolveVariables] Error o...gies]
Aug 05 17:34:43 liptan-pc orientdb[6939]: 2017-08-05 17:34:43:573 WARNI Authenticated clients can execute any kind...eter]
Aug 05 17:34:43 liptan-pc orientdb[6939]: 2017-08-05 17:34:43:578 INFO OrientDB Studio available at http://108.61...rver]
Hint: Some lines were ellipsized, use -l to show in full.
Link para o console
Crie um link simbólico para facilitar o acesso ao console do OrientDB:
ln -s /opt/orientdb/bin/console.sh /usr/bin/orientdb
Conecte-se ao console com:
orientdb
Exemplo de prompt:
[root@liptan-pc ~]# orientdb
OrientDB console v.2.2.25 (build 72a35a4bb42c4ca33272e7a59ad4c7a1d3ee859d) https://www.orientdb.com
Type 'help' to display all the supported commands.
Installing extensions for GREMLIN language v.2.6.0
orientdb>
Saia do prompt com:
exit
Acessar OrientDB Studio
OrientDB Studio é a interface web fornecida com o pacote. Depois de iniciar o servidor, o Studio fica disponível em:
http://seu-ip-ou-host:2480
Se houver firewall ativo, libere a porta 2480 e recarregue as regras:
firewall-cmd --zone=public --permanent --add-port=2480/tcp
firewall-cmd --reload
Você verá a página de boas-vindas do Studio.
Para criar um banco de dados clique em NEW DB e preencha os dados. Use “root” como usuário do servidor e a senha configurada na primeira execução.
Após criar o banco, será exibido o painel de controle do banco:
Na aba Browse é possível executar queries e visualizar resultados.
Na aba Schema edite classes e propriedades do esquema.
Na aba Security gerencie usuários e permissões.
Solução de problemas comuns
- Servidor não inicia: verifique logs em /opt/orientdb/log/ e o status do systemd. Procure por erros de memória Java ou porta em uso.
- Porta 2480 inacessível: confirme firewall e SELinux. Para diagnóstico, desative temporariamente o firewall na VM de teste (não em produção):
systemctl stop firewalld
- Erro de permissão: confira ownership e permissões do diretório /opt/orientdb com chown -R orientdb:orientdb /opt/orientdb.
- Problemas de Java: verifique JAVA_HOME e a versão do java usada pelo systemd (pode ser diferente do shell do usuário). Ajuste o ExecStart para usar wrapper com JAVA_HOME exportado, se necessário.
Backup e recuperação (mini-metodologia)
- Exportação leve: use console.sh para exportar schemas e dados com comandos integrados.
- Backup de arquivos: copie o diretório de banco (com o serviço parado) para armazenamento seguro.
- Rotina recomendada: pare o serviço, faça snapshot consistente ou exporte dados, reinicie o serviço. Teste restaurações regularmente.
Segurança e privacidade
- Não exponha o Studio diretamente à Internet sem proteção (reverse proxy, autenticação adicional, TLS). Studio usa HTTP por padrão na porta 2480.
- Para ambientes públicos, coloque um proxy reverso (nginx/Apache) com TLS e regras de ACL.
- Proteja a conta root do OrientDB com uma senha forte e use contas menores com permissões limitadas para aplicações.
- Privacidade / GDPR: trate dados pessoais conforme legislação. Limite retenção, aplique controle de acesso e registre operações sensíveis.
Quando não usar OrientDB (contraexemplos)
- Sistemas fortemente relacionais com muitas junções e transações ad-hoc complexas podem se beneficiar mais de um SGBD relacional maduro.
- Projetos com requisitos de conformidade ou ferramentas corporativas que dependem de SQL padrão e integrações específicas podem preferir bancos relacionais.
- Se a equipe não tem experiência com modelos de grafos/documentos, o custo de aprendizagem pode ser um fator para escolher uma alternativa.
Abordagens alternativas
- Banco de grafos dedicado: Neo4j (quando o foco for grafos e consultas de caminho complexas).
- Document store: MongoDB (quando o foco for documentos JSON e escala horizontal simples).
- SQL: PostgreSQL (quando o modelo relacional clássico e integridade forte são prioritários).
Modelo mental e heurística de escolha
- Dados conectados e relacionamentos complexos: considere OrientDB ou um grafo dedicado.
- Estruturas predominantemente documentais sem fortes relações: MongoDB.
- Dados tabulares com necessidade de integridade referencial e queries ad-hoc: PostgreSQL/MySQL.
Checklist de implantação por função
Administrador de sistema:
- Atualizar e aplicar patches no CentOS 7.
- Instalar Java e configurar JAVA_HOME.
- Criar usuário orientdb e configurar permissões.
- Criar unidade systemd e habilitar serviço.
- Configurar firewall e SELinux conforme política.
Desenvolvedor / DBA:
- Criar banco(s) no Studio ou via console.
- Definir esquema e índices necessários.
- Verificar queries e planos de execução.
- Implementar política de backup e testes de restauração.
Segurança/Compliance:
- Trocar senha root do OrientDB e documentar responsáveis.
- Implementar TLS via proxy reverso para o Studio/API.
- Aplicar logging e retenção de logs.
Playbook de implantação (SOP rápido)
- Atualizar o servidor: yum -y update
- Instalar Java e definir JAVA_HOME
- Criar usuário orientdb e extrair binários em /opt/orientdb
- Ajustar owner: chown -R orientdb:orientdb /opt/orientdb
- Criar serviço systemd e habilitar
- Abrir porta 2480 no firewall
- Iniciar serviço e testar acesso ao Studio
- Criar backup inicial e validar restauração
Critérios de aceitação
- OrientDB inicia com systemd e permanece ativo após reboot.
- Studio acessível via http://seu-ip:2480 (ou proxy com TLS).
- Usuário root do OrientDB tem senha definida.
- Diretório /opt/orientdb pertence ao usuário orientdb.
- Backup e restauração testados com sucesso em staging.
Comandos úteis (cheat sheet)
- Iniciar/parar/ativar serviço:
systemctl start orientdb
systemctl stop orientdb
systemctl enable orientdb
systemctl status orientdb
- Logs (exemplo):
journalctl -u orientdb -f
tail -n 200 /opt/orientdb/log/orientdb.log
- Console do OrientDB:
orientdb
Glossário (uma linha)
- OrientDB: SGBD NoSQL com suporte a grafos e documentos.
- Studio: Interface web administrativa do OrientDB.
- ACID: Propriedades de transações confiáveis.
- NoSQL: Categoria de bancos que não são estritamente relacionais.
- systemd: Gerenciador de serviços do Linux moderno.
Conclusão
Neste tutorial instalamos o OrientDB em CentOS 7, cobrimos desde a instalação do Java até a configuração do serviço systemd e o acesso pelo Studio. Também incluímos checklists, playbook, pontos de segurança, solução de problemas e orientações sobre quando escolher alternativas.
Notes importantes:
- Sempre use ambientes de teste antes de migrar para produção.
- Proteja o Studio com TLS/proxy e siga políticas de backup/retenção.
Resumo rápido: instale Java, coloque os arquivos em /opt/orientdb, ajuste permissões, configure systemd, abra a porta 2480 e monitore logs.
Materiais semelhantes

Monitoramento Apache Tomcat — contadores e regras

Como se Proteger do Clickjacking

Papéis de parede distintos por tela no Android

Como remover seus dados de corretores de dados

Papéis de parede por tela no Android
