Implantação em máquina única do sistema operacional do servidor Galaxy Kirin V10SP3 do banco de dados Apache Doris

Prefácio

Apache Doris é um banco de dados de análise em tempo real de alto desempenho baseado na arquitetura MPP, conhecido por sua velocidade extremamente alta e facilidade de uso. Sob dados massivos, o tempo de resposta para retornar resultados de consulta atinge um nível inferior a um segundo, suportando não apenas cenários de consulta pontual de alta simultaneidade, mas também cenários de análise complexa de alto rendimento. Suporta instalação e execução em um único nó, incluindo criação de bancos de dados, tabelas de dados, importação de dados e consultas, etc.

Ambiente do sistema

Versão do sistema operacional: sistema operacional do servidor Galaxy Kirin V10SP3-2212 (x86_64)
Versão Apache Doris: 1.2.3
Site oficial do Apache Doris: https://doris.incubator.apache.org/
Link para download do pacote de instalação Doris e instruções relacionadas:

Nome do componente Descrição do componente Link para download do componente (requer CPU para suportar o conjunto de instruções avx2)
FE Frontend, o nó front-end de Doris. Baseado principalmente na linguagem Java, é o principal responsável por receber e retornar solicitações de clientes, metadados, gerenciamento de cluster, geração de planos de consulta, etc. apache-doris-fe-1.2.3-bin-x86_64.tar.xz
SER Backend, o nó de backend de Doris. Utilizando principalmente a linguagem C++, é o principal responsável pelo armazenamento e gerenciamento de dados, execução do plano de consulta, etc. apache-doris-be-1.2.3-bin-x86_64.tar.xz
Dependências As dependências do apache-doris incluem pacotes jar que suportam aparência JDBC e JAVA UDF, bem como Broker e AuditLoader. Após o download, você precisa colocar java-udf-jar-with-dependencies.jar no diretório be/lib. apache-doris-dependencies-1.2.3-bin-x86_64.tar.xz

Etapas de construção

Configuração do sistema

  1. Para executar o Doris, você precisa de um ambiente Java instalado no sistema com versão não inferior a 8. Você pode verificar a versão do ambiente Java atualmente instalada através do comando java -version ;
[root@localhost ~]# java -version

Insira a descrição da imagem aqui
2. Defina o número máximo de identificadores de arquivos abertos no sistema;

[root@localhost ~]# vim /etc/security/limits.conf

Insira a descrição da imagem aqui
3. Porta de liberação do firewall do sistema;

[root@localhost ~]# firewall-cmd --zone=public --add-port=8030/tcp --permanent
[root@localhost ~]# firewall-cmd --reload

Insira a descrição da imagem aqui

Implantar FE

Configurar FE

  1. Descompacte o pacote de componentes FE;
[root@localhost ~]# xz -d apache-doris-fe-1.2.3-bin-x86_64.tar.xz
[root@localhost ~]# tar -xvf apache-doris-fe-1.2.3-bin-x86_64.tar
[root@localhost ~]# mv apache-doris-fe-1.2.3-bin-x86_64 /opt/doris-fe
  1. Modifique o arquivo de configuração FE;
[root@localhost ~]# cd /opt/doris-fe/
[root@localhost ~]# vim conf/fe.conf

Antes da modificação:
Insira a descrição da imagem aqui
Após a modificação:
Insira a descrição da imagem aqui

Iniciar FE

  1. Execute o seguinte comando no diretório de instalação do FE para concluir a inicialização do FE;
[root@localhost doris-fe]# ./bin/start_fe.sh --daemon
  1. Execute o seguinte comando para verificar se Doris inicia com sucesso.Quando você vê que o resultado retornado contém "msg": "success"palavras-chave, significa que Doris inicia com sucesso;
[root@localhost doris-fe]# curl http://192.168.42.178:8030/api/bootstrap

Insira a descrição da imagem aqui
3. Ou acesse através de um navegador da web http://{FE_IP}:8030para confirmar se o FE foi iniciado com sucesso;
usuário de login padrão: root
Senha: vazia

Insira a descrição da imagem aqui

Conectar FE

  1. Execute o seguinte comando para conectar-se a Doris FE;
[root@localhost ~]# mysql -uroot -P9030 -h127.0.0.1

