`
woodding2008
  • 浏览: 289531 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
  内存泄漏[OOM] 容器类使用不当,导致对象无限增加。     线程泄漏 修复前后对比,正常情况下100-200个线程之间就足够了。  通过命令快速查看进程的线程数量   ,  ps hH p <pid> | wc -l,这个命令查看一个进程(用H选项)的线程数 for i in `ps aux | grep -v grep | grep java | awk '{print $2}'` ; do echo $i "-->" `ps hH p $i | wc -l` ; done 81109 --> 29 81112 ...

Storm1.0.x新功能调研

 
简介 storm1.0版本的重要功能都在1.0.0版本中发布,1.0.1版本中以fixed bug为主,调研使用1.0.1版本. storm1.0.0 :http://storm.apache.org/2016/04/12/storm100-released.html  默认配置:https://github.com/apache/storm/blob/v1.1.0/conf/defaults.yaml 集群配置:http://storm.apache.org/releases/current/Setting-up-a-Storm-cluster.html 运行任务:http:// ...
  storm任务的worker漂移【worker重新分配】通常因为OOM、过长的FullGC以及zookeeper负载过高等原因会导致worker中的executor心跳信息无法更新到zookeeper时发生,这个场景与上面描述的不同,属于操作系统内核Bug导致。   问题描述 dataVVCount 6月份4-6号发生了3次worker飘移,最近一次是port=5723的worker发生飘移。 飘移的worker都发生在a01/a02两台机器 环境检查 a01/a02操作系统Centos6.6,内核2.6.32-302.el6.x86_64【与其他机器不一致】 通过 ...
监控选型 监控目标确定后,需要选择合适平台来实现数据收集、展示、以及告警。 经过调研发现小米运维部开源出来的Openfalcon设计巧妙,组件足够松散,扩容方便,经过大规模数据考验,周边生态比较完善。数据展示部分做得比较粗糙,不够美观,控制起来不是很方便,果断选择展示效果更胜一筹的Grafana,Grafana有比较绚的展示效果,而且有可以自动化的api使用,很容易实现定制以及程序化生成Dashboard,这里很感谢快网同学为Grafana与Openfalcon系统桥接插件做出的努力。   遇到的坑 Openfalcon的dashboard等个别组件依赖python,安装比较困难 ...
监控的初衷        社区版的storm除去storm UI可以提供一点信息外,实际上任务完全运行在一个黑盒子里,不仅不知道任务的运行情况,即使任务有问题时也无法及时通知用户来处理,事后排查问题又非常困难。为了解决这些 ...
  为什么zookeeper会导致磁盘IO高 由于早期的storm版本心跳信息严重依赖zookeeper,心跳风暴会导致zookeeper的事务日志频繁的写磁盘,带来的问题首当其冲的是磁盘IO会爆掉。     优化思路 将zookeeper事务的日志放入内存中,降低对磁盘的依赖,受内存空间容量限制,需要控制事务日志大小。 这个方案的风险就是一旦机房断电会导致zookeeper中的部分数据丢失,所以特别重要的数据不建议这样做,SSD会是个不错的选择。   方案步骤 事务日志指向内存文件系统dataLogDir=/dev/shm 关闭自动事务日志的管 ...

ZooKeeper测试

测试环境 测试版本   java version "1.7.0_10" 64位  zookeeper 3.4.5  xmx2G zookeeper Server 3台   192.168.100.53  服务端口2181   192.168.100.54  服务端口2181   192.168.100.55  服务端口2181   64G内存,12核    功能测试  事件消费者 ...
方法说明:     /**     * Executes the given tasks, returning a list of Futures holding     * their status and results when all complete.     * {@link Future#isDone} is {@code true} for each     * element of the returned list.     * Note that a <em>completed</em> task could have     * termin ...
方法描述:   /** * Executes the given tasks, returning the result * of one that has completed successfully (i.e., without throwing * an exception), if any do. Upon normal or exceptional return, * tasks that have not completed are cancelled. * The results of this met ...

Storm消息可靠处理

        一个消息(tuple)从spout发送出来,可能导致成百上千消息基于此消息创建,这些消息构成一个树状结构,称之为“tuple tree”,如下图:              同时满足了下面两个条件,storm会认为消息被完整的处理了,如果在指 ...

RedisCluster

        Redis集群是Redis提供分布式数据库方案,集群通过分片(sharding)来进行数据共享,并提供复制和故障转移功能。   节点         一个Redis集群通常由多个节点(node)组成,在刚开始的时候,每个节点都是互相独立的 ...
1、zookeeper session是什么     客户端与服务端的任何交换操作都与会话相关,包括:临时节点的生命周期,客户端的请求顺序执行以及Watcher通知机制。  2、客户端操作 2.1、Zookeeper客户端一次创建会话的过程。   2.2、构造会话请求 long sessId = (seenRwServerBefore) ? sessionId : 0; ConnectRequest conReq = new ConnectRequest(0, lastZxid,sessionTimeout, sessId, sessionPasswd); outgoin ...

Redis复制策略

       在Redis中,用户可以通过执行SLAVEOF命令或设置slaveof选项,让一个服务器去复制(replicate)另一个服务器,我们称被复制的服务器为主服务器(master),而对主服务器进行复制的服务器则称为从服务器(slave)。假设有两个Redis实例,127.0.0.1:6379和127.0.0.1:6380,6379设置为主,6380作为从,进行读写数据测试。   6380>SLAVEOF 127.0.0.1 6379 6379>SET key “test” 6380>GET key 6379>DEL key 6379>EX ...
  2016-06-11 21:40:22 b.s.d.nimbus [INFO] Executor dataRealYkvvcount-214-1464683013:[544 544] not alive 2016-06-11 21:40:22 b.s.s.EvenScheduler [INFO] Available slots: (["8033393c-e639-41a5-a565-066e6bd1748b" 5723]  storm任务worker频繁发生executor not alive,worker & supervisor日志中没有发现其他错误 ...

Storm常用配置参数

storm.zookeeper.connection.timeout storm.zookeeper.session.timeout       ZooKeeper客户端连接/session超时时间   nimbus.monitor.freq.secs             nimbus检查心跳和重分配任务的时间间隔.注意如果是机器宕掉nimbus会立即接管并处理。   supervisor.heartbeat.frequency.secs   supervisor发送心跳间隔   supervisor.monitor.frequency.secs     supe ...
Global site tag (gtag.js) - Google Analytics