Docker單機(jī)部署Doris超詳細(xì)圖文教程
1、先修改內(nèi)核參數(shù)
在啟動doris的be時,需要將 Linux 操作系統(tǒng)的內(nèi)核參數(shù)設(shè)置為2000000,這里是Doris官方要求的。
# 此代碼無需運(yùn)行,只是提示 sh-4.2# /opt/apache-doris-1.2.4.1-bin-x86_64/be/bin/start_be.sh --daemon Please set vm.max_map_count to be 2000000 under root using 'sysctl -w vm.max_map_count=2000000'.
Linux系統(tǒng)修改內(nèi)核參數(shù)
直接在Docker宿主機(jī)中設(shè)置即可
sudo sysctl -w vm.max_map_count=2000000 sysctl vm.max_map_count
MacOS 系統(tǒng)修改內(nèi)核參數(shù)
無需停止doris容器,直接執(zhí)行創(chuàng)建以下容器:
docker run -it --privileged --pid=host --name=change_count debian nsenter -t 1 -m -u -n -i sh
容器創(chuàng)建成功執(zhí)行以下命令:
sysctl -w vm.max_map_count=2000000
然后再執(zhí)行be啟動命令即可。
2、下載Doris的運(yùn)行環(huán)境鏡像
這里面安裝了doris啟動需要的環(huán)境,不用自己再提前準(zhǔn)備環(huán)境了,如jdk等。
docker pull apache/doris:build-env-ldb-toolchain-latest
3、下載安裝包
# doris程序包 https://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-1.2.4.1-bin-x86_64.tar.xz # mysql連接客戶端 https://doris-build-hk.oss-cn-hongkong.aliyuncs.com/mysql-client/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
4、啟動鏡像環(huán)境
docker run -d -it --name=doris \ -p 9030:9030 -p 8030:8030 \ apache/doris:build-env-ldb-toolchain-latest \ /bin/bash
復(fù)制安裝包到doris容器中
# 根據(jù)實(shí)際路徑拷貝 docker cp D:/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz doris:/opt docker cp D:/apache-doris-1.2.4.1-bin-x86_64.tar.xz doris:/opt
進(jìn)入到容器中
# 進(jìn)入容器 docker exec -it doris bash # 解壓文件 cd /opt/ tar -xvf apache-doris-1.2.4.1-bin-x86_64.tar.xz tar -xzvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz # 獲取本機(jī)容器內(nèi)網(wǎng)ip地址,需修改到配置文件中。 hostname -i
5、配置fe
cd /opt/apache-doris-1.2.4.1-bin-x86_64/fe vi conf/fe.conf
打開 priority_networks注釋 將剛剛 【hostname -i】 打印出來的內(nèi)網(wǎng)ip替換到
priority_networks = 172.17.0.2/24
接著啟動fe
# 啟動 ./bin/start_fe.sh --daemon # 查看java啟動進(jìn)程 jps # 測試是否正常 curl http://127.0.0.1:8030/api/bootstrap
如下圖所示表示啟動成功
瀏覽器地址訪問 http://localhost:8030/login,賬號root,密碼為空
接著在mysql中連接fe,默認(rèn)無密碼
/opt/mysql-5.7.22-linux-glibc2.12-x86_64/bin/mysql -uroot -P9030 -h127.0.0.1 --skip-ssl show frontends\G;
看到像我這樣IsMaster、Join 和 Alive 三列均為true,則表示節(jié)點(diǎn)正常
6、配置be
#退出mysql exit; #修改配置文件 cd /opt/apache-doris-1.2.4.1-bin-x86_64/be vi conf/be.conf
和上面一樣,替換內(nèi)網(wǎng)ip
priority_networks = 172.17.0.2/24
然后在啟動腳本中設(shè)置jdk的路徑,我們這里下載的鏡像的jdk的默認(rèn)路徑為 /usr/lib/jvm/java-1.8.0
可以先ehco確認(rèn)一下,因?yàn)槭褂玫氖亲钚络R像,路徑可能隨時版本的變更而改變
echo $JAVA_HOME
vi bin/start_be.sh export JAVA_HOME=/usr/lib/jvm/java-1.8.0
啟動be,通過mysql客戶端工具連接be,即在Doris中添加已經(jīng)后端節(jié)點(diǎn)
# 啟動be ./bin/start_be.sh --daemon # 進(jìn)入mysql /opt/mysql-5.7.22-linux-glibc2.12-x86_64/bin/mysql -uroot -P9030 -h127.0.0.1 --skip-ssl # 將BE節(jié)點(diǎn)加入到集群中 ALTER SYSTEM ADD BACKEND "172.17.0.2:9050"; # 顯示doris后端詳情 SHOW BACKENDS\G
Alive : true表示節(jié)點(diǎn)運(yùn)行正常(如果為false,可以嘗試等待一會再重新查看,第一次啟動會慢一點(diǎn);或有其他問題在/opt/apache-doris-1.2.4.1-bin-x86_64/be/log/be.out 里面查看日志)
正常啟動的進(jìn)程是這樣的,會有一個空名字的進(jìn)程,正常,就是be
7、建表測試
第一次接觸doris的同學(xué)可能會疑惑,怎么語法與MySQL差不多,其實(shí)這里建表語句就提現(xiàn)出來了,下面的DDL,在MySQL是無法運(yùn)行的
這里使用MySQL僅作為遠(yuǎn)程連接工具,在實(shí)際使用中僅需啟動fe與be即可,Doris自動啟動和管理內(nèi)部的 MySQL 實(shí)例,用于存儲和管理元數(shù)據(jù)
進(jìn)入mysql命令:
/opt/mysql-5.7.22-linux-glibc2.12-x86_64/bin/mysql -uroot -P9030 -h127.0.0.1 --skip-ssl
執(zhí)行如下SQL語句:
create database demo; use 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" ); exit;
新建一個數(shù)據(jù)文件
cd ~ vi test.csv
test.csv 內(nèi)容
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
導(dǎo)入數(shù)據(jù)
curl --location-trusted -u root: -T test.csv -H "column_separator:," http://127.0.0.1:8030/api/demo/example_tbl/_stream_load
執(zhí)行詳情:
查詢數(shù)據(jù)
# mysql客戶端連接be /opt/mysql-5.7.22-linux-glibc2.12-x86_64/bin/mysql -uroot -P9030 -h127.0.0.1 --skip-ssl
mysql> 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> 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.05 sec) mysql> select * from example_tbl where city='beijing'; +---------+------------+---------+------+------+---------------------+------+----------------+----------------+ | 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 | | 10006 | 2017-10-01 | beijing | 20 | 0 | 2017-10-01 07:00:00 | 15 | 2 | 2 | +---------+------------+---------+------+------+---------------------+------+----------------+----------------+ 3 rows in set (0.02 sec) mysql> 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.03 sec)
8、遠(yuǎn)程連接
默認(rèn)無密碼
除了三方工具,還可以訪問ui界面 Playground
至此安裝完成。
啟動命令
/opt/apache-doris-1.2.4.1-bin-x86_64/fe/bin/start_fe.sh --daemon /opt/apache-doris-1.2.4.1-bin-x86_64/be/bin/start_be.sh --daemon
關(guān)閉命令
/opt/apache-doris-1.2.4.1-bin-x86_64/fe/bin/stop_fe.sh /opt/apache-doris-1.2.4.1-bin-x86_64/be/bin/stop_be.sh
注意:
docker重啟后ip會變,啟動后先查看hostname -i是否跟之前的一致,不一致可以關(guān)掉有影響的docker容器重新按ip順序啟動,或者改成固定IP。
以上就是Docker單機(jī)部署Doris超詳細(xì)圖文教程的詳細(xì)內(nèi)容,更多關(guān)于docker 部署 Doris的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
docker+ddns實(shí)現(xiàn)動態(tài)域名的示例代碼
本文主要介紹了Docker使用ddns-go實(shí)現(xiàn)動態(tài)域名,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11Dockerfile建立一個自定義的鏡像執(zhí)行自定義進(jìn)程詳細(xì)過程
這篇文章主要介紹了Dockerfile建立一個自定義的鏡像執(zhí)行自定義進(jìn)程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-12-12Docker利用busybox創(chuàng)建基礎(chǔ)鏡像(base image)
今天小編就為大家分享一篇關(guān)于Docker利用busybox創(chuàng)建基礎(chǔ)鏡像(base image),小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12Ubuntu 搭建基于Docker的LNMP+Redis的開發(fā)環(huán)境(圖文)
這篇文章主要介紹了Ubuntu 搭建基于Docker的LNMP+Redis的開發(fā)環(huán)境的相關(guān)資料,這里詳細(xì)介紹如何搭建的步驟,并附圖文,需要的朋友可以參考下2016-12-12docker overlay實(shí)現(xiàn)跨主機(jī)的容器互通的方法
這篇文章主要介紹了docker overlay實(shí)現(xiàn)跨主機(jī)的容器互通,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-11-11