如何快速部署体验实时数据流计算
如何快速部署体验实时数据流计算
今天给大家介绍一下如何快速部署体验实时数据流计算。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。
一、环境说明
说明:all in one是一个单机版本dbus环境,是给用户快速体验dbus的功能,只是一个简单体验版,不能用于其它环境或者用途,具体包括如下:
1)基础组建:
zookeeper 3.4.6
kafka 0.10.0.0
storm 1.0.1
granfana 4.2.0
logstash 5.6.1
influxdb (需要单独安装, 参考如下步骤3)
mysql (需要单独安装,参考如下步骤2)
2)dbus相关包:
dbus-keeper 0.5.0
dbus-stream-main 0.5.0
dbus-router 0.5.0
dbus-heartbeat 0.5.0
dbus-log-processor 0.5.0
3)mysql数据源所需:
canal
1.1 环境依赖
安装dbus-allinone环境的建议配置如下
JDK 1.8.181 或 以上
CPU 2核 或以上
内存 16GB或以上
磁盘 20GB或以上
注:一台Linux centos服务器, 该服务器最好是空机器,上面不要安装dbus所依赖的zk,kafka,storm等
1.2 修改域名
注:ip是您的具体ip,这里用192.168.0.1为例子
修改服务器/etc/hosts文件设置相应的域名信息如下:
192.168.0.1dbus-n1
修改服务器hostname命令如下:
hostnamedbus-n1
配置好后,服务器IP和域名信息如下:
1.3 创建app用户及配置SSH免密登录
由于dbus启动拓扑采用的ssh调用storm命令,all in one包中默认的调用ssh使用app用户和22端口,因此要正常体验all in one需要创建app账户和配置ssh免密登录,免密登录配置的从dbus-n1到dbus-n1的免密登录
配置完成后执行如下命令看时候配置成功
[app@dbus-n1~]$ssh-p22app@dbus-n1Lastlogin:FriAug1015:54:452018from10.10.169.53[app@dbus-n1~]$
二、前期准备
2.1 安装Mysql
2.1.1 下载
推荐下载Mysql版本:5.7.19 地址:https://dev.mysql.com/downloads/mysql/
2.1.2 安装
解压mysql-5.7.19-1.el6.x86_64.rpm-bundle.tar包后,执行以下命令安装:
rpm-ivhmysql-community-server-5.7.19-1.el6.x86_64.rpm--nodepsrpm-ivhmysql-community-client-5.7.19-1.el6.x86_64.rpm--nodepsrpm-ivhmysql-community-libs-5.7.19-1.el6.x86_64.rpm--nodepsrpm-ivhmysql-community-common-5.7.19-1.el6.x86_64.rpm--nodepsrpm-ivhmysql-community-libs-compat-5.7.19-1.el6.x86_64.rpm--nodeps
2.1.3 配置
在/etc/my.cnf配置文件中,只是增加bin-log相关配置,其他不用修改,关注以下汉字注释部分
[mysqld]#dbus相关配置开始log-bin=mysql-binbinlog-format=ROWserver_id=1#dbus相关配置结束
2.1.4 启动
执行以下命令启动mysql:
servicemysqldstart
2.2. 安装InfluxDB
2.2.1 下载
推荐下载InfluxDB版本:influxdb-1.1.0.x86_64 地址:https://portal.influxdata.com/downloads
2.2.2 安装
在dbus-n1上切换到root用户,在influxdb-1.1.0.x86_64.rpm的存放目录下执行如下命令:
rpm-ivhinfluxdb-1.1.0.x86_64.rpm
2.2.3 启动
在dbus-n1上执行如下命令:
serviceinfluxdbstart
2.2.4 初始化配置
在dbus-n1上执行如下命令:
#登录influxinflux#执行初始化脚本createdatabasedbus_stat_dbusedbus_stat_dbCREATEUSER"dbus"WITHPASSWORD'dbus!@#123'ALTERRETENTIONPOLICYautogenONdbus_stat_dbDURATION15d
三、安装Dbus-allinone包
3.1 下载
在百度网盘提供dbus-allinone.tar.gz 包,访问 release 页面下载最新包:https://github.com/BriData/DBus/releases
3.2 安装
将下载的dbus-allinone包上传到服务器 /app目录下,且必须在此目录下
#如果没有app目录,要先创建app目录mkdir/appcd/apptar-zxvfdbus-allinone.tar.gz
3.3 初始化数据库
以root身份登录mysql客户端,执行以下命令进行数据库初始化,会创建dbmgr库以及用户、canal用户、dbus库以及用户、testschema库以及用户:
source/app/dbus-allinone/sql/init.sql
3.4 启动
执行start.sh一键启动dbus所有服务,启动项比较多。
cd/app/dbus-allinone./start.sh
请耐心等待(大概需要5分钟左右时间),正确的启动日志如下:
Startgrafana...Grafanastarted.pid:23760=============================================================================================Startzookeeper...zookeeperpid23818Zookeeperstarted.=============================================================================================Startkafka...Nokafkaservertostopkafkapid24055kafkastarted.=============================================================================================StartCanal...canalstarted.=============================================================================================Startlogstash...Nologstashtostopnohup:appendingoutputto`nohup.out'logstashpid24151logstashstarted.=============================================================================================Startstormnimbus...NostormnimbustostopStormnimbuspid24215Stormnimbusstarted.=============================================================================================Startstormsupervisor...NostormsupervisortostopStormsupervisorpid24674Stormsupervisorstarted.=============================================================================================Startstormui...NostormuitostopStormuipid24939Stormuistarted.uiport:6672=============================================================================================Stopstormtopology.Stormtopologystoped.=============================================================================================Startstormtopology...Stormtopologystarted.=============================================================================================StartDbusHeartbeat...NoDbusHeartbeattostopDbusHeartbeatpid26854DbusHeartbeatstarted.=============================================================================================StartDbuskeeper...=========================stop===========================keeper-proxyprocessnotexistgatewayprocessnotexistkeeper-mgrprocessnotexistkeeper-serviceprocessnotexistregister-serverprocessnotexist=========================start===========================register-serverstarted.pid:27077keeper-proxystarted.pid:27172gatewaystarted.pid:27267keeper-mgrstarted.pid:27504keeper-servicestarted.pid:27645Dbuskeeperprot:6090Dbuskeeperstarted.=============================================================================================
3.5 生成检查报告看是否启动正常
进入目录/app/dbus-allinone/allinone-auto-check-0.5.0,执行自动检测脚本auto-check.sh,稍等待一会儿
cd/app/dbus-allinone/allinone-auto-check-0.5.0./auto-check.sh
会在目录/app/dbus-allinone/allinone-auto-check-0.5.0/reports下生产对应时间的检查报告,如下所示
[app@dbus-n1reports]$tree.└──20180824111905└──check_report.txt
打开check_report.txt文件查看相应的检查报告,如下所示
(注意以#开头为解释说明信息,报告中不会生成 )
#出现以下信息说明dbusmgr库正常checkdb&userdbusmgrstart:============================================tablet_avro_schemadatacount:0tablet_data_schemadatacount:4tablet_data_tablesdatacount:4tablet_dbus_datasourcedatacount:2tablet_ddl_eventdatacount:0tablet_encode_columnsdatacount:0tablet_encode_pluginsdatacount:1tablet_fullpull_historydatacount:0tablet_meta_versiondatacount:5tablet_plain_log_rule_groupdatacount:1tablet_plain_log_rule_group_versiondatacount:1tablet_plain_log_rule_typedatacount:0tablet_plain_log_rulesdatacount:5tablet_plain_log_rules_versiondatacount:5tablet_projectdatacount:1tablet_project_encode_hintdatacount:1tablet_project_resourcedatacount:1tablet_project_sinkdatacount:1tablet_project_topodatacount:1tablet_project_topo_tabledatacount:1tablet_project_topo_table_encode_output_columnsdatacount:1tablet_project_topo_table_meta_versiondatacount:0tablet_project_userdatacount:1tablet_query_rule_groupdatacount:0tablet_sinkdatacount:1tablet_storm_topologydatacount:0tablet_table_actiondatacount:0tablet_table_metadatacount:7tablet_userdatacount:2#出现以下信息说明dbus库正常checkdb&userdbusstart:============================================tabledb_heartbeat_monitordatacount:15tabletest_tabledatacount:0tabledb_full_pull_requestsdatacount:0#出现以下信息说明canal用户正常checkdb&usercanalstart:============================================masterstatusFile:mysql-bin.000002,Position:12047338tabledb_heartbeat_monitordatacount:15tabletest_tabledatacount:0tabledb_full_pull_requestsdatacount:0#出现以下信息说明testschema库正常checkdb&usertestschemastart:============================================tabletest_tabledatacount:0#出现以下信息说明zk启动正常checkbasecomponentzookeeperstart:============================================23818org.apache.zookeeper.server.quorum.QuorumPeerMain#出现以下信息说明kafka启动正常checkbasecomponentkafkastart:============================================24055kafka.Kafka#出现以下信息说明stormnimbus、supervisor、ui启动正常checkbasecomponentstormstart:============================================26500org.apache.storm.daemon.worker25929org.apache.storm.daemon.worker27596org.apache.storm.LogWriter26258org.apache.storm.LogWriter24215org.apache.storm.daemon.nimbus27035org.apache.storm.LogWriter27611org.apache.storm.daemon.worker26272org.apache.storm.daemon.worker24674org.apache.storm.daemon.supervisor24939org.apache.storm.ui.core26486org.apache.storm.LogWriter27064org.apache.storm.daemon.worker25915org.apache.storm.LogWriter#出现以下信息说明influxdb启动正常checkbasecomponentinfluxdbstart:============================================influxdb1026510Aug08?02:28:06/usr/bin/influxd-pidfile/var/run/influxdb/influxd.pid-config/etc/influxdb/influxdb.confapp2882328746011:19pts/300:00:00/bin/sh-cps-ef|grepinfluxdbapp2882728823011:19pts/300:00:00grepinfluxdb#出现以下信息说明grafana启动正常checkbasecomponentgrafanastart:============================================app237601011:09pts/300:00:00./grafana-serverapp2882828746011:19pts/300:00:00/bin/sh-cps-ef|grepgrafanaapp2883228828011:19pts/300:00:00grepgrafana#出现以下信息说明心跳heartbeat启动正常checkbasecomponentheartbeatstart:============================================26854com.creditease.dbus.heartbeat.start.Start#出现以下信息说明logstash启动正常checkbasecomponentlogstashstart:============================================24151org.jruby.Main#出现以下信息说明canal启动正常checkcanalstart:============================================zkpath[/DBus/Canal/otter-testdb]exists.24105com.alibaba.otter.canal.deployer.CanalLauncher#出现以下信息说明dispatcher-appender、mysql-extractor、splitter-puller、router启动正常checktopologystart:============================================api:http://dbus-n1:6672/api/v1/topology/summarytopologytestlog-log-processorstatusisACTIVEtopologytestdb-mysql-extractorstatusisACTIVEtopologytestdb-splitter-pullerstatusisACTIVEtopologytestdb-dispatcher-appenderstatusisACTIVEtopologytr-routerstatusisACTIVE#出现以下信息说明从数据库->extractor-dispatcher->appender线路正常checkflowlinestart:============================================firststepinsertheartbeatsuccess.dataarriveattopic:testdbdataarriveattopic:testdb.testschemadataarriveattopic:testdb.testschema.result
四、验证all in one包是否安装成功
4.1 登录grafana前提
需要在通过浏览器登录grafana的机器配置host文件,如果已经配置过请跳过此前提
如果验证机器是windows系统,修改C:\Windows\System32\drivers\etc\hosts文件设置相应的域名信息如下:
#192.168.0.1替换成部署allinone包的服务器ip地址192.168.0.1dbus-n1
如果验证机器是linux系统,修改/etc/hosts文件设置相应的域名信息如下:
#192.168.0.1替换成部署allinone包的服务器ip地址192.168.0.1dbus-n1
4.2 登录grafana
登录grafana url地址: http://dbus-n1:3000/login
4.3 mysql插入数据验证
#登录测试用户mysql-utestschema-p#testschema账户密码:j0<C6cqcqr:TestSchema#执行测试脚本usetestschema;INSERTINTOtest_table(NAME,BIRTHDAY)VALUES('testdataname','2018-08-1018:00:00');INSERTINTOtest_table(NAME,BIRTHDAY)VALUES('testdataname','2018-08-1018:00:00');INSERTINTOtest_table(NAME,BIRTHDAY)VALUES('testdataname','2018-08-1018:00:00');INSERTINTOtest_table(NAME,BIRTHDAY)VALUES('testdataname','2018-08-1018:00:00');INSERTINTOtest_table(NAME,BIRTHDAY)VALUES('testdataname','2018-08-1018:00:00');
4.4 查看DBus是否实时获取到数据
五、验证logstash抽取心跳日志是否安装成功
dbus-heartbeat心跳模块儿产生日志位置在:/app/dbus-allinone/dbus-heartbeat-0.5.0/logs/heartbeat/heartbeat.log,利用logstash抽取该日志文件,把非结构化的数据,提取成结构化的数据
5.1 日志中原始非结构化数据如下:
通过如下命令,查看要提取的非结构化数据,如下图所示,每一分钟产生3条包含"插入心跳包成功"的日志
cd/app/dbus-allinone/dbus-heartbeat-0.5.0/logs/heartbeat/tail-fheartbeat.log|grep"插入心跳包成功"
5.2 在Dbus Keeper上配置相应的结构化规则和查看规则执行后的结果
提取规则如下图:
规则执行后结果
5.3 在grafana查看实时提取流量监控
选择log table deatil board
选择table:testlog.testlog_schema.t_heartbeat_data
六、登录DBus Keeper体检UI操作
6.1 登录dbus keeper前提
需要在通过浏览器登录dbus keeper的机器配置host文件,如果已经配置过请跳过此前提
如果验证机器是windows系统,修改C:\Windows\System32\drivers\etc\hosts文件设置相应的域名信息如下:
#192.168.0.1替换成部署allinone包的服务器ip地址192.168.0.1dbus-n1
如果验证机器是linux系统,修改/etc/hosts文件设置相应的域名信息如下:
#192.168.0.1替换成部署allinone包的服务器ip地址192.168.0.1dbus-n1
6.2 登录dbus keeper
登录dbus keeper url地址:http://dbus-n1:6090/login
体验管理员功能,请使用用户:admin 密码:12345678
管理员界面如下:
体验租户功能,请使用用户:user@dbus.com 密码:12345678
租户界面如下:
以上就是如何快速部署体验实时数据流计算的全部内容了,更多与如何快速部署体验实时数据流计算相关的内容可以搜索亿速云之前的文章或者浏览下面的文章进行学习哈!相信小编会给大家增添更多知识,希望大家能够支持一下亿速云!