开发者社区> 北斗云> 正文

Cloudera Edge Manager简述

简介: 一.Description CDF(Cloudera DataFlow)源自HDF(Hortonworks DataFlow),HDF是一个可缩放的实时流分析平台,它可以提取、组织和分析数据,以获得关键洞察和即时的可操作情报。
+关注继续查看

一.Description

CDF(Cloudera DataFlow)源自HDFHortonworks DataFlow),HDF是一个可缩放的实时流分析平台,它可以提取、组织和分析数据,以获得关键洞察和即时的可操作情报。
CDF是由CFMCloudera Flow Manager)、CEMCloudera Edge Manager)和CSPCloudera Stream Processing)3部分组成,其中,CEM包括EFMEdge Flow Manager)和2类MiNiFi(Java Agent、C++ Agent)。

二.Install CFM

1.install nifi-registry

a).download nifi-registry

b).configration

vi nifi-registry-0.3.0.1.0.0.0-90/conf/nifi-registry.properties

# web properties #
nifi.registry.web.war.directory=./lib
nifi.registry.web.http.host=hostname
nifi.registry.web.http.port=18080
nifi.registry.web.https.host=
nifi.registry.web.https.port=
nifi.registry.web.jetty.working.directory=./work/jetty
nifi.registry.web.jetty.threads=200

c).start service

nifi-registry-0.3.0.1.0.0.0-90/bin/nifi-registry.sh start

d).view log

tail -400f logs/nifi-registry-app.log

e).access page

http://hostname:18080/nifi-registry

2.install EFM

a).download EFM

b).configration

efm-1.0.0.1.0.0.0-54/conf/efm.properties

# Web Server Properties
#  address: the hostname or ip address of the interface to bind to; to bind to all, use 0.0.0.0
efm.server.address=hostname
efm.server.port=10080
efm.server.servlet.contextPath=/efm

# NiFi Registry Properties
#  url: the base URL of a NiFi Registry instance
#  bucket: Only set one of bucketId OR bucketName
#  flowRefreshInterval: specify value and units (d=days, h=hours, m=minutes, s=seconds, ms=milliseconds)
efm.nifi.registry.enabled=true
efm.nifi.registry.url=http://hostname:18080
efm.nifi.registry.bucketId=
efm.nifi.registry.bucketName=minifi
efm.nifi.registry.flowRefreshInterval=60s

c).start service

efm-1.0.0.1.0.0.0-54/bin/efm.sh start

d).view log

tail -400f logs/efm-app.log

e).access page

http://localhost:10080/efm/ui

3.install java agent

a).download EFM

b).configration

vi minifi-0.6.0.1.0.0.0-54/conf/bootstrap.conf

# MiNiFi Command & Control Configuration
# C2 Properties
# Enabling C2 Uncomment each of the following options
# define those with missing options
nifi.c2.enable=true
## define protocol parameters
nifi.c2.rest.url=http://hostname:10080/efm/api/c2-protocol/heartbeat
nifi.c2.rest.url.ack=http://hostname:10080/efm/api/c2-protocol/acknowledge
## heartbeat in milliseconds.  defaults to once a second
nifi.c2.agent.heartbeat.period=10000
## define parameters about your agent
nifi.c2.agent.class=java-agent-100
# Optional.  Defaults to a hardware based unique identifier
nifi.c2.agent.identifier=100

c).start service

minifi-0.6.0.1.0.0.0-54/bin/minifi.sh start

d).view log

tail -400f logs/minifi-app.log

4.install C++ agent

a).download EFM

b).configration

nifi-minifi-cpp-0.6.0/conf/minifi.properties

## Enabling C2 Uncomment each of the following options
## define those with missing options
nifi.c2.enable=true
## define protocol parameters
## The default is CoAP, if that extension is built.
## Alternatively, you may use RESTSender if http-curl is built
#nifi.c2.agent.protocol.class=CoapProtocol
#nifi.c2.agent.coap.host=
#nifi.c2.agent.coap.port=
nifi.c2.rest.url=http://hostname:10080/efm/api/c2-protocol/heartbeat
nifi.c2.rest.url.ack=http://hostname:10080/efm/api/c2-protocol/acknowledge
#nifi.c2.root.classes=DeviceInfoNode,AgentInformation,FlowInformation
## heartbeat 4 times a second
nifi.c2.agent.heartbeat.period=5000
## define parameters about your agent
nifi.c2.agent.class=c_agent
nifi.c2.agent.identifier=6

c).start service

nifi-minifi-cpp-0.6.0/bin/minifi.sh start

d).view log

tail -400f logs/minifi-app.log

三.Mysql Data

When MySQL is used as a metadata base

