下載druid
下載地址
http://static.druid.io/artifacts/releases/druid-services-0.6.145-bin.tar.gz
解壓
tar -zxvf druid-services-*-bin.tar.gz
cd druid-services-*
外部依存關(guān)系
1.A "deep" storage,作為一個(gè)備份數(shù)據(jù)庫(kù)
2.mysql
設(shè)置mysql
mysql -u root
GRANT ALL ON druid.* TO 'druid'@'localhost' IDENTIFIED BY'diurd';
CREATE database druid;
3.Apache Zookeeper
curl http://apache.osuosl.org/zookeeper/zookeeper-3.4.5/zookeeper-3.4.5.tar.gz -o zookeeper-3.4.5.tar.gz
tar xzf zookeeper-3.4.5.tar.gz
cd zookeeper-3.4.5
cp conf/zoo_sample.cfg conf/zoo.cfg
./bin/zkServer.sh start
cd ..
集群
啟動(dòng)一些節(jié)點(diǎn)然后下載數(shù)據(jù)。首先你的保證在\config文件夾下面有這個(gè)幾個(gè)節(jié)點(diǎn):
在配置好mysql 和zookeeper后,還需要5步,druid集群服務(wù)就搭建成功了。啟動(dòng)4個(gè)節(jié)點(diǎn)。
1:?jiǎn)?dòng)coordinator 節(jié)點(diǎn)
Coordinator 節(jié)點(diǎn)負(fù)責(zé)druid的負(fù)載均衡
配置文件
config/coordinator/runtime.properties
druid.host=localhost
druid.service=coordinator
druid.port=8082
druid.zk.service.host=localhost
druid.db.connector.connectURI=jdbc\:mysql\://localhost\:3306/druid
druid.db.connector.user=druid
druid.db.connector.password=diurd
druid.coordinator.startDelay=PT70s
啟動(dòng)命令
java -Xmx256m-Duser.timezone=UTC -Dfile.encoding=UTF-8 -classpath lib/*:config/coordinator io.druid.cli.Main server coordinator &
coordinator啟動(dòng)后會(huì)在durid數(shù)據(jù)庫(kù)中創(chuàng)建下面3個(gè)表:
2:?jiǎn)?dòng)Historical 節(jié)點(diǎn)
historiacl節(jié)點(diǎn)是集群的核心組成部分,負(fù)責(zé)加載數(shù)據(jù),使它們可用于查詢(xún)
配置文件
druid.host=localhost
druid.service=historical
druid.port=8081
druid.zk.service.host=localhost
druid.extensions.coordinates=["io.druid.extensions:druid-s3-extensions:0.6.143"]
# Dummy read only AWS account (used to download exampledata)
druid.s3.secretKey=QyyfVZ7llSiRg6Qcrql1eEUG7buFpAK6T6engr1b
druid.s3.accessKey=AKIAIMKECRUYKDQGR6YQ
druid.server.maxSize=10000000000
# Change these to make Druidfaster
druid.processing.buffer.sizeBytes=100000000
druid.processing.numThreads=1
druid.segmentCache.locations=[{"path":"/tmp/druid/indexCache", "maxSize"\: 10000000000}]
啟動(dòng)命令
java -Xmx256m-Duser.timezone=UTC -Dfile.encoding=UTF-8 -classpath lib/*:config/historical io.druid.cli.Main server historical &
3:?jiǎn)?dòng)Broker節(jié)點(diǎn)
broker負(fù)責(zé)從 historiacl 節(jié)點(diǎn) 和realtime 節(jié)點(diǎn)中查詢(xún)數(shù)據(jù)。
配置文件
druid.host=localhost
druid.service=broker
druid.port=8080
druid.zk.service.host=localhost
啟動(dòng)命令
java -Xmx256m-Duser.timezone=UTC -Dfile.encoding=UTF-8 -classpath lib/*:config/broker io.druid.cli.Main server broker &
4:load 數(shù)據(jù)
因?yàn)槭亲鰷y(cè)試所以需要手動(dòng)插入數(shù)據(jù),在生產(chǎn)集群環(huán)境中,這些數(shù)據(jù)是自動(dòng)保存到數(shù)據(jù)庫(kù)中的。
use druid;
INSERT INTOdruid_segments (id, dataSource, created_date, start, end,partitioned, version, used, payload) VALUES ('wikipedia_2013-08-01T00:00:00.000Z_2013-08-02T00:00:00.000Z_2013-08-08T21:22:48.989Z','wikipedia', '2013-08-08T21:26:23.799Z','2013-08-01T00:00:00.000Z', '2013-08-02T00:00:00.000Z', '0','2013-08-08T21:22:48.989Z', '1', '{\"dataSource\":\"wikipedia\",\"interval\":\"2013-08-01T00:00:00.000Z/2013-08-02T00:00:00.000Z\",\"version\":\"2013-08-08T21:22:48.989Z\",\"loadSpec\":{\"type\":\"s3_zip\",\"bucket\":\"static.druid.io\",\"key\":\"data/segments/wikipedia/20130801T000000.000Z_20130802T000000.000Z/2013-08-08T21_22_48.989Z/0/index.zip\"},\"dimensions\":\"dma_code,continent_code,geo,area_code,robot,country_name,network,city,namespace,anonymous,unpatrolled,page,postal_code,language,newpage,user,region_lookup\",\"metrics\":\"count,delta,variation,added,deleted\",\"shardSpec\":{\"type\":\"none\"},\"binaryVersion\":9,\"size\":24664730,\"identifier\":\"wikipedia_2013-08-01T00:00:00.000Z_2013-08-02T00:00:00.000Z_2013-08-08T21:22:48.989Z\"}');
5:?jiǎn)?dòng)realtime節(jié)點(diǎn)
配置文件
druid.host=localhost
druid.service=realtime
druid.port=8083
druid.zk.service.host=localhost
druid.extensions.coordinates=["io.druid.extensions:druid-examples:0.6.143","io.druid.extensions:druid-kafka-seven:0.6.143"]
# Change this config to db to hand off to the rest of the Druidcluster
druid.publish.type=noop
# These configs are only required for real hand off
# druid.db.connector.connectURI=jdbc\:mysql\://localhost\:3306/druid
# druid.db.connector.user=druid
# druid.db.connector.password=diurd
druid.processing.buffer.sizeBytes=100000000
druid.processing.numThreads=1
druid.monitoring.monitors=["io.druid.segment.realtime.RealtimeMetricsMonitor"]
啟動(dòng)命令
java -Xmx256m-Duser.timezone=UTC -Dfile.encoding=UTF-8-Ddruid.realtime.specFile=examples/wikipedia/wikipedia_realtime.spec -classpathlib/*:config/realtime io.druid.cli.Main serverrealtime &
最后就可以查詢(xún)數(shù)據(jù)了。
聯(lián)系客服