下載安裝
Doris運行在Linux環境中,推薦 CentOS 7.x 或者 Ubuntu 16.04 以上版本,同時你需要安裝 Java 運行環境(JDK最低版本要求是8)
1、下載安裝包
下載地址:https://doris.apache.org/zh-CN/download/
安裝包有兩個,一個是fe、一個是be,都需要下載
2、配置Doris
2.1 配置FE
解壓fe的安裝包,進入到conf目錄,編輯fe.conf
只需要修改一個參數:priority_networks
這裏假設你的節點IP是192.168.56.17,那麼我們可以通過掩碼的方式配置爲 192.168.56.0/24
priority_networks=192.168.56.0/24
2.2 啓動FE
./bin/start_fe.sh --daemon
啓動完成後可以使用下面的命令檢查Doris是否啓動成功
curl http://127.0.0.1:8030/api/bootstrap
如果返回結果中帶有 "msg":"success" 字樣,則說明啓動成功
2.3 訪問Doris的UI
http:// fe_ip:8030
這裏我們使用 Doris 內置的默認用戶 root 進行登錄,密碼是空
2.4 連接FE
我們可以使用MySql客戶端來連接Doris FE,也可以使用mysql命令工具連接,因爲他是Mysql協議,所以在使用上跟Mysql一樣的
- 客戶端連接:
- Mysql命令連接
mysql -uroot -P9030 -h127.0.0.1
注意:
- 這裏使用的 root 用戶是 doris 內置的默認用戶,也是超級管理員用戶
- -P :這裏是我們連接 Doris 的查詢端口,默認端口是 9030,對應的是fe.conf裏的 query_port
- -h : 這裏是我們連接的 FE IP地址,如果你的客戶端和 FE 安裝在同一個節點可以使用127.0.0.1,這種也是 Doris 提供的如果你忘記 root 密碼,可以通過這種方式不需要密碼直接連接登錄,進行對 root 密碼進行重置
執行下面的命令可以查看FE運行狀態
show frontends\G;
- 配置BE
3.1 我們進入到be目錄,編輯conf/be.conf
# 添加 priority_networks 參數
priority_networks=192.168.56.0/24
# 配置BE數據存儲目錄
storage_root_path=/home/disk2/doris
注意:這個目錄/home/disk2/doris 必須先創建好
3.2 啓動BE
./bin/start_be.sh --daemon
如果啓動失敗,修改可打開文件數。異常信息如下:
E1128 03:45:46.852288 24097 storage_engine.cpp:426] File descriptor number is less than 60000. Please use (ulimit -n) to set a value equal or greater than 60000
W1128 03:45:46.852396 24097 storage_engine.cpp:188] check fd number failed, error: Internal error: file descriptors limit is too small
解決方法:
修改配置文件/etc/security/limits.conf
添加:
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
或者執行
ulimit -n 65535
重啓系統後生效
3.3 添加 BE 節點到集羣
通過MySQL 客戶端連接到 FE 之後執行下面的 SQL,將 BE 添加到集羣中
ALTER SYSTEM ADD BACKEND "be_host_ip:heartbeat_service_port";
1、be_host_ip:這裏是你 BE 的 IP 地址,和你在 be.conf 裏的 priority_networks
2、匹配heartbeat_service_port:這裏是你 BE 的心跳上報端口,和你在 be.conf 裏的 heartbeat_service_port 匹配,默認是 9050。
通過SHOW BACKENDS命令可以查看BE運行狀態
Alive : true表示節點運行正常
停止BE命令
./bin/stop_be.sh
創建數據表
- 創建數據庫
create database demo;
- 創建表
CREATE TABLE IF NOT EXISTS demo.example_tbl
(
`user_id` LARGEINT NOT NULL COMMENT "用戶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"
);
- 導入數據
10000,2017-10-01,北京,20,0,2017-10-01 06:00:00,20,10,10
10000,2017-10-01,北京,20,0,2017-10-01 07:00:00,15,2,2
10001,2017-10-01,北京,30,1,2017-10-01 17:05:45,2,22,22
10002,2017-10-02,上海,20,1,2017-10-02 12:59:12,200,5,5
10003,2017-10-02,廣州,32,0,2017-10-02 11:20:00,30,11,11
10004,2017-10-01,深圳,35,0,2017-10-01 10:00:15,100,3,3
10004,2017-10-03,深圳,35,0,2017-10-03 10:20:22,11,6,6
將上面的數據保存在test.csv文件中。然後通過Stream load方式將上面保存到文件中的數據導入到我們剛纔創建的表中。
curl --location-trusted -u root: -T test.csv -H "column_separator:," http://127.0.0.1:8030/api/demo/example_tbl/_stream_load
- -T test.csv : 這裏是我們剛纔保存的數據文件,如果路徑不一樣,請指定完整路徑
- -u root : 這裏是用戶名密碼,我們使用默認用戶root,密碼是空
- 127.0.0.1:8030 : 分別是 fe 的 ip 和 http_port
初次導入時報錯:
Message": "too many filtered rows
因爲我是之前是用的wps創建的csv文件,改用用記事本之後就好了。
4. 查詢數據
select * from example_tbl;
到這裏我們整個快速開始就結束了,我們從 Doris 安裝部署、啓停、創建庫表、數據導入及查詢,完整的體驗了Doris的操作流程,對Doris有了個簡單的使用,後續再繼續開始我們Doris的深入之旅吧。