Nota: root é o superusuário padrão integrado de Doris, 9030 é o valor do fe.confcampo no arquivo de configuração FE query_port(o padrão é 9030)
Insira a descrição da imagem aqui
2. Execute o seguinte comando do banco de dados MySQL para visualizar o status de execução do FE;

MySQL [(none)]> show frontends\G;

Insira a descrição da imagem aqui
IsMaster,Join,AliveAo ver os valores desses três campos no resultado retornado pelo comando acima true, significa que o nó FE está normal.

Pare FE

FE pode ser interrompido através do seguinte comando;

[root@localhost doris-fe]# ./bin/stop_fe.sh

Insira a descrição da imagem aqui

Implantar BE

Configurar BE

  1. Descompacte o pacote de componentes BE;
[root@localhost ~]# xz -d apache-doris-be-1.2.3-bin-x86_64.tar.xz
[root@localhost ~]# tar -xvf apache-doris-be-1.2.3-bin-x86_64.tar
[root@localhost ~]# mv apache-doris-be-1.2.3-bin-x86_64 /opt/doris-be
  1. Modifique o arquivo de configuração BE;
[root@localhost ~]# cd /opt/doris-be/
[root@localhost ~]# vim conf/be.conf

Antes da modificação: Após a modificação
Insira a descrição da imagem aqui
:
Insira a descrição da imagem aqui
3. Defina a variável de ambiente JAVA_HOME;
① Visualize a variável JAVA_HOME atual do sistema

[root@localhost doris-be]# which java
[root@localhost doris-be]# ls -lrt /usr/bin/java
[root@localhost doris-be]# ls -lrt /etc/alternatives/java

Insira a descrição da imagem aqui
Nota: O resultado retornado na figura acima /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-10.ky10.x86_64é JAVA_HOMEo valor da variável do sistema. ②Adicione a primeira linha do
script de inicialização do BE para definir a variável de ambientestart_be.shexport JAVA_HOME=your_java_home_path

[root@localhost doris-be]# vim bin/start_be.sh

Insira a descrição da imagem aqui
4. Instale a função JAVA UDF;

[root@localhost ~]# xz -d apache-doris-dependencies-1.2.3-bin-x86_64.tar.xz
[root@localhost ~]# tar -xf apache-doris-dependencies-1.2.3-bin-x86_64.tar
[root@localhost ~]# cp apache-doris-dependencies-1.2.3-bin-x86_64/java-udf-jar-with-dependencies.jar /opt/doris-be/lib/

Comece a SER

  1. Execute os seguintes comandos em sequência para iniciar o BE;
[root@localhost doris-be]# sysctl -w vm.max_map_count=2000000
[root@localhost doris-be]# ./bin/start_be.sh --daemon
  1. Conecte-se ao FE por meio do cliente MySQL e execute a seguinte instrução SQL para adicionar o nó BE ao cluster e, em seguida, confirme o status de execução do BE;
[root@localhost doris-be]# mysql -uroot -P9030 -h127.0.0.1
MySQL [(none)]> ALTER SYSTEM ADD BACKEND "192.168.42.178:9050";
MySQL [(none)]> show backends\G;

Insira a descrição da imagem aqui

Pare de SER

  1. Pare o BE executando o seguinte comando;
[root@localhost doris-be]# ./bin/stop_be.sh

Insira a descrição da imagem aqui

Criar tabela de dados

  1. Criar banco de dados;
[root@localhost ~]# mysql -uroot -P9030 -h127.0.0.1
MySQL [(none)]> create database demo;

Insira a descrição da imagem aqui
2. Crie uma tabela de dados;

MySQL [(none)]> use demo;
Database changed
MySQL [demo]> CREATE TABLE IF NOT EXISTS demo.example_tbl
    -> (
    ->     `user_id` LARGEINT NOT NULL COMMENT "user id",
    ->     `date` DATE NOT NULL COMMENT "",
    ->     `city` VARCHAR(20) COMMENT "",
    ->     `age` SMALLINT COMMENT "",
    ->     `sex` TINYINT COMMENT "",
    ->     `last_visit_date` DATETIME REPLACE DEFAULT "1970-01-01 00:00:00" COMMENT "",
    ->     `cost` BIGINT SUM DEFAULT "0" COMMENT "",
    ->     `max_dwell_time` INT MAX DEFAULT "0" COMMENT "",
    ->     `min_dwell_time` INT MIN DEFAULT "99999" COMMENT ""
    -> )
    -> AGGREGATE KEY(`user_id`, `date`, `city`, `age`, `sex`)
    -> DISTRIBUTED BY HASH(`user_id`) BUCKETS 1
    -> PROPERTIES (
    ->     "replication_allocation" = "tag.location.default: 1"
    -> );
