http://10.140.60.48:9099 eagle地址
http://blog.csdn.net/seohyunchyl/article/details/60758695 蔡华宇
http://blog.csdn.net/ganglia/article/details/49760183 这个也挺好
http://blog.csdn.net/u011270461/article/details/52766611
eagle服务器需提前安装npm。
1、官网下载src包 
http://eagle.apache.org/docs/download.html 
2、编译,按照官网的操作。 
 
编译成功后,在eagle-assembly/target下找到 apache-eagle-0.4.0-incubating-bin.tar.gz 
3、安装eagle 
将第二步中获得的tar包拷贝到安装路径下解压即可 
4、修改配置文件 
a 、eagle.env.sh 在bin目录下 
 
主要修改Java路径以及storm nimbus地址以及eagle服务地址和端口,其它可不做修改。 
b、eagle-scheduler.conf 在conf目录下 
 修改内容如上,包括url、nimbushost、jarFile。下面的mailHost是邮件服务器地址,当eagle全部搭建完毕后可以对监控项目告警发邮件,这里就是配置的邮件服务器地址。这里要注意下配置的邮件服务器的host要更新到storm集群的节点中去(严格的说是storm启动计算任务的节点即可,后面会提到提交拓补,提交完后在storm UI上找一个计算节点,要保证这台计算节点的/etc/hosts配置了邮件服务器,否则发不出邮件)。其它用户名密码等可以不做修改。 
c、eagle-service.conf 在conf目录下 
 
这里可以配置Hbase或者MySQL。配置hbase的话后面会有问题没解决,且不容易查看数据。所以配置成mysql。这里storage-connection-url最好配置为”jdbc:mysql://ip:port/database?autoReconnect=true”,,因为测试过程中第一天没问题,第二天来就会出现mysql断开连接的现象。 
d、eagle-topology-init.sh 在bin目录下 
 
我这里只修改了这两项。在文件开始就可以找到这两项。主要修改了hdfs的地址和hbase的zookeeper。当然,也可以不在这里设置。等环境安装完毕后,可以在页面中设置。这里涉及到namenode的HA问题,后面会提到。
5、启动服务。 
bin目录下执行 ./eagle-service.sh start 
./eagle-topoloty-init.sh 
完后已经可以从浏览器中查看,且mysql中建立了很多表。但是页面中没有内容,需要后续添加。
6、进入到apache-eagle-0.4.0-incubating下的example文件夹下 找到eagle-sandbox-starter.sh。官网中直接就执行了该shell脚本,可以看到脚本中默认认为storm程序安装在本机上,所以如果storm是集群的话,且nimbus不在这台安装eagle的机器上的话,是无法执行成功的。所以我们这里打开该脚本,运行其中部分操作即可。当然前提是storm、kafka都安装好了。 
其中有4个shell脚本。前两个已经执行过了,所以只要执行后两个就行。执行完毕后,再次刷新web页面,就会发现多了很多东西。单机右上角的admin,选择management可以看到以下页面 
 
