Doris 使用笔记

LiJQLOG / 2024-04-30 / 原文

Doris 使用笔记

docker 启动命令

docker run -it --network=host --name doris
-v /data/path/.m2:/root/.m2
-v /data/path/doris-DORIS-release/:/root/doris-DORIS-release/
-v /data/path/hello_doris:/root/doris apache/doris:build-env-ldb-toolchain-latest

mysql 连接命令

mysql -h 10.2.3.4 -P 9030 -uroot -p1234567

doris 名字层级

catalog_name.db_name.table_name

本地 catalog_name 的默认名字为 internal

be 与 fe 通信

fe -> fe 之间通信使用 thrift

fe -> be 之间通信使用 brpc

动态参数修改

admin set frontend config("enable_param" = "false");
admin show frontend config wher key='enable_param';

doris 集群管理命令

show proc "/backends";
show backends;

alter system add BACKEND "10.2.3.4:8061 (heartbeat port)"
alter system dropp BACKEND "10.2.3.4:9060 (heartbeat port)"

show proc "/frontends";
show frontends;

alter system add follower "10.2.3.4:9021 (edit_log_port)" 
alter system drop follower "10.2.3.4:9021 (edit_log_port)"

show 命令

show proc "/"

show full processlist;

show resources;

show workload groups;

show proc '/current_queries';

创建外部资源

create external resource `oracle_odbc`
properties (
    "type" = "odbc_catalog",
    "host" = "192.168.0.1",
    "port" = "8086",
    "user" = "test",
    "password" = "test",
    "database" = "test",
    "odbc_type" = "oracle",
    "driver" = "Oracle 19 ODBC driver"
);

ddl 语句

-- 创建数据库
create database db_test;

-- 切换数据库
use db_test;

-- 创建表
create table test_table(c1 int)  distributed by random
properties (
    "replication_num" = "1"
);

-- 填充数据
insert into test_table values(10);
insert into test_table values(20);
insert into test_table values(30);
insert into test_table values(40);
insert into test_table select * from test_table;

tips

-- 在配置文件上加这个参数,就能在同一个 host 下面放 3 个 be 了
allow_replica_on_same_host = true 
-- 动态参数修改
admin set frontend config("allow_replica_on_same_host" = "true");

-- 查询节点状态,使用 http 接口 is_all_node 可查询集群全部状态

-- 为 fe 添加调试环境
DEBUG_OPT=-agentlib:jdwp=transport=dt_socket,server=y,address=5005
#DEBUG_OPT=""

JAVA_OPTS_FOR_JDK_17="-Djavax.security.auth.useSubjectCredsOnly=false -Xmx8192m -Xms8192m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$LOG_DIR -Xlog:gc*:$LOG_DIR/fe.gc.log.$CUR_DATE:time,uptime:filecount=10,filesize=50M --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens java.base/jdk.internal.ref=ALL-UNNAMED $DEBUG_OPT"