StarRocks配置


1. 設置用戶名和密碼

1.1) 修改root密碼

登陸

mysql -h FE_HOST -P9030 -uroot

fe_host 是任一 FE 節點的 ip 地址。9030 是 fe.conf 中的 query_port 配置。

設置密碼:

SET PASSWORD FOR 'root' = PASSWORD('root');

1.2) 創建新用戶

CREATE USER 'test' IDENTIFIED BY 'test_passwd';

后續登陸可以使用新創建的用戶登陸

mysql -h FE_HOST -P9030 -uwenbronk -pa75

授權: 需要先建庫

GRANT ALL ON example_db TO wenbronk;

2. 高級設置

2.1) 增大內存

內存不夠時, 查詢可能會出現‘Memory limit exceeded’, 這是因為doris對每個用戶默認設置內存限制為 2g

mysql> show variables like '%mem_limit%';
+----------------+------------+
| Variable_name  | Value      |
+----------------+------------+
| exec_mem_limit | 2147483648 |
| load_mem_limit | 0          |
+----------------+------------+
2 rows in set (0.00 sec)

可以修改為 8g

SET exec_mem_limit = 8589934592;

上述設置僅僅在當前session有效, 如果想永久有效, 需要添加 global 參數

SET GLOBAL exec_mem_limit = 8589934592;

2.2) 修改超時時間

doris默認最長查詢時間為300s, 如果仍然未完成, 會被cancel掉

mysql> SHOW VARIABLES LIKE "%query_timeout%";
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| QUERY_TIMEOUT | 300   |
+---------------+-------+
1 row in set (0.00 sec)

可以修改為60s

SET query_timeout = 60;

同樣, 如果需要全局生效需要添加參數 global

set global query_timeout = 60;

2.3) Broadcast/Shuffle Join

doris在join操作的時候時候, 默認使用broadcast的方式進行join, 即將小表通過廣播的方式廣播到大表所在的節點, 形成內存hash, 然后流式讀出大表數據進行hashjoin

但如果小表的數據量也很大的時候, 就會造成內存溢出, 此時需要通過shuffle join的方式進行, 也被稱為partition join. 即將大表小表都按照join的key進行hash, 然后進行分布式join

braodcast join

select sum(table1.pv) from table1 join table2 where table1.siteid = 2;

顯示制定braodcast

select sum(table1.pv) from table1 join [broadcast] table2 where table1.siteid = 2;

suffle join

select sum(table1.pv) from table1 join [shuffle] table2 where table1.siteid = 2;

3. fe.conf配置

3.1)priority_networks配置指定IP

priority_networks = 172.17.22.28

4. be.conf配置

4.1)priority_networks配置指定IP

priority_networks = 172.17.22.28

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM