向导

  • 集群部署
    • 1. 下载tar包,上传服务器,解压
    • 2. 修改配置文件common.runtime.properties
    • 3. 修改coordinator配置,vi overlord/runtime.properties
    • 4. 修改overlord配置,vi coordinator/runtime.properties
    • 5. 修改middleManager配置文件,vi middleManager/runtime.properties
    • 6. 修改historical配置文件,vi historical/runtime.properties
    • 7. 修改broker配置文件,vi broker/runtime.properties
    • 8. 修改router配置文件(可选),vi router/runtime.properties
    • 9. 修改pivot配置文件,vi ../pivot/config.yaml
    • 10. 启动相关依赖服务:hdfs、mysql、zookeeper
    • 11. 启动coordinator、overlord
    • 12. 启动historical、middlemanager
    • 13. 启动broker、pivot、router
  • 验证

集群部署

  集群规划:

10.19.xxx 10.19.xxx 10.19.xxx
coordinator historical broker
overlord middlemanager pivot
router(可选)

1. 下载tar包,上传服务器,解压

tar -xzf imply-3.4.tar.gz
cd imply-3.4

2. 修改配置文件common.runtime.properties

  主要修改extensions.loadList、zk地址、metadata改为mysql、deepStorage改为HDFS、indexer改为HDFS。修改完毕,将hadoop相关主要配置文件core-site、hdfs-site、mapred-site、yarn-site移动至conf/druid/_common目录下

cd conf/druid
vi _common/common.runtime.properties
#
# Extensions
#duid.extensions.directory=dist/druid/extensions
druid.extensions.hadoopDependenciesDir=dist/druid/hadoop-dependencies
druid.extensions.loadList=["druid-kafka-indexing-service","druid-hdfs-storage","druid-histogram","druid-datasketches", "druid-lookups-cached-global","mysql-metadata-storage"]#
# Logging
#
# Log all runtime properties on startup. Disable to avoid logging properties on startup:
druid.startup.logging.logProperties=true#
# Zookeeper
#
druid.zk.service.host=xxx:2181,xxx:2181,xxx:2181
druid.zk.paths.base=/druid#
# Metadata storage
#
# For Derby server on your Druid Coordinator (only viable in a cluster with a single Coordinator, no fail-over):
#druid.metadata.storage.type=derby
#druid.metadata.storage.connector.connectURI=jdbc:derby://master.example.com:1527/var/druid/metadata.db;create=true
#druid.metadata.storage.connector.host=master.example.com
#druid.metadata.storage.connector.port=1527# For MySQL:
druid.metadata.storage.type=mysql
druid.metadata.storage.connector.connectURI=jdbc:mysql://xxx:3306/druid
druid.metadata.storage.connector.user=druid
druid.metadata.storage.connector.password=druid# For PostgreSQL:
#druid.metadata.storage.type=postgresql
#druid.metadata.storage.connector.connectURI=jdbc:postgresql://db.example.com:5432/druid
#druid.metadata.storage.connector.user=...
#druid.metadata.storage.connector.password=...#
# Deep storage
#
# For local disk (only viable in a cluster if this is a network mount):
#druid.storage.type=local
#druid.storage.storageDirectory=var/druid/segments# For HDFS:
druid.storage.type=hdfs
druid.storage.storageDirectory=/druid/segments# For S3:
#druid.storage.type=s3
#druid.storage.bucket=your-bucket
#druid.storage.baseKey=druid/segments
#druid.s3.accessKey=...
#druid.s3.secretKey=...#
# Indexing service logs
#
# For local disk (only viable in a cluster if this is a network mount):
#druid.indexer.logs.type=file
#druid.indexer.logs.directory=var/druid/indexing-logs# For HDFS:
druid.indexer.logs.type=hdfs
druid.indexer.logs.directory=/druid/indexing-logs# For S3:
#druid.indexer.logs.type=s3
#druid.indexer.logs.s3Bucket=your-bucket
#druid.indexer.logs.s3Prefix=druid/indexing-logs#
# Service discovery
#
druid.selectors.indexing.serviceName=druid/overlord
druid.selectors.coordinator.serviceName=druid/coordinator#
# Monitoring
#
druid.monitoring.monitors=["org.apache.druid.java.util.metrics.JvmMonitor"]
druid.emitter=logging
druid.emitter.logging.logLevel=debug
cp /services/hadoop-2.7.7/etc/hadoop/core-site.xml .
cp /services/hadoop-2.7.7/etc/hadoop/hdfs-site.xml .
cp /services/hadoop-2.7.7/etc/hadoop/mapred-site.xml .
cp /services/hadoop-2.7.7/etc/hadoop/yarn-site.xml .

