Druid系列《三》集群

2021-08-26 14:47:04 字數 3063 閱讀 6741

集群配置的規劃需要根據需求來定製,下面以乙個開發環境機器搭建為例,描述如何搭建乙個有ha特性的druid集群.

集群部署有以下幾點需要說明 

1. 為了保證ha,主節點部署兩台 

2. 管理節點與查詢節點可以考慮多核大記憶體的機器

部署規劃

角色

機器

配置

集群角色

主節點10.5.24.137

8c16g

coordinator,overlord

主節點10.5.24.138

8c16g

coordinator,overlord

資料節點,查詢節點

10.5.24.139

8c16g

historical, middlemanager, tranquility,broker,pivot web

資料節點,查詢節點

10.5.24.140

8c16g

historical, middlemanager, tranquility,(資料節點,查詢節點)broker

部署步驟

公共配置

在druid包下,有以下內容:

需要修改conf資料夾下的配置檔案

4.1.1配置deep storage

druid

用分布式檔案系統或大物件(

blob

)儲存來進行資料儲存。最常用的是亞馬遜s3和

hdfs。

4.1.2配置hadoop (可選)

如果需要通過hadoop集群載入資料,在druid集群中需要如下配置:

更新conf/middlemanager/runtime.properties中的druid.indexer.task.hadoopworkingpath引數,將索引過程中需要的臨時檔案指向hdfs路徑。

通常會配置成druid.indexer.task.hadoopworkingpath=/tmp/druid-indexing

將hadoop的xml(core-site.xml, hdfs-site.xml, yarn-site.xml, mapred-site.xml)配置檔案放到druid節點的classpath路徑裡,可以copy到conf/druid/_common/core-site.xml, conf/druid/_common/hdfs-site.xml等等。請注意,您不需要為了從hadoop載入資料而使用hdfs深儲存。例如,如果您的集群在amazon web services上執行,我們建議使用s3進行深度儲存,即使您正在使用hadoop或elastic mapreduce載入資料。

配置druid coordination

在這個簡單的集群示例中,可以在同一臺伺服器上,部署單個druid coordinator、druid overlord、乙個zookeeper例項和乙個嵌入式derby元資料資料庫。

修改conf/druid/_common/common.runtime.properties配置檔案中druid.zk.service.host引數,指向zookeeper伺服器位址。修改druid.metadata.storage.connector.connecturi和druid.metadata.storage.connector.host引數執行元資料儲存位址。

流資料的攝取有兩種方式:

通過實時節點以pull的方式攝取

通過索引服務的方式以push方式攝取

ingestion spec是乙個json文字,由三部分組成

,#json物件,指明資料來源格式、資料解析格式、維度

「ioconfig」:,#json物件,指明資料如何在druid中儲存

「tuningconfig」:#json物件,指明儲存優化配置

}

,
,
"flags",
"diffurl",
,
,
]
},
"timestampspec":
}
]
},
"timestampspec":
}

所有指標列的資訊

},

"metricsspec" : ,
"granularityspec" :

},

"ioconfig" : ,
},

優化資料攝取的配置

"tuningconfig" :

}
}

以push方式攝取需要啟動索引服務,先啟動中間管理者,和統治節點(overload node)

同樣通過索引服務的方式。批量攝取資料。需要乙個通知節點提交乙個索引任務。

druid hadoop index job支援從hdfs上獲取資料,並攝入到druid中,同樣是通過http啟動乙個json配置檔案

命令:

Hadoop集群部署(三),集群時間同步

集群中的節點需要設定時間同步。這很自然,因為多節點協作,我們希望它們在時間上是同步的。解決方案就很簡單了,只保留乙個節點作為時間伺服器,其他兩個節點從該節點得到時間。步驟 在其中乙個節點配置ntp,這裡配置101主機 server 0.centos.pool.ntp.org iburst serve...

dubbo學習三 集群,執行緒模型

集群容錯 在集群呼叫失敗時,dubbo提供了多種容錯方案,預設為failover重試。1 這裡的invoker是provider的乙個可呼叫service的抽象,invoker封裝了provider位址及service 介面資訊。2 directory代表多個invoker,可以把它看成list,但...

Redis(三) 集群搭建 day13

redis 集群架構 所有節點之間相互連通,內部使用二進位制協議優化傳輸速度和寬頻。redis集群中內建16384個雜湊槽,每個key寫入的時候,都會由crc16演算法運算後用16384求餘,將這個key分配到相應的hash槽中,這16384個槽又被大致平均的分配到各個節點上。集群不可用情況 1.集...