Capítulo 2 Compilação e instalação
Para instalar o Doris, você precisa primeiro compilá-lo a partir do código-fonte. Existem duas maneiras principais: usar o Docker para desenvolver a compilação de imagens (recomendado) e compilar diretamente.
Para o método de compilação direta, você pode consultar o site oficial: https://doris.apache.org/zh-CN/installing/compilation.html
2.1 Instalar o ambiente Docker
-
O Docker requer que a versão do kernel do sistema CentOS seja superior a 3.10, primeiro verifique se a versão do kernel do sistema atende
-
Faça login no sistema com privilégios de root para garantir que o pacote yum seja atualizado para o último
-
Se você instalou uma versão antiga, desinstale-a primeiro
sudo yum remove docker docker-common docker-selinux docker-engine
-
Instale o kit de ferramentas yum-util e as dependências do driver devicemapper
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
-
Defina a fonte do yum (acelere a velocidade de download do yum)
Se a conexão expirar, você pode usar a fonte espelhada do alibaba:
-
Veja todas as versões do docker em todos os armazéns e selecione uma versão específica para instalar. Geralmente, você pode instalar diretamente a versão mais recente
-
Instalar docker
(1) A maneira de instalar a versão estável mais recente:
sudo yum install docker-ce -y #A versão estável mais recente está instalada, porque o padrão no repo é apenas
(2) A maneira de instalar a versão especificada:
-
iniciar e ingressar no início da inicialização
-
Verifique a versão para verificar se a instalação foi bem-sucedida
Se houver duas partes de cliente e servidor, isso prova que a instalação foi bem-sucedida.
2.2 Usando o Docker para desenvolver a compilação de imagens
- Baixe o código-fonte e descompacte-
o Baixe via wget (ou carregue manualmente o pacote compactado baixado).
wget
https://dist.apache.org/repos/dist/dev/incubator/doris/0.15/0.15. 0-rc04/apache-doris-0.15.0-incubating-src.tar.gz
Extraia para /opt/software/
tar -zxvf apache-doris-0.15.0-incubating-src.tar.gz -C /opt/software
2) Baixe a imagem do Docker
docker pull apache/incubadora-doris:build-env-for-0.15.0
Você pode usar o seguinte comando para verificar se a imagem foi baixada.
imagens do docker
3) Monte o diretório local para executar a imagem
Execute a imagem montando o diretório de código-fonte local do Doris, para que os arquivos binários compilados sejam armazenados no host e não desapareçam quando a imagem sair. Ao mesmo tempo, monte o diretório .m2 do maven no espelho no diretório do host para
evitar o download repetido das bibliotecas dependentes do maven toda vez que o espelho for compilado.
docker run -it \
-v /opt/software/.m2:/root/.m2 \
-v /opt/software/apache-doris-0.15.0-incubating-src/:/root/apache- doris-0.15.0-incubating-src/ \
apache/incubator-doris:build-env-for-0.15.0
-
Alternar para JDK 8
alternatives --set java java-1.8.0-openjdk.x86_64 alternatives --set javac java-1.8.0-openjdk.x86_64 export JAVA_HOME=/usr/lib/jvm/java-1.8.0
- Prepare as dependências do Maven
O processo de compilação irá baixar muitas dependências. Podemos descompactar o doris-repo.tar.gz preparado para o diretório correspondente montado pelo Docker para evitar o processo de download de dependências e acelerar a compilação.
tar -zxvf doris-repo.tar.gz -C /opt/software
Você também pode acelerar o download especificando o armazém de espelhos do Alibaba Cloud:
vim /opt/software/apache-doris-0.15.0-incubating-src/fe/pom.xml Adicione sob o rótulo:
<repository>
<id>aliyun</id> <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</repository>
vim /opt/software/apache-doris-0.15.0-incubating-src/be/pom.xml Adicione sob o rótulo:
<repository>
<id>aliyun</id> <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</repository>
6) Compilar Doris
sh build.sh
Se for a primeira vez que usa build-env-for-0.15.0 ou posterior, use o seguinte comando ao compilar pela primeira vez:
sh build.sh --clean --be --fe --ui
Como a imagem da versão build-env-for-0.15.0 atualiza o thrift (0.9 -> 0.13), você precisa usar o comando –clean para forçar o uso da nova versão do thrift para gerar arquivos de código, caso contrário, um código incompatível aparecerá .