3. 修改coordinator配置,vi overlord/runtime.properties

druid.service=druid/coordinator
druid.host=xxx
druid.port=8081druid.coordinator.startDelay=PT30S
druid.coordinator.period=PT30S

4. 修改overlord配置,vi coordinator/runtime.properties

druid.service=druid/overlord
druid.host=xxx
druid.port=8090druid.indexer.queue.startDelay=PT30Sdruid.indexer.runner.type=remote
druid.indexer.storage.type=metadata

5. 修改middleManager配置文件,vi middleManager/runtime.properties

druid.service=druid/middlemanager
druid.host=xxx
druid.port=8091# Number of tasks per middleManager
druid.worker.capacity=3# Task launch parameters
druid.indexer.runner.javaOpts=-server -Xmx2g -Duser.timezone=UTC -Dfile.encoding=UTF-8 -XX:+ExitOnOutOfMemoryError -Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager
druid.indexer.task.baseTaskDir=var/druid/task
druid.indexer.task.restoreTasksOnRestart=true# HTTP server threads
druid.server.http.numThreads=40# Processing threads and buffers
druid.processing.buffer.sizeBytes=100000000
druid.processing.numMergeBuffers=2
druid.processing.numThreads=2
druid.processing.tmpDir=var/druid/processing# Hadoop indexing
druid.indexer.task.hadoopWorkingPath=var/druid/hadoop-tmp
druid.indexer.task.defaultHadoopCoordinates=["org.apache.hadoop:hadoop-client:2.8.5", "org.apache.hadoop:hadoop-aws:2.8.5"]

6. 修改historical配置文件,vi historical/runtime.properties

druid.service=druid/historical
druid.host=xxx
druid.port=8083# HTTP server threads
druid.server.http.numThreads=40# Processing threads and buffers
druid.processing.buffer.sizeBytes=536870912
druid.processing.numMergeBuffers=2
druid.processing.numThreads=7
druid.processing.tmpDir=var/druid/processing# Segment storage
druid.segmentCache.locations=[{"path":"var/druid/segment-cache","maxSize"\:130000000000}]
druid.server.maxSize=130000000000# Query cache
druid.historical.cache.useCache=true
druid.historical.cache.populateCache=true
druid.cache.type=caffeine
druid.cache.sizeInBytes=2000000000

7. 修改broker配置文件,vi broker/runtime.properties

druid.service=druid/broker
druid.host=xxx
druid.port=8082# HTTP server settings
druid.server.http.numThreads=60# HTTP client settings
druid.broker.http.numConnections=10
druid.broker.http.maxQueuedBytes=50000000# Processing threads and buffers
druid.processing.buffer.sizeBytes=536870912
druid.processing.numMergeBuffers=2
druid.processing.numThreads=1
druid.processing.tmpDir=var/druid/processing# Query cache disabled -- push down caching and merging instead
druid.broker.cache.useCache=false
druid.broker.cache.populateCache=false# SQL
druid.sql.enable=true

8. 修改router配置文件(可选),vi router/runtime.properties

