- 浏览: 16558 次
- 来自: ...
最新评论
文章列表
从一张已有的Hive Table中创建新表及Partition出现如下问题
原有Hive Table中有160g数据(为三个月中所有应用和服务器的用户访问记录)
新表选取需要字段,并按照应用/服务器Ip/访问时间创建Partition
//创建table
set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;
CREATE TABLE IF NOT EXISTS app_trace(
trace_id string,
clien ...
前提
不考虑shard(使用场景受限,运维成本比较高)
mongo实例的库规模超过百g,单个collection 超过千万
未达到这个规模的集群,性能不会太差,维护的手段可以选择使用,降低维护成本
使用层面
生产环境应默认开启journal log
write reference 使用 JOURNAL_SAFE(更严格的模式依次为 1主机成功;2多数成功;3 fs.sync)
read reference 使用 secondary first 的模式
mongo参数调优
建立必要的索引
超过千万的 collection 可以考虑开启轮询模式(capped)或者定 ...
之前一段时间偶尔会收到 hadoop 集群的 nagios 监控报警,具体报警是几个 resource-manager 节点一直负载超过阀值.找了个空闲时间分析了一下 job-history,发现是一个小伙伴的 job在段时间内创建了大量 map-task 导致的,在解决问题后做个笔记备忘
首先分析 job-history 的统计数据
可以发现 map 任务执行的时间很短,但是同时会有大量的 map 任务
与小伙伴沟通后,了解到他的 job 是根据运营侧需求,本周都在应用埋点日志中提取指定按钮的点击计数
应用埋点的日志记录了每个用户的所有访问路径和参数1) log-age ...
通常64位JVM消耗的内存会比32位的大1.5倍,这是因为对象指针在64位架构下,长度会翻倍(更宽的寻址)。
对于那些将要从32位平台移植到64位的应用来说,平白无辜多了1/2的内存占用,这是开发者不愿意看到的。
幸运的是,从 ...
根据不同的需要BlockingQueue有4种具体实现:(1)ArrayBlockingQueue:规定大小的BlockingQueue,其构造函数必须带一个int参数来指明其大小。其所含 的对象是以FIFO(先入先出)顺序排序的。 (2)LinkedBlockingQueue:大小不定的BlockingQueue,若其构造函数带一个规定大小的参数,生成的 BlockingQueue有大小限制,若不带大小参数,所生成的BlockingQueue的大小由Integer.MAX_VALUE来 决定。其所含的对象是以FIFO(先入先出)顺序排序的。 LinkedBlockingQueue和Array ...
Java中一共有4种类型的引用:StrongReference、SoftReference、WeakReference以及
PhantomReference (幽灵引用)。
Strong Reference
StrongReference 是 Java 的默认引用实现,它会尽可能长时间的存活于 JVM 内, 当没有任何对象指向它时Java GC 执行后将会被回收
SoftReference
SoftReference 所引用的对象在JVM内部不再有强引用时会被回收(虚拟机保证), 但会尽可能长的保留引用直到 JVM 内存不足时才会回收,这一特性使得 SoftReference ...
Jim Gray在过去40年中对技术发展有过巨大的贡献,“内存是新的硬盘,硬盘是新的磁带”是他的名言。“实时”Web应用不断涌现,达到海量规模的系统越来越多,这种后浪推前浪的发展模式对软硬件又有何影响?
Tim Bray早在网格 ...
在 1987 年,Jim Gray 与 Gianfranco Putzolu 发表了这个"五分钟法则"的观点,简而言之,如果一条记录频繁被访问,就应该放到内存里,否则的话就应该待在硬盘上按需要再访问。这个临界点就是五分钟。 看上去像一条经验性的法则,实际上五分钟的评估标准是根据投入成本判断的,根据当时的硬件发展水准,在内存中保持 1KB 的数据成本相当于硬盘中存据 400 秒的开销(接近五分钟)。这个法则在 1997 年左右的时候进行过一次回顾,证实了五分钟法则依然有效(硬盘、内存实际上没有质的飞跃),而这次的回顾则是针对 SSD 这个"新的旧硬件"可能带 ...
public static void start() throws Exception {
QueuedThreadPool boundedThreadPool = new QueuedThreadPool();
boundedThreadPool.setMaxThreads(200);
server.setThreadPool(boundedThreadPool);
Connector connector = new SelectChannelConnector();
connector.setPort(8095);
server.addConne ...