1.create database and user

CREATE DATABASE EFM DEFAULT CHARACTER SET utf8;

CREATE USER 'efm'@'%' IDENTIFIED BY '2wsx@WSX';

GRANT ALL PRIVILEGES ON *.* TO 'efm'@'%' WITH GRANT OPTION;

commit;

2.change EFM config

vi efm-1.0.0.1.0.0.0-54/conf/efm.properties

# Database Properties
efm.db.url=jdbc:mysql://hostname:3306/EFM
efm.db.driverClass=com.mysql.jdbc.Driver
efm.db.username=efm
efm.db.password=
efm.db.maxConnections=5
efm.db.sqlDebug=false

3.restart EFM

efm-1.0.0.1.0.0.0-54/bin/efm.sh restart

四.Build C++ Agent

1.check environment

[root@localhost ~]# cmake --version
cmake version 3.12.0

[root@localhost ~]# gcc --version
gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)

[root@localhost ~]# bison --version
bison (GNU Bison) 3.0.4

[root@localhost ~]# flex --version
flex 2.5.37

[root@localhost ~]# patch --version
GNU patch 2.7.1

[root@localhost ~]# autoconf --version
autoconf (GNU Autoconf) 2.69

[root@localhost ~]# automake --version
automake (GNU automake) 1.13.4

[root@localhost ~]# libtool --version
libtool (GNU libtool) 2.4.2

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
综合项目: 前端:Keepalived 双机热备,节点:LAMP+Discuz 论坛,后端:MHA
综合项目: 前端:Keepalived 双机热备,节点:LAMP+Discuz 论坛,后端:MHA
10 0
mysql的学习笔记(阶段二)
- mysql函数,控制流函数 SELECT IF ( 5 > 3, "大于", "小于" );-- 5 >3 显示大于,否则就是小于 SELECT *, IF ( score >= 85, '优秀', '及格' ) flag FROM score;
6 0
Docker 实战——部署 Nginx 镜像容器、Tomcat 镜像容器、MySQL 镜像容器
Docker 实战——部署 Nginx 镜像容器、Tomcat 镜像容器、MySQL 镜像容器
7 0
MySQL下count(*)、count(1)和count(字段)的查询效率比较
COUNT(*)和COUNT(1)都是对所有结果进行计算。如果有WHERE子句,则是对所有符合筛选条件的数据行进行统计;如果没有WHERE子句,则是对数据表的数据行数进行统计。
9 0
超级详细的数据库中的事务机制学习笔记
事务的英文是transaction,从英文中你也能看出来它是进行一次处理的基本单元,要么完全执行,要么都不执行。 事务的特性:ACID……
7 0
一文掌握物体检测库TensorFlow 2.x Object Detection安装
tensorflow object detection api一个框架,它可以很容易地构建、训练和部署对象检测模型,并且是一个提供了众多基于COCO数据集、Kitti数据集、Open Images数据集、AVA v2.1数据集和iNaturalist物种检测数据集上提供预先训练的对象检测模型集合。
5 0
一篇文章搞懂数据仓库:数据治理(目的、方法、流程)
一篇文章搞懂数据仓库:数据治理(目的、方法、流程)
4 0
【微信小程序开发小白零基础入门】微信小程序数据API【建议收藏】
文章目录 【微信小程序开发小白零基础入门】微信小程序数据API【建议收藏】一、 本地缓存二、 数据存储1. 异步数据存储2. 同步数据存储三、 数据获取1. 异步数据获取2. 同步数据获取四、 存储信息获取1. 异步数据获取2. 同步数据获取五、 数据删除1. 异步数据删除2. 同步数据删除六、 数据清空1. 异步数据清空2. 同步数据清空七、 推荐小程序(欢迎各位大佬指导)一、 本地缓存为了提高使用便捷性,同一个小程序允许每个用户单独存储10MB以内的数据在本地设备中,这些数据称为小程序的本地缓存。开发者可以通过数据缓存API对本地缓存进行设置、获取和清个小程序允许每个用户单独存储10MB以
5 0
Java从入门到精通十(java异常)
异常的引入 整理一下自己的思路,java为什么要引入异常处理机制?当然啊!因为程序运行可能会出错,在某一步骤出现问题,所以这个时候需要抛出异常,需要告诉用户是哪里是出现了问题。简单来说,这样说其实是没有问题的。但是还是没有进行严格的思考。程序运行中出现问题不一定就是异常所导致的(Exception),也有可能是错误(Error),不错,这是两个继承自Throwable类,但是其实在程序处理方面有很大的区别,所以我们区分看待。
7 0
+关注
北斗云
风舒云卷,,北斗不移
52
文章
8
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载