druid.service=druid/router
druid.host=xxx
druid.port=8888druid.processing.numThreads=1
druid.processing.buffer.sizeBytes=1000000druid.router.defaultBrokerServiceName=druid/broker
druid.router.coordinatorServiceName=druid/coordinator
druid.router.http.numConnections=50
druid.router.http.readTimeout=PT5M
druid.router.http.numMaxThreads=100druid.server.http.numThreads=100druid.router.managementProxy.enabled=true

9. 修改pivot配置文件,vi …/pivot/config.yaml

# The port on which the Pivot server will listen on.
port: 9095# runtime directory
varDir: var/pivotservingMode: clustered# User management mode
# By default Imply will not show a login screen and anyone accessing it will automatically be treated as an 'admin'
# Uncomment the line below to enable user authentication, for more info see: https://docs.imply.io/on-prem/configure/config-api
#userMode: native-users# The initial settings that will be loaded in, in this case a connection will be created for a Druid cluster that is running locally.
initialSettings:connections:- name: druidtype: druidtitle: My Druid#router或者broker地址host: xxx:8888coordinatorHosts: ["xxx:8081"]overlordHosts: ["xxx:8090"]#
# Pivot must have a state store in order to function
# The state (data cubes, dashboards, etc) can be stored in two ways.
# Choose just one option and comment out the other.
#
#  1) Stored in a sqlite file, editable at runtime with Settings View. Not suitable for running in a cluster.
#  2) Stored in a database, editable at runtime with Settings View. Works well with a cluster of Imply servers.
##
# 1) File-backed (sqlite) state (not suitable for running in a cluster)
##stateStore:
#  type: sqlite
#  connection: var/pivot/pivot-settings.sqlite#
# 2) Database-backed state 'mysql' (MySQL) or 'pg' (Postgres)
#stateStore:
# location: mysqltype: mysqlconnection: 'mysql://druid:druid@xxx:3306/pivot'

10. 启动相关依赖服务:hdfs、mysql、zookeeper

11. 启动coordinator、overlord

  根据集群规划,在154机器启动此两个服务

nohup bin/supervise -c conf/supervise/data.conf > logs/data.log 2>&1 &

12. 启动historical、middlemanager

  根据集群规划,在172机器启动此两个服务

nohup bin/supervise -c conf/supervise/master-no-zk.conf > logs/master-no-zk.log 2>&1 &

13. 启动broker、pivot、router

  根据集群规划,在222机器启动此两个服务

nohup bin/supervise -c conf/supervise/query.conf > logs/query.log 2>&1 &

验证

  1. 服务启动,会在var/sv/xx/current生成日志,如果需要重新部署,可以删除var下所有文件
  2. pivot页面默认使用9095端口,进入页面需要创建connection
  3. 载入数据

  4. 从hdfs导入
  5. 右下角继续,parse data
  6. 右下角继续,parse time,这里指定时间列
  7. 右下角继续,transform =》 filter =》 configure schema,这里指定维度列和度量列
  8. 右下角继续,partition,设置segment合并周期
  9. 右下角继续,tune =》 publish =》 edit spec 发布任务
  10. 回到data标签页,稍等片刻,数据已导入
  11. 使用页面sql工具查询
  12. 创建cube
  13. 可以查看cube的各种指标