这里有点击hdfsAuditLog前面的设置符号,就可以设置参数,与之前的eagle-topology-init.sh中的项对应,之前说的就是这里修改。我在这里是写死了defaultFs的(classification.fs.defaultFS=hdfs://test-nn1:9000),因为配置成HA的需要添加如下内容
classification.fs.defaultFS=hdfs://pin-cluster1 
classification.dfs.nameservices=pin-cluster1 
classification.dfs.ha.namenodes.pin-cluster1=testnn1,testnn2 
classification.dfs.namenode.rpc-address.pin-cluster1.testnn1=test-nn1:9000 
classification.dfs.namenode.rpc-address.pin-cluster1.testnn2=test-nn2:9000 
classification.dfs.client.failover.proxy.provider.pin-cluster1=org.apache.Hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
这里会出现问题,系统不认识”-“,所以我就写死了。
hiveQueryLog中配置: 
classification.accessType=metastoredb_jdbc 
classification.password=123456 
classification.user=root 
classification.jdbcDriverClassName=com.mysql.jdbc.Driver 
classification.jdbcUrl=jdbc:mysql://10.140.60.53:3306/Hive?createDatabaseIfNotExist=true
hbaseQueryLog中配置: 
classification.hbase.zookeeper.property.clientPort=21818 
classification.hbase.zookeeper.quorum=rm1,rm2,10-140-60-50
oozie没用到所以没配置
7、将namenode审计日志打入kafka 
可以采用修改log4j或者安装logstash的方式。网上资料大多用的安装logstash的方式来完成,我选择了使用修改log4j的方式,因为这样的话不用在namenode上新装软件并启动服务,因为新启动服务就要加一份维护和监控。修改log4j的话需要的是重启namenode。 
log4j文件在${HADOOP_HOME}/etc/hadoop下。在该文件中添加:
log4j.appender.KAFKA_HDFS_AUDIT=org.apache.eagle.log4j.kafka.KafkaLog4jAppender 
log4j.appender.KAFKA_HDFS_AUDIT.Topic=hdfslog 
log4j.appender.KAFKA_HDFS_AUDIT.BrokerList=rm1:9092,rm2:9092,test-nn1:9092,test-nn2:9092,10-140-60-50:9092 
log4j.appender.KAFKA_HDFS_AUDIT.KeyClass=org.apache.eagle.log4j.kafka.hadoop.AuditLogKeyer 
log4j.appender.KAFKA_HDFS_AUDIT.Layout=org.apache.log4j.PatternLayout 
log4j.appender.KAFKA_HDFS_AUDIT.Layout.ConversionPattern=%d{ISO8601} %p %c{2}: %m%n 
log4j.appender.KAFKA_HDFS_AUDIT.ProducerType=async
其次在hadoop-env.sh中的HADOOP_NAMENODE_OPTS中加入: 
-Dhdfs.audit.logger=INFO,DRFAAUDIT,KAFKA_HDFS_AUDIT
完后重启即可。 
这里要记下Topic的名字,后面需要用到。BrokerList最好也写全部的kafka服务器。
8、进入 conf文件夹下,打开sandbox-hdfsAuditLog-application.conf文件,尤其注意topic要和之前log4j中的一致。邮箱服务器如果要配置这里也可以配置。不过这里得多加内容,即邮箱服务器认证的用户名和密码以及开启认证,系统默认的配置文件中不包含这三项项,需要自己手动添加。还有其它的添加项可以去AlertEmailSender.java类中查看。之前提到过的,再强调一下下,eagle系统中发送邮件的代码在storm计算节点执行的,而不是在搭建eagle的服务器上执行的,所以一定要在计算节点上配置/etc/hosts。 
“envContextConfig” : { 
“env” : “storm”, 
“mode” : “cluster”, 
“topologyName” : “test3-hdfsAuditLog-topology”, 
“stormConfigFile” : “storm.yaml”, 
“parallelismConfig” : { 
“kafkaMsgConsumer” : 1, 
“hdfsAuditLogAlertExecutor*” : 1 
}, 
“dataSourceConfig”: { 
“topic” : “hdfslog”, 
“zkConnection” : “rm1:21818,rm2:21818,10-140-60-50:21818/kafka-rm”, 
“brokerZkPath” : “/brokers”, 
“zkConnectionTimeoutMS” : 15000, 
“fetchSize” : 1048586, 
“deserializerClass” : “org.apache.eagle.security.auditlog.HdfsAuditLogKafkaDeserializer”, 
“transactionZKServers” : “rm1,rm2,10-140-60-50”, 
“transactionZKPort” : 21818, 
“transactionZKRoot” : “/consumers”, 
“consumerGroupId” : “eagle.hdfsaudit.consumer”, 
“transactionStateUpdateMS” : 2000 
}, 
“alertExecutorConfigs” : { 
“hdfsAuditLogAlertExecutor” : { 
“parallelism” : 1, 
“partitioner” : “org.apache.eagle.policy.DefaultPolicyPartitioner”, 
“needValidation” : “true” 
}, 
“eagleProps” : { 
“site” : “sandbox”, 
“application”: “hdfsAuditLog”, 
“dataJoinPollIntervalSec” : 30, 
“mailHost” : “mailHost.com”, 
“mailSmtpPort”:”25”, 
“mailDebug” : “true”, 
“mailSmtpAuth”: “true”, 
“mailSmtpUser”:”username”, 
“mailSmtpPassword”:”password”, 
“eagleService”: { 
“host”: “rm1”, —-eagle部署的服务器地址,不能写成Localhost 
“port”: 9099 
“username”: “admin”, 
“password”: “secret” 
}, 
“dynamicConfigSource” : { 
“enabled” : true, 
“initDelayMillis” : 0, 
“delayMillis” : 30000 
}
修改完毕后进入bin文件夹,执行./eagle-topology.sh start 该命令默认执行hdfsAuditLog拓补。 
查看storm web页面,查看kafka topic。使用 kafka-console-consumer.sh –zookeeper rm1:21818/kafka-rm –topic hdfslog命令(zookeeper需要修改成自己的zookeeper地址),发现审计日志已经打入topic。
 
storm页面中也正确。 
 
9、测试 
进入eagle的home页面,点击DAM下的HDFS,则出现hdfs相关的policy。 
 
点击policy name进入可以修改该policy,根据自己的需求完成告警任务,如: 
 
我在这里设置了cmd为open或者mkdirs,目录为/tmp/a.txt /tmp/private /aa/write sensititityType为PRIVATE
点击next出现下图设置。这里的Notification可以选择eagleStore或者邮件或者kafka。选择第一个,就会在系统中的Alerts(左侧导航栏点击Alerts)中生成记录查看,第二个会发邮件,第三个进kafka。我选择了第一个。 这里一定要选择一个,否则无法收到任何报警,会让人错认为系统未搭建成功。 
 
这样当命令行执行hadoop fs -cat /tmp/a.txt这样的命令时,就会产生告警 
在左侧导航栏的Alerts中可以查看 
 
其中sensitityType可以在页面中设置,点击左侧导航栏的Classification,会出现hdfs层面的目录,比如,进入/tmp文件夹下,可以设置文件。点击最右边的眼睛图标可以设置。 
 
10、其它 
上面写的是hdfs层面的命令操作,hive这块大体差不多。 
需要修改的conf文件变成了 sandbox-hiveQueryLog-application.conf
“envContextConfig” : { 
“env” : “storm”, 
“mode” : “cluster”, 
“topologyName” : “sandbox-hiveQueryRunning-topology”, 
“stormConfigFile” : “storm.yaml”, 
“parallelismConfig” : { 
“msgConsumer” : 2 
}, 
“dataSourceConfig”: { 
“flavor” : “stormrunning”, 
“zkQuorum” : “rm1:21818,rm2:21818,10-140-60-50:21818/kafka-rm”, 
“zkRoot” : “/jobrunning”, 
“zkSessionTimeoutMs” : 15000, 
“zkRetryTimes” : 3, 
“zkRetryInterval” : 2000, 
“RMEndPoints” : “http://rm1:50030/“, ——resourcemanager地址 
“HSEndPoint” : “http://rm2:19888/“, ——jobhistory地址 
“partitionerCls” : “org.apache.eagle.job.DefaultJobPartitionerImpl” 
}, 
“eagleProps” : { 
“site” : “sandbox”, 
“application” : “hiveQueryLog”, 
“mailHost” : “atom.xyz.com”, 
“mailSmtpPort”:”25”, 
“mailDebug” : “true”, 
“eagleService”: { 
“host”: “rm1”, 
“port”: 9099, 
“username”: “admin”, 
“password”: “secret” 
}, 
“alertExecutorConfigs” : { 
“hiveAccessAlertByRunningJob” : { 
“parallelism” : 1, 
“partitioner” : “org.apache.eagle.policy.DefaultPolicyPartitioner”, 
“needValidation” : “true” 
}, 
“dynamicConfigSource” : { 
“enabled” : true, 
“initDelayMillis” : 0, 
“delayMillis” : 30000, 
“ignoreDeleteFromSource” : true 
}
storm中建立拓补需要指定类,之前提到默认是hdfs。到bin目录下执行: 
./eagle-topology.sh –main org.apache.eagle.security.hive.jobrunning.HiveJobRunningMonitoringMain –config ${EAGLE_HOME}/conf/sandbox-hiveQueryLog-application.conf start 。
测试操作同理,进入eagle的home页面,DAM下选择hive,出现hive的policy(如果没有可以新建立),修改设置方法同hdfs policy。 
policy设置完之后,可以进入hive客户端,执行命令查看Alerts

eagle转载自乐视大数据部高级hadoop工程师蔡华宇相关推荐

  1. 作者:姜春宇(1987-),男,中国信息通信研究院移动互联网与大数据部工程师,数据中心联盟大数据技术与产品工作组组长。...

    姜春宇(1987-),男,中国信息通信研究院移动互联网与大数据部工程师,数据中心联盟大数据技术与产品工作组组长.主要研究方向为大数据技术体系,从事大数据技术和产品的标准化工作,牵头建立了国内首个大数据 ...

  2. 作者:魏凯(1981-),男,中国信息通信研究院移动互联网与大数据部高级工程师、副主任。...

    魏凯(1981-),男,中国信息通信研究院移动互联网与大数据部高级工程师.副主任,数据中心联盟大数据发展促进委员会常务副主任委员.主要研究方向为云计算和大数据相关技术.标准和政策,参与<促进大数 ...

  3. 网易微专业python数据分析统计服_40套大数据云计算高级实战精品,数据分析,数据仓库,数据爬虫,项目实战,用户画像, ......

    40套大数据云计算高级实战精品,数据分析,数据仓库,数据爬虫,项目实战,用户画像,日志分析,Hadoop,Flink,Spark,Kafka,Storm,Docker,ElaticStack等视频教程 ...

  4. 作者:钱岭(1972-),男,博士,中移(苏州)软件技术有限公司大数据部高级工程师、总经理。...

    钱岭(1972-),男,博士,中移(苏州)软件技术有限公司大数据部高级工程师.总经理,专注大数据产品规划.研发和应用全流程.软件过程改进等,曾获得中国通信学会科学技术奖二等奖,出版<敏捷开发知识 ...

  5. 【BDTC 2016】中国移动苏州研发中心大数据部总经理,高级工程师钱岭:大数据研发历程的回顾和思考...

    [CSDN现场报道]2016年12月8-10日,由中国计算机学会(CCF)主办,CCF大数据专家委员会承办,中国科学院计算技术研究所.中科天玑数据科技股份有限公司与CSDN共同协办,以"聚焦 ...

  6. 图解大数据 | 分布式平台Hadoop与Map-Reduce详解

    作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/84 本文地址:https://www.showmeai.tech/article-d ...

  7. 大数据技术之Hadoop(MapReduce)

    大数据技术之Hadoop(MapReduce) (作者:大数据研发部) 版本:V1.4 第1章MapReduce入门 map 计算 reduce 规约 1.1 MapReduce定义 Mapreduc ...

  8. 大数据_07 【hadoop HDFS的shell命令操作】

    大数据_07 [hadoop HDFS的shell命令操作] 01 基本语法 02 常用普通命令实操 03 HDFS常用高级命令 04 HDFS适用场景 05 HDFS不适用场景 06 hdfs的安全 ...

  9. 国家网络安全工程师、大数据网络运维工程师就业前景好

    国家网络安全工程师.大数据网络运维工程师就业前景怎么样?相信这是很多年轻人的担忧之处,有的人甚至会想到自己辛苦学习最后找不到好的就业单位将会是一种损失.接下来小编就带您探究这两个行业的就业前景究竟如何 ...

最新文章

  1. SLAM综述|激光与视觉融合SLAM
  2. mysql存储过程加多个创建表_mysql 存储过程创建多个表
  3. ftp服务器 文件目录,如何列出ftp服务器上的目录中的文件?
  4. 编译microwindow(nano-X) 及flnx-0.18
  5. 查询排序_Mysql在排序和查询时不使用索引的情况
  6. MRP的数据处理-华北水利水电大学(作业)
  7. ContextAttribute类
  8. 地图旋转_人类一败涂地手游:地图冰进阶攻略,团队配合与齐心协力缺一不可...
  9. WINDOWS搜索dll的路径顺序
  10. ASIHttpRequest startAsynchronous
  11. 【Python】Qt国际化ts文件转excel文件(xml转excel)
  12. QQ群导出群成员名单
  13. 双色球神经网络算法分析,双色球预测程序算法
  14. 直播视频app源码从零搭建流媒体服务器+obs推流直播
  15. 10种方法缓解所显示器造成的眼睛疲劳
  16. 服务器宕机指的是什么意思?
  17. python.exe无法找到入口 无法定位程序输入点
  18. 哪些行业网站适合使用CDN加速?
  19. 联想ghost重装系统_联想电脑y485 重装系统
  20. 依图在实时音视频中语音处理的挑战丨RTC Dev Meetup

热门文章

  1. GFC全球影视区块链技术峰会在河南成功举办
  2. python进行图像滤波_Python图像滤波处理操作示例【基于ImageFilter类】
  3. 2021年危险化学品经营单位主要负责人考试报名及危险化学品经营单位主要负责人模拟试题
  4. Kotlin | 委托(Delegation )详解
  5. 悠哉网李代山与实力派孙红雷有点像
  6. 国培南通之行的感悟——(其一)
  7. C++语法——超详细模拟实现list源代码
  8. 1:ML开篇之“驽马十驾,功在不舍”
  9. 计算机专业的英语复试自我介绍,计算机专业复试英语自我介绍
  10. matlab怎么输入二维数组,MATLAB二维数组(矩阵)的创建