- 浏览: 2183668 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (682)
- 软件思想 (7)
- Lucene(修真篇) (17)
- Lucene(仙界篇) (20)
- Lucene(神界篇) (11)
- Solr (48)
- Hadoop (77)
- Spark (38)
- Hbase (26)
- Hive (19)
- Pig (25)
- ELK (64)
- Zookeeper (12)
- JAVA (119)
- Linux (59)
- 多线程 (8)
- Nutch (5)
- JAVA EE (21)
- Oracle (7)
- Python (32)
- Xml (5)
- Gson (1)
- Cygwin (1)
- JavaScript (4)
- MySQL (9)
- Lucene/Solr(转) (5)
- 缓存 (2)
- Github/Git (1)
- 开源爬虫 (1)
- Hadoop运维 (7)
- shell命令 (9)
- 生活感悟 (42)
- shell编程 (23)
- Scala (11)
- MongoDB (3)
- docker (2)
- Nodejs (3)
- Neo4j (5)
- storm (3)
- opencv (1)
最新评论
-
qindongliang1922:
粟谷_sugu 写道不太理解“分词字段存储docvalue是没 ...
浅谈Lucene中的DocValues -
粟谷_sugu:
不太理解“分词字段存储docvalue是没有意义的”,这句话, ...
浅谈Lucene中的DocValues -
yin_bp:
高性能elasticsearch ORM开发库使用文档http ...
为什么说Elasticsearch搜索是近实时的? -
hackWang:
请问博主,有用solr做电商的搜索项目?
Solr中Group和Facet的用法 -
章司nana:
遇到的问题同楼上 为什么会返回null
Lucene4.3开发之第八步之渡劫初期(八)
前言
监控hadoop的框架有不少,如CDH的CM组件和Ambari都可以监控他们自己的hadoop,但是它不能监控apache的hadoop,如果你是使用原生的Apache Hadoop,那么也没关系,原生的Hadoop天生就提供了非常详细的对接Ganglia的jmx接口,里面包含了各个核心组件metrics获取功能,这一点你可以查看hadoop和hbase包括spark的conf下面的metrics文件里面配置,就能得到验证。
(一)Ganglia是什么?
Ganglia 是 UC Berkeley 发起的一个开源监视项目,设计用于测量数以千计的节点。每台计算机都运行一个收集和发送度量数据(如处理器速度、内存使用量等)的名为 gmond 的守护进程。它将从操作系统和指定主机中收集。接收所有度量数据的主机可以显示这些数据并且可以将这些数据的精简表单传递到层次结构中。正因为有这种层次结构模式,才使得 Ganglia 可以实现良好的扩展。gmond 带来的系统负载非常少,这使得它成为在集群中各台计算机上运行的一段代码,而不会影响用户性能。
(二)Ganglia的主要组件
1,gmond (Ganglia Monitioring Daemon):
gmond是ganglia监控的基于多线程模式的守护进程,它需要安装运行在每个你想要监控的机器上,安装非常简单,你不需要有一个通用的NFS系统或者安装一个数据库后端存储,
或者安装指定一个账户,也不需要维护一个繁琐的配置文件。
gmond有4个主要的职责:
A:监控主机状态变化
B:发现或发布相关变化
C:监控其他的所有的ganglia节点通过一个单播(unicast)或者多播(multicast)通道模式
D:答复集群转态通过一个XML描述的信息
2,gmetad(Ganglia Meta Daemon )
gmetad是ganglia的元数据守护进程,通常只需要一个监控集群只需要一个元数据守护进程即可,当然如果你想实现高可用的数据冗余,你也可以配置多个,
gmetad主要是收集汇聚解析从各个gmond进程汇报发送过来的信息,并将其保存至rrd数据库里,供前端查询展示所需。
3,ganglia-web(Ganglia PHP Web Frontend)
ganglia的前端展示框架,负责以图形化的方式,展示集群的一些metics,并且支持分钟,小时,日,月,年,级别的汇总展示,虽然页面丑陋了点,但不
不算华而不实,主要是将rrd里面的XML的数据,解析为静态的HTML网页,方便管理员查询集群的cpu,内存,磁盘,网络,等一些自定义的metrics的某个时间段的
负载展现图
(三)Ganglia的架构拓扑
(四)Ganglia的安装
假设有3台机器centos6.5的系统,分别如下:
192.168.1.187 hadoop hbase gmetad gmond ganglia-web
192.168.1.186 hadoop hbase gmond
192.168.1.184 hadoop hbase gmond
主节点上安装的组件安装gmetad,gmond,ganglia-web
1,安装依赖组件:
yum -y install httpd-devel automake autoconf libtool ncurses-devel libxslt groff pcre-devel pkgconfig
2,安装ganglia的epel源,每台机器上
如果是centos7的系统:
# yum install epel-release # yum install ganglia-web ganglia-gmetad ganglia-gmond 或者直接 yum install -y ganglia*
如果是centos6的系统:
sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm yum install -y ganglia*
3,配置ganglia
主节点上,需要配置三个东西:
A : /etc/ganglia/gmetad.conf 只需要配置2个核心选项即可
data_source "hadoop" 192.168.1.187 192.168.1.186 192.168.1.184 // 使用单播的方式,加入所有要监控的机器ip,默认端口是8649 case_sensitive_hostnames 1 //是否忽略大小写,1代表不忽略,如果你的机器名里面含有大写的字母,一定要配置1,否则ganglia的前端图形就不能正确的读取rrds里面的每个机器的数据
B : /etc/ganglia/gmond.conf
cluster { name = "hadoop" #配置的名字与gmetad里面的需要一致 owner = "unspecified" latlong = "unspecified" url = "unspecified" } udp_send_channel { #mcast_join = 239.2.11.71 #注释掉默认的多播地址 host = 192.168.1.187 # 使用单播模式,发送消息 port = 8649 ttl = 1 } udp_recv_channel { #mcast_join = 239.2.11.71 port = 8649 bind = 192.168.1.187 #主节点的这个配置需要加上,用来接受其他机器上的传输过来的数据 , 特别注意从节点上的这项配置是 retry_bind = true }
C : /etc/httpd/conf.d/ganglia.conf
<Location /ganglia> Order deny,allow Allow from all #允许所有的机器访问 #Deny from all #Allow from 127.0.0.1 # Allow from ::1 # Allow from .example.com </Location>
4,从节点只要安装gmond组件即可
yum install -y ganglia-gmond
然后配置gmond.conf
cluster { name = "hadoop" #配置的名字与gmetad里面的需要一致 owner = "unspecified" latlong = "unspecified" url = "unspecified" } udp_send_channel { #mcast_join = 239.2.11.71 #注释掉默认的多播地址 host = 192.168.1.187 # 使用单播模式,发送消息 port = 8649 ttl = 1 } udp_recv_channel { #mcast_join = 239.2.11.71 port = 8649 #bind = 192.168.1.187 仅仅安装gmond的节点上,不需要这项配置,加上会报错 retry_bind = true }
5,如何改变rrd存储路径:
最好的办法,就是使用软连接,直接改gmetad里面的配置有时候可能不生效
默认的存储路径在/var/lib/ganglia/rrds/
你可以在这个目录,建一个软连接,改变此库的存储路径:
在/var/lib/ganglia/rrds 新建软连接,第一个参数是新路径,第二个参数是默认路径
sudo ln -s /ROOT/server/rrds /var/lib/ganglia/rrds
改变rrds的tools的默认路径:
http://stackoverflow.com/questions/26619473/how-to-change-the-storage-path-from-rrdtool-on-the-ganglia
需要注意改变后的路径的权限和用户赋值
mkdir -p /some/other/place/ chown -R ganglia:ganglia /some/other/place/ chmod -R 777 /some/other/place/
5,如何卸载组件?
sudo yum remove -y ganglia-web ganglia-gmetad
主节点启动
sudo service gmetad start sudo service gmond start sudo service httpd start
从节点
sudo service gmond start
出现错误后,可以查看系统log的日志
sudo tail -f /var/log/messages
大部分错误,在这里都能看到提示
(五)Hadoop和Hbase的监控
修改hadoop-metrics2.properties文件,在行末添加如下配置:
*.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31 *.sink.ganglia.period=10 *.sink.ganglia.supportsparse=true *.sink.ganglia.slope=jvm.metrics.gcCount=zero,jvm.metrics.memHeapUsedM=both *.sink.ganglia.dmax=jvm.metrics.threadsBlocked=70,jvm.metrics.memHeapUsedM=40 namenode.sink.ganglia.servers=192.168.1.187:8649 #当有多个ganglia监控系统时,以逗号分隔 datanode.sink.ganglia.servers=192.168.1.187:8649 #都指定ganglia服务器 resourcemanager.sink.ganglia.servers=192.168.1.187:8649 nodemanager.sink.ganglia.servers=192.168.1.187:8649 mrappmaster.sink.ganglia.servers=192.168.1.187:8649 jobhistoryserver.sink.ganglia.servers=192.168.1.187:8649
修改hadoop-metrics2-hbase.properties文件,在行末添加如下配置:
*.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31 *.sink.ganglia.period=10 hbase.sink.ganglia.period=10 hbase.sink.ganglia.servers=192.168.1.187:8649
完了分发hadoop和hbase的配置文件,到所有的机器上,然后重启集群
(六)访问http://192.168.1.187:80/ganglia 查看监控图
yarn监控
hbase的监控
至此,我们的监控系统就建立起来了,需要注意的是,当监控上hadoop的相关的指标时,rrds库的体积,膨胀比较大,所以这个库存的盘一定要大一点,或者在gmetad里面开启gzip压缩,否则把系统盘撑爆了,其他的程序有可能也会受到影响。
参考链接:
https://sourceforge.net/projects/ganglia/?source=typ_redirect
http://blog.cheyo.net/88.html
http://www.cnblogs.com/smartloli/p/4519914.html
http://lizhenliang.blog.51cto.com/7876557/1669312
http://www.cnblogs.com/zhengrunjian/p/4998334.html
有什么问题 可以扫码关注微信公众号:我是攻城师(woshigcs),在后台留言咨询。
本公众号的内容是有关搜索和大数据技术和互联网等方面内容的分享,也是一个温馨的技术互动交流的小家园
发表评论
-
Apache Flink在阿里的使用(译)
2019-02-21 21:18 1176Flink是未来大数据实时 ... -
计算机图形处理的一些知识
2018-04-25 17:46 1229最近在搞opencv来做一些 ... -
关于Hbase多版本存储的一个注意点
2018-04-19 11:39 1648我们知道hbase是一个多版本的管理系统,在0.96的版本之前 ... -
如何在kylin中构建一个cube
2017-07-11 19:06 1267前面的文章介绍了Apache Kylin的安装及数据仓 ... -
Spark如何读取Hbase特定查询的数据
2017-06-29 21:42 4445最近工作需要使用到Spark操作Hbase,上篇文章已经写 ... -
Apache Kylin的入门安装
2017-06-27 21:27 2145Apache Kylin™是一个开源的分布式分析引擎,提供 ... -
如何使用scala+spark读写hbase?
2017-06-12 19:48 3446最近工作有点忙,所以文章更新频率低了点,希望大家可以谅解,好 ... -
ES-Hadoop插件介绍
2017-04-27 18:07 1992上篇文章,写了使用spark集成es框架,并向es写入数据,虽 ... -
如何在Scala中读取Hadoop集群上的gz压缩文件
2017-04-05 18:51 2130存在Hadoop集群上的文件,大部分都会经过压缩,如果是压缩 ... -
如何收集项目日志统一发送到kafka中?
2017-02-07 19:07 2792上一篇(http://qindongliang.iteye. ... -
Hue+Hive临时目录权限不够解决方案
2016-06-14 10:40 4702安装Hue后,可能会分配多个账户给一些业务部门操作hive,虽 ... -
Hadoop的8088页面失效问题
2016-03-31 11:21 4450前两天重启了测试的hadoop集群,今天访问集群的8088任 ... -
Hadoop+Hbase集群数据迁移问题
2016-03-23 21:00 2524数据迁移或备份是任何 ... -
Logstash与Kafka集成
2016-02-24 18:44 11628在ELKK的架构中,各个框架的角色分工如下: Elastic ... -
Kakfa集群搭建
2016-02-23 15:36 2646先来整体熟悉下Kafka的一些概念和架构 (一)什么是Ka ... -
Hbase+Solr实现二级索引提供高效查询
2016-02-18 18:28 7084接着上一篇介绍协处理 ... -
Hbase协处理器介绍
2016-02-18 11:43 3835(一)Hbase协处理器的 ... -
大数据日志收集框架之Flume入门
2016-02-02 14:25 4186Flume是Cloudrea公司开源的一款优秀的日志收集框架 ... -
Spark读取Hbase数据
2016-01-21 15:39 2583直接上代码:可以上传jar包,给远程的spark集群,这样 ... -
Spark SQL+Hive历险记
2016-01-21 11:40 6128基础依赖环境 Apache Hadoop2.7.1 Apa ...
相关推荐
提供的文档`hadoop_zookeeper_hbase集群配置.docx`应包含详细的步骤和配置示例,而`配置文件.rar`则可能包含了预设的配置模板,可以作为配置参考。在实际操作时,务必根据具体环境调整配置,确保所有节点之间的网络...
Hadoop+HBase集群搭建详细手册 本文将详细介绍如何搭建Hadoop+HBase集群,包括前提准备、机器集群结构分布、硬件环境、软件准备、操作步骤等。 一、前提准备 在搭建Hadoop+HBase集群之前,需要准备以下几个组件:...
- 在Hadoop集群运行的基础上安装HBase,确保Hadoop的相关环境变量被HBase使用。 - 配置HBase的`hbase-site.xml`以指定Zookeeper地址和集群模式。 - 启动HBase服务,包括Master和RegionServer。 3. **Spark**:...
jdk1.8.0_131、apache-zookeeper-3.8.0、hadoop-3.3.2、hbase-2.4.12 mysql5.7.38、mysql jdbc驱动mysql-connector-java-8.0.8-dmr-bin.jar、 apache-hive-3.1.3 2.本文软件均安装在自建的目录/export/server/下 ...
在大数据领域,构建一个完整的生态系统是至关重要的,其中包括多个组件,如Hadoop、Spark、Hive、HBase、Oozie、Kafka、Flume、Flink、Elasticsearch和Redash。这些组件协同工作,提供了数据存储、处理、调度、流...
在搭建HBase集群时,我们需要配置HBase的主RegionServer(Master)、RegionServer实例以及与Zookeeper的连接。此外,还要设置表和列族的属性,如块大小、缓存设置等,以优化性能。 在实际搭建过程中,首先,你需要...
### Hadoop+Hbase技术使用文档关键知识点 #### 一、文档目的 本文档旨在指导用户如何在单节点上安装并配置Hadoop与Hbase,从而实现数据的分布式存储和处理。通过本教程的学习,读者将能够理解并掌握Hadoop与Hbase的...
在构建Hadoop+HBase+Hive集群的过程中,涉及了多个关键步骤和技术要点,下面将对这些知识点进行详细的解析。 ### 1. 时间同步:NTP配置 在分布式系统中,时间的一致性至关重要,特别是在处理日志、事件排序以及...
综上所述,徐老师的大数据培训涵盖了目前最主流的大数据处理技术和工具,从基础的Hadoop到高级的Spark和Scala,再到集群管理和监控的Ambari,形成了一套完整的培训体系。这不仅能够帮助学员建立起扎实的大数据理论...
本文详细介绍了如何在多台服务器上部署Hadoop + HBase集群的过程,包括了从基础环境配置到Hadoop和HBase的具体安装步骤。通过这些步骤,您可以成功地搭建起一个功能完备的分布式计算和存储平台,为大规模数据处理...
Zookeeper是Hadoop和HBase集群环境中的核心组件,负责节点管理和配置管理。安装Zookeeper需要下载zookeeper-3.4.5.tar.gz安装包,然后解压缩并配置Zookeeper。 HBase0.96安装和部署 HBase是基于Hadoop的NoSQL...
hadoop+HBase+Kylin集群启动停止命令
- **Hbase部署:** 在Hadoop集群的基础上安装Hbase,并配置Master节点和RegionServer。 - **数据迁移与同步:** 将现有数据迁移到HDFS中,并在Hbase中建立相应的表结构。 - **系统优化:** 根据业务需求调整HDFS...
【标题】:“安装笔记:hadoop+hbase+sqoop2+phoenix+kerberos” 【描述】:在本文中,我们将探讨如何在两台云主机(实际环境可能需要三台或更多)上安装Hadoop、HBase、Sqoop2、Phoenix以及Kerberos的详细过程,...
理解HBase的表结构、行键、列族、时间戳以及如何进行数据的增删改查操作是搭建HBase集群的基础。 5. Hadoop和HBase的整合应用。了解如何在Hadoop集群上安装和配置HBase,以及如何将HBase作为数据存储层集成到Hadoop...
标题 "Hadoop Zookeeper HBase集群" 涉及到的是大数据处理领域中的三个关键组件:Hadoop、Zookeeper和HBase。这三个组件在构建分布式系统中起着至关重要的作用。 首先,Hadoop是Apache软件基金会开发的一个开源框架...
从零开始hadoop+zookeeper+hbase+hive集群安装搭建,内附详细配置、测试、常见error等图文,按照文档一步一步搭建肯定能成功。(最好用有道云打开笔记)
Hadoop HA高可用集群搭建(Hadoop+Zookeeper+HBase) 一、Hadoop HA高可用集群概述 在大数据处理中,高可用集群是非常重要的,Hadoop HA高可用集群可以提供高可靠性和高可用性,确保数据处理不中断。该集群由...
6. **监控与优化**:整合工程中需要监控Hadoop、HBase和Hive的性能,通过Ambari等工具进行资源调度、故障排查和性能调优。 在实际应用中,还会遇到如数据安全、容错机制、备份恢复、性能优化等挑战。对于开发者来说...
通过本文档,你将掌握搭建hadoop和hbase的方法,深入浅出,易学上手快。