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 -uroot -P9030 -h127.0.0.1
注意:
執行下面的命令可以檢視FE執行狀態
show frontends\G;
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
初次匯入時報錯:
Message": "too many filtered rows
因為我是之前是用的wps建立的csv檔案,改用用記事本之後就好了。
4. 查詢資料
select * from example_tbl;
到這裡我們整個快速開始就結束了,我們從 Doris 安裝部署、啟停、建立庫表、資料匯入及查詢,完整的體驗了Doris的操作流程,對Doris有了個簡單的使用,後續再繼續開始我們Doris的深入之旅吧。