IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Druid【环境搭建 01】最新版本的安装+启动+查看控制台+数据载入(小内存服务器启动JVM参数调整) -> 正文阅读

[系统运维]Druid【环境搭建 01】最新版本的安装+启动+查看控制台+数据载入(小内存服务器启动JVM参数调整)

作者:recommend-item-box type_blog clearfix

当前最新版本安装包 apache-druid-0.22.0-bin.tar.gz 百度网盘分享(以下的安装配置使用的也是用的这个文件),也许是我的网络不好,下载很慢 🐌 这里分享一下,有需要的可以使用:

链接:https://pan.baidu.com/s/1893NRqklXY7KGBKU7EMB2g
提取码:2vhj

Druid官网的 Quickstart 从安装到使用还是介绍的比较清晰的。我们跟随官网进行安装使用。

1. Install Druid

在这里插入图片描述
Druid官方只支持 Java 8(是不是瞬间明白为啥 JDK1.8 还依然非常活跃 😉)目前,对Java后续主要版本的支持还处于试验阶段。

【环境】 腾讯云服务器 CentOS 7.9 + JKD1.8:

[root@tcloud ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

[root@tcloud ~]# java -version
java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)

安装过程很简单:

tar -zxvf apache-druid-0.22.0-bin.tar.gz
mv apache-druid-0.22.0 /usr/local/druid

2. Start up Druid services

Druid包含的配置文件范围从最小的 Nano-Quickstart 配置(1 CPU, 4GiB RAM)到 X-Large 配置(64 CPU, 512GiB RAM)。

在这里插入图片描述
最小的 Nano-Quickstart 需要 1核 4G内存,我的云服务器是 1核 2G的,启动一下试试:

[root@tcloud druid]# ./bin/start-nano-quickstart
[Tue Nov  9 17:02:39 2021] Running command[zk], logging to[/usr/local/druid/var/sv/zk.log]: bin/run-zk conf
[Tue Nov  9 17:02:39 2021] Running command[coordinator-overlord], logging to[/usr/local/druid/var/sv/coordinator-overlord.log]: bin/run-druid coordinator-overlord conf/druid/single-server/nano-quickstart
[Tue Nov  9 17:02:39 2021] Running command[broker], logging to[/usr/local/druid/var/sv/broker.log]: bin/run-druid broker conf/druid/single-server/nano-quickstart
[Tue Nov  9 17:02:39 2021] Running command[router], logging to[/usr/local/druid/var/sv/router.log]: bin/run-druid router conf/druid/single-server/nano-quickstart
[Tue Nov  9 17:02:39 2021] Running command[historical], logging to[/usr/local/druid/var/sv/historical.log]: bin/run-druid historical conf/druid/single-server/nano-quickstart
[Tue Nov  9 17:02:39 2021] Running command[middleManager], logging to[/usr/local/druid/var/sv/middleManager.log]: bin/run-druid middleManager conf/druid/single-server/nano-quickstart

3. Open the Druid console

After the Druid services finish startup 启动过程是有点儿慢的 🐌 open the Druid console at http://tcloud:8888

在这里插入图片描述
页面显示出来了,实际上启动是失败的,查看报错日志:

Java HotSpot(TM) 64-Bit Server VM warning: 
INFO: os::commit_memory(0x00000000e0000000, 536870912, 0) failed; 
error='Cannot allocate memory' (errno=12)

3.1 小内存服务器启动JVM参数调整

内存不足!怎么办?试着把每个进程使用的内存调整小一些,我们试试:

# 根据启动脚本用到的配置文件名称 查询一下配置文件的位置
[root@tcloud ~]# find /usr/local/druid/ -name '*nano-*'
/usr/local/druid/conf/supervise/single-server/nano-quickstart.conf

# 查看一下配置文件的内容 
cat /usr/local/druid/conf/supervise/single-server/nano-quickstart.conf

# 内容如下
:verify bin/verify-java
:verify bin/verify-default-ports
:kill-timeout 10

!p10 zk bin/run-zk conf
coordinator-overlord bin/run-druid coordinator-overlord conf/druid/single-server/nano-quickstart
broker bin/run-druid broker conf/druid/single-server/nano-quickstart
router bin/run-druid router conf/druid/single-server/nano-quickstart
historical bin/run-druid historical conf/druid/single-server/nano-quickstart
!p90 middleManager bin/run-druid middleManager conf/druid/single-server/nano-quickstart

实际上在 /usr/local/druid/conf/druid/single-server/nano-quickstart 文件夹下一共有 6?? 个文件夹:

在这里插入图片描述
每个文件夹下都有运行和配置参数,以 coordinator-overlord 服务为例,查询 jvm.config 配置,顺便看一下 runtime.properties 当前组件占用的端口号 :