Query OK, 0 rows affected (0.101 sec)
  1. Importar dados de amostra;
[root@localhost ~]# cat /opt/test.csv
10000,2017-10-01,beijing,20,0,2017-10-01 06:00:00,20,10,10
10006,2017-10-01,beijing,20,0,2017-10-01 07:00:00,15,2,2
10001,2017-10-01,beijing,30,1,2017-10-01 17:05:45,2,22,22
10002,2017-10-02,shanghai,20,1,2017-10-02 12:59:12,200,5,5
10003,2017-10-02,guangzhou,32,0,2017-10-02 11:20:00,30,11,11
10004,2017-10-01,shenzhen,35,0,2017-10-01 10:00:15,100,3,3
10004,2017-10-03,shenzhen,35,0,2017-10-03 10:20:22,11,6,6

Importe os dados do test.csv acima para a tabela de dados que criamos na etapa anterior por meio do carregamento do Stream.

[root@localhost ~]# curl  --location-trusted -u root: -T /opt/test.csv -H "column_separator:," http://127.0.0.1:8030/api/demo/example_tbl/_stream_load

Insira a descrição da imagem aqui
StatusNota: O valor do campo no resultado retornado acima Successindica que os dados foram importados com sucesso.

Consultar dados

Através das etapas acima, concluímos a criação da tabela de dados e importamos os dados, então podemos começar a experimentar as funções rápidas de consulta e análise de dados de Doris.

[root@localhost ~]# mysql -uroot -P9030 -h127.0.0.1
MySQL [(none)]> use demo;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MySQL [demo]> select * from example_tbl;
+---------+------------+-----------+------+------+---------------------+------+----------------+----------------+
| user_id | date       | city      | age  | sex  | last_visit_date     | cost | max_dwell_time | min_dwell_time |
+---------+------------+-----------+------+------+---------------------+------+----------------+----------------+
| 10000   | 2017-10-01 | beijing   |   20 |    0 | 2017-10-01 06:00:00 |   20 |             10 |             10 |
| 10001   | 2017-10-01 | beijing   |   30 |    1 | 2017-10-01 17:05:45 |    2 |             22 |             22 |
| 10002   | 2017-10-02 | shanghai  |   20 |    1 | 2017-10-02 12:59:12 |  200 |              5 |              5 |
| 10003   | 2017-10-02 | guangzhou |   32 |    0 | 2017-10-02 11:20:00 |   30 |             11 |             11 |
| 10004   | 2017-10-01 | shenzhen  |   35 |    0 | 2017-10-01 10:00:15 |  100 |              3 |              3 |
| 10004   | 2017-10-03 | shenzhen  |   35 |    0 | 2017-10-03 10:20:22 |   11 |              6 |              6 |
| 10006   | 2017-10-01 | beijing   |   20 |    0 | 2017-10-01 07:00:00 |   15 |              2 |              2 |
+---------+------------+-----------+------+------+---------------------+------+----------------+----------------+
7 rows in set (0.080 sec)

MySQL [demo]> select * from example_tbl where city='shanghai';
+---------+------------+----------+------+------+---------------------+------+----------------+----------------+
| user_id | date       | city     | age  | sex  | last_visit_date     | cost | max_dwell_time | min_dwell_time |
+---------+------------+----------+------+------+---------------------+------+----------------+----------------+
| 10002   | 2017-10-02 | shanghai |   20 |    1 | 2017-10-02 12:59:12 |  200 |              5 |              5 |
+---------+------------+----------+------+------+---------------------+------+----------------+----------------+
1 row in set (0.038 sec)

MySQL [demo]> select city, sum(cost) as total_cost from example_tbl group by city;
+-----------+------------+
| city      | total_cost |
+-----------+------------+
| beijing   |         37 |
| shanghai  |        200 |
| guangzhou |         30 |
| shenzhen  |        111 |
+-----------+------------+
4 rows in set (0.059 sec)

MySQL [demo]>

Link de referência: https://doris.incubator.apache.org/docs/dev/get-starting/

Acho que você gosta

Origin blog.csdn.net/ShenSeKyun/article/details/129931676
Recomendado
Clasificación