Druid -- 基于Imply方式集群部署相关推荐

  1. Ceph v12.2 Luminous基于ubuntu16.04集群部署

    第一次接触ceph集群,感谢官方的指导文档和许多网友提供的教程,糊糊涂涂算是把集群部署起来了.由于Luminous12.2刚发布不久,部署起来跟旧版本还是有些许差别,所以以此做下笔记也给需要的人做下参 ...

  2. Kubernetes 二进制方式集群部署(单节点多节点)

    目录 一.K8S 单 Master 节点二进制部署 1. 环境部署 2. 部署 etcd 集群 2.1 创建 k8s 工作目录 2.2 编写 etcd-cert.sh 和 etcd.sh 脚本 2.3 ...

  3. 基于Hadoop HA集群部署HBase HA集群(详细版)

    文章目录 1.前言 2.ZooKeeper与Hadoop.HBase的关系 3.Hadoop与HBase的关系 4.架构资源规划 5.ZooKeeper集群设置 5.1 设置nn节点的zoo.conf ...

  4. ELS多种方式集群部署

    https://www.cnblogs.com/tianyiliang/p/10291305.html https://www.jianshu.com/p/d2af945b6c27 https://w ...

  5. 永洪Bi架构部署与集群部署

    永洪Bi架构部署与集群部署 ​ 永洪Bi是一款先进的数据技术与数据可视化的一站式大数据分析平台.他的优势在于:1.可靠的多数据源对接能力:2.丰富精致的数据图表样式:3.灵活高效的可视化探索式分析:4 ...

  6. Mycat集群部署(基于HAProxy + Mycat)

    Mycat集群部署(基于HAProxy + Mycat) 1. 背景 系统开发中,数据库是非常重要的一个点.除了程序的本身的优化,如:SQL语句优化.代码优化,数据库的处理本身优化也是非常重要的.主从 ...

  7. 基于Kubernetes集群部署完整示例——Guestbook

    本文依赖环境:Centos7部署Kubernetes集群.基于Kubernetes集群部署skyDNS服务 该示例中,我们将创建一个redis-master.两个redis-slave.三个front ...

  8. Hadoop部署方式-高可用集群部署(High Availability)

    Hadoop部署方式-高可用集群部署(High Availability) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客的高可用集群是建立在完全分布式基础之上的,详情请参 ...

  9. p2p 文件服务器集群,基于云计算P2P流媒体服务器集群部署算法.doc

    基于云计算P2P流媒体服务器集群部署算法 基于云计算P2P流媒体服务器集群部署算法 摘 要: 针对云计算数据中心网络(DCN)环境下,P2P流媒体服务器集群部署引起的较高带宽占用问题,提出了一种基于云 ...

最新文章

  1. Nginx虚拟主机、Nginx模块的安装使用(加密模块--with-http_ssl_module)
  2. 在某公司用到一些shell
  3. HTML DOM之属性的各种操作方法
  4. 阿里P8架构师谈:高并发网站的监控系统选型、比较、核心监控指标
  5. 移动开发在路上-- IOS移动开发系列 多线程一 [转]
  6. AI(2)---机器学习产品交互设计原则
  7. python实现sha1加密算法
  8. java.sql.SQLException: Protocol violation 解决方法
  9. EQMX+Nginx集群搭建
  10. macOS Ventura 13.1 (22C65) 正式版发布,ISO、IPSW、PKG 下载
  11. MarkDown发生HTML渲染组件出错的解决方案(更新下载连接2022.10.21)
  12. EventBus的基本使用
  13. 详解 Benders 分解与一个算例的 python 代码
  14. Photoshop Scripting 高阶编程(1):取色器的应用
  15. 江苏事业单位计算机类考申论吗,想进事业单位?江苏事业单位统考,考些什么你知道吗?...
  16. 51nod1820 长城之旅
  17. SSH工具Putty,Psftp,Pageant,Puttygen实用技巧
  18. 网络visca控制协议_visca协议
  19. html页面增删改查模板,模板引擎+(实现数据增删改查小项目)
  20. 国家地理信息服务平台——天地图使用指南

热门文章

  1. 开源客服系统-wolive
  2. Best Paper一作:所有实习经历都是有意义的
  3. html+抽奖游戏,网页版抽奖HTML+CSS+javaScript
  4. 小议场效应管的驱动电路
  5. iOS 蓝牙 Corebluetooth
  6. 如何在Windows 7中获得快速,强大的XP风格的搜索
  7. OPENWRT交叉编译之神州数码校园客户端实践
  8. python 量子计算包_ProjectQ:解锁Python实现量子计算的新方式!
  9. 借助OA系统实现企业人事管理的精细化落地
  10. 西部数据NAS家族再添新成员:WD Red 4TB