百里登风

导航

4.DBus学习-1

1、什么是DBus
DBus(数据总线)项目为了统一数据采集需求而生, 专注于数据的收集及实时数据流计算,通过简单
灵活的配置,以无侵入的方式对源端数据进行采集,采用高可用的流式计算框架,对公司各个IT系统在
业务流程中产生的数据进行汇聚,经过转换处理后成为统一JSON的数据格式(UMS),提供给不同数
据使用方订阅和消费,充当数仓平台、大数据分析平台、实时报表和实时营销等业务的数据源。支持多
租户管理,提供租户级资源、数据隔离机制 。


2、DBus 的主要应用场景
数仓平台和数据分析平台
实时营销决策
实时报表展示
异构数据实时同步
其他实时性要求高的系统

 

 

3.DBus all in one的部署


DBus安装部署分为以下两种方式(注意:两种方式不可以混用):


All In One体验版
该版本安装在单机上,自动部署安装dbus所依赖的相关组件,仅用于体验dbus基本功能
不可以用于生产。
该版本支持mysql数据源接入体验。


集群部署
用于生产环境或测试环境部署。
可部署在单机上或集群上。
该版本包含对Oraclemysqllogstashfilebeatflume等数据源的支持。

由于电脑配置有限,这里采用all in one的部署方式作为学习使用

 

3.1 环境准备
说明all in one是一个单机版本dbus环境,是给用户快速体验dbus的功能,只是一个简单体验版,不能
用于其它环境或者用途,具体包括如下:
基础组件
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
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
mysql数据源所需软件
canal


3.2 安装dbus-allinone环境的建议配置如下
JDK 1.8.181 或 以上
CPU 2核 或以上
内存 16GB或以上
磁盘 20GB或以上

安装jdk1.8
关闭防火墙

 

3.3 配置静态ip

 

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=f9fe4719-eb91-4b25-b494-ccefebe4352d
DEVICE=enp0s3
ONBOOT=yes

PEERDNS=yes
PEERROUTES=yes
IPADDR=192.168.43.24
BCAST=192.168.43.255
GATEWAY=192.168.43.1
NETMASK=255.255.255.0

DNS1=192.168.43.1
DNS2=8.8.8.8

 

 

 

 

3.4 编辑主机名

 

sudo vi /etc/hosts

 

192.168.43.24 dbus-n1

 

 

3.5 创建app用户赋予sudo权限

由于dbus启动拓扑采用的ssh调用storm命令,all in one包中默认的调用ssh使用app用户和22端口,
因此要正常体验all in one需要创建app账户和配置ssh免密登录,免密登录配置的从dbus-n1dbus-n1
的免密登录

切换到root用户

创建app用户并设置密码

adduser app
passwd app

 

 

sudo权限

visudo

 

 

在打开的文件新增如下内容在保存退出

app ALL=(ALL) NOPASSWD: ALL

 

 

 3.6配置app用户SSH免密登录

#切换到app用户下
sudo su - app
#生成公钥和私钥,执行过程中一路回车即可
ssh-keygen
cd .ssh
cat id_rsa.pub >> authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

 

 

执行一次自己到自己的免密通讯

 

 

 

 

 

 

3.7 安装MySQL
cannalMySQL有要求,推荐安装5.7

由于CentOS 的yum源中没有mysql,需要到mysql的官网下载yum repo配置文件。

下载命令:

 wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

 

 

然后进行repo的安装

sudo rpm -ivh mysql57-community-release-el7-9.noarch.rpm

 

执行完成后会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo mysql-community-source.repo

 

 

 

安装MySQL

sudo yum -y install mysql-community-server

 

 

设置为开机启动:

sudo systemctl enable mysqld

 

 

启动mysql:

sudo systemctl start mysqld

 

 

查看mysql状态:

sudo systemctl status mysqld

 

 

查看root临时密码

sudo grep 'temporary password' /var/log/mysqld.log

 

 

 

 

使用临时密码登录

 

 

 

这时会要求输入密码,我们输入上述临时密码然后回车即可,然后按照如下命令把root用户的密码改为root

set global validate_password_policy=0;
set global validate_password_mixed_case_count=0;
set global validate_password_number_count=3;
set global validate_password_special_char_count=0;
set global validate_password_length=3;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
exit

 

 

 

接下来开启binlog

sudo vi /etc/my.cnf

 

 

/etc/my.cnf配置文件中,只是增加bin-log相关配置,其他不用修改,关注以下汉字注释部分 

[mysqld]
# dbus相关配置开始
log-bin=mysql-bin
binlog-format=ROW
server_id=1
# dbus相关配置结束

 

重启mysql

sudo systemctl restart mysqld

 