[root@tcloud coordinator-overlord]# cat ./jvm.config
-server
-Xms256m
-Xmx256m
-XX:+ExitOnOutOfMemoryError
-XX:+UseG1GC
-Duser.timezone=UTC
-Dfile.encoding=UTF-8
-Djava.io.tmpdir=var/tmp
-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager
-Dderby.stream.error.file=var/druid/derby.log

[root@tcloud coordinator-overlord]# cat ./runtime.properties
druid.service=druid/coordinator
druid.plaintextPort=8081

查询启动脚本里的 5?? 个组件,实际上还有 zookeeper 和 derby 数据库,一共 7?? 个:

组件使用内存占用端口号
router128m8888
coordinator-overlord256m8081
broker512m8082
historical512m8083
middleManager64m8091
zookeeper128m2181
derby未标出1527

进行一波调整【也不能调整的过小 太小组件本身就无法启动】:

组件调整后内存占用端口号
router(减半)64m8888
coordinator-overlord(减半)128m8081
broker(减半)256m8082
historical(减半)256m8083
middleManager(不调整)64m8091
zookeeper(减半)64m2181
derby(不调整)未标出1527

3.2 系统初始化及需要开放端口

官网有这么两段话:

??All persistent state, such as the cluster metadata store and segments for the services, are kept in the var directory under the Druid root directory, apache-druid-0.22.0. Each service writes to a log file under var/sv, as noted in the startup script output above.

??At any time, you can revert Druid to its original, post-installation state by deleting the entire var directory. You may want to do this, for example, between Druid tutorials or after experimentation, to start with a fresh instance.

??大概是说元数据都保存在 var 文件夹下,各个服务的日志文件都在 var/sv 文件夹下,如果想初始化程序,那么删除 var 文件夹下的数据即可。
??如果是云服务器,需要在安全组里释放相关端口【8888、1527、2181、8081、8082、8083、8091】,内存后调整好后,我们删掉 var 文件夹下的文件,然后重新启动:

在这里插入图片描述
似乎改观并不大,唯一的区别是Lookups的状态从400变为uninitiated,查看日志并没有发现内存不足的情况,我们继续 Quickstart 的下一步,遇到问题再进行解决。

4. Load data

不得不说 Druid 的 Quickstart 还是很贴心的,提供了测试文件:

The Druid distribution bundles sample data we can use. The sample data located in quickstart/tutorial/wikiticker-2015-09-12-sampled.json.gz in the Druid root directory represents Wikipedia page edits for a given day.

从这个页面开始,官网的教程界面跟最新版本的开始有不同了,Web页面大家随便点击,又不会坏 😊 步骤名称用官网的,配图用最新版本的:

  1. Click Load data from the Druid console header (Load data).
  2. Select the Local disk tile and then click Connect data.

在这里插入图片描述

  1. Enter the following values.
  • Base directory: quickstart/tutorial/
  • File filter: wikiticker-2015-09-12-sampled.json.gz
  1. Click Apply.

The data loader displays the raw data, giving you a chance to verify that the data appears as expected.
数据加后会显示原始数据,可以验证数据是否如预期的那样显示。

在这里插入图片描述

官网特别提示:在加载数据的步骤序列(当前是Connect)中,显示在控制台的顶部,如下所示。可以随时单击其他步骤,按顺序向前或向后移动。

在这里插入图片描述

  1. Click Next: Parse data.

这一步是对数据进行格式化,我们可以自由选择其他输入格式选项,以了解它们的配置设置以及Druid如何解析其他类型的数据。

在这里插入图片描述

  1. With the JSON parser selected, click Next: Parse time. The Parse time settings are where you view and adjust the primary timestamp column for the data.

这一步是对时间字段的格式化,Druid 要求数据有一个主时间戳列(内部存储在一个名为 __time 的列中)。如果数据中没有时间戳,需要选择常量值。示例中,数据加载程序确定时间列是唯一可以用作主时间列的候选项。

在这里插入图片描述
没有修改 Format 的类型,所以 _time 和 time 的格式其实是一样的。

  1. Click Next: Transform, Next: Filter, and then Next: Configure schema, skipping a few steps.

这一步跳过了调整转换或筛选设置。

  1. 配置模式设置是您配置所摄取的维度和指标的地方。这个配置的结果准确地表示了数据在摄入后将如何在Druid中出现。
  2. 数据集小的可以通过取消rollup开关,并在提示时确认更改来关闭rollup。
  1. Click Next: Partition to configure how the data will be split into segments. In this case, choose DAY as the Segment granularity.

这一步是对数据进行分区,选择分区的字段。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-11-10 12:49:03  更:2021-11-10 12:49:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 22:55:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码