3.8 安装InfluxDB

 下载

wget https://dl.influxdata.com/influxdb/releases/influxdb-1.1.0.x86_64.rpm

 

 

安装

sudo yum -y localinstall influxdb-1.1.0.x86_64.rpm

 

 

启动

sudo systemctl start influxdb
sudo systemctl status influxdb
sudo systemctl enable influxdb

 

 

 

 

登录influx

influx

 

 

 

 

执行如下命令

#执行初始化脚本
create database dbus_stat_db
use dbus_stat_db
CREATE USER "dbus" WITH PASSWORD 'dbus'
ALTER RETENTION POLICY autogen ON dbus_stat_db DURATION 15d
exit

 

 

 

 3.9安装DBus-allinone
将下载的dbus-allinone包上传到服务器 /app目录下,且必须在此目录下

# 如果没有app目录,要先创建app目录
sudo mkdir /app
cd /app
sudo tar -zxvf dbus-allinone.tar.gz

 

 

初始化数据库

root身份登录mysql客户端

 

 

执行以下命令进行数据库初始化,会创建dbmgr库以及用户、canal用户、dbus库以及用户、
testschema库以及用户:

source /app/dbus-allinone/sql/init.sql

 

 

执行start.sh一键启动dbus所有服务,启动项比较多

cd /app/dbus-allinone
./start.sh

 

 

请耐心等待(大概需要几分钟左右时间),正确的启动日志如下

[app@dbus-n1 dbus-allinone]$ ./start.sh
Start grafana...
Grafana started. pid: 2202
=============================================================================================
Start zookeeper...
zookeeper pid 2245
Zookeeper started.
=============================================================================================
Start kafka...
No kafka server to stop
kafka pid 2479
kafka started.
=============================================================================================
Start Canal ...
canal started.
=============================================================================================
Start logstash...
No logstash to stop
nohup: appending output to ‘nohup.out’
logstash pid -1
logstash started.
=============================================================================================
Start storm nimbus...
No storm nimbus to stop
Storm nimbus pid 2620
Storm nimbus started.
=============================================================================================
Start storm supervisor...
No storm supervisor to stop
Storm supervisor pid 2872
Storm supervisor started.
=============================================================================================
Start storm ui...
No storm ui to stop
Storm ui pid -1
Storm ui started. ui port: 6672
=============================================================================================
Stop storm topology.
Storm topology stoped.
=============================================================================================
Start storm topology...
Storm topology started.
=============================================================================================
Start Dbus Heartbeat...
No Dbus Heartbeat to stop
Dbus Heartbeat pid 4697
Dbus Heartbeat started.
=============================================================================================
Start Dbus keeper...
=========================stop===========================
keeper-proxy process not exist
gateway process not exist
keeper-mgr process not exist
keeper-service process not exist
register-server process not exist

=========================start===========================
register-server started. pid: 4871
keeper-proxy started. pid: 5105
gateway started. pid: 5161
keeper-mgr started. pid: 5206
keeper-service started. pid: 5409
Dbus keeper prot: 6090
Dbus keeper started.
=============================================================================================

 

 

生成检查报告
进入目录/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

 

 

 

 

 验证机配置hosts文件

 修改C:\Windows\System32\drivers\etc\hosts文件设置相应的
域名信息如下 :

192.168.43.24  dbus-n1

 

 

3.10  登录grafana

 http://dbus-n1:3000/login

 

 

 

 

 

 

 mysql插入数据验证

#登录测试用户
mysql -utestschema -p #testschema账户密码:j0<C6cqcqr:TestSchema

 

#执行测试脚本
use testschema;
INSERT INTO test_table (NAME, BIRTHDAY) VALUES ('testdataname', '2018-08-10 18:00:00');
INSERT INTO test_table (NAME, BIRTHDAY) VALUES ('testdataname', '2018-08-10 18:00:00');
INSERT INTO test_table (NAME, BIRTHDAY) VALUES ('testdataname', '2018-08-10 18:00:00');
INSERT INTO test_table (NAME, BIRTHDAY) VALUES ('testdataname', '2018-08-10 18:00:00');
INSERT INTO test_table (NAME, BIRTHDAY) VALUES ('testdataname', '2018-08-10 18:00:00');

 

 

 

查看DBus是否实时获取到数据

 

 

 

如果获取不到数据就重启一下dbus

 

 

 

DBus KeeperUI

访问地址  http://dbus-n1:6090/login

体验管理员功能,请使用用户:admin    密码:12345678

 

 

 

管理员界面如下:

体验租户功能,请使用用户:user@dbus.com 密码:12345678

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted on 2020-08-02 17:20  百里登峰  阅读(542)  评论(0编辑  收藏  举报