摘要: 现象描述:# jps27851 Jps18198 -- process information unavailable没有办法kill掉# kill -9 18198-bash: kill: (18198) - No such process解决办法:进入tmp目录,cd /tmp删除该目录下名称为hsperfdata_{username}的文件夹然后jps,清净了。 阅读全文
posted @ 2013-06-06 16:00 季石磊 阅读(1615) 评论(0) 推荐(0) 编辑
摘要: Jobtracker重启Job recovery过程分析1. Job Recovery的有关配置项配置项默认值含义mapred.jobtracker.restart.recoverfalsetrue时JT重启之前运行的job可以在jobtracker restart之后恢复,false则需要重新运行。mapred.jobtracker.job.history.block.size3145728保存Job历史日志文件的大小,job的恢复就是使用这些历史日志。hadoop.job.history.location${hadoop.log.dir}/historyJob history存储位置2. 阅读全文
posted @ 2013-05-31 11:46 季石磊 阅读(441) 评论(0) 推荐(0) 编辑
摘要: 线上部署hadoop、hbase 一般都是采用存储、计算一对一的方式,即每个节点启动 hadoop 的 datanode(以下简称dn)& tasktracker(以下简称tt) 再加 hbase regionserver(以下简称rs),hadoop namenode(以下简称nn)和 hbase master(以下简称master)一般在负载较轻的情况下可以部署在同一个节点上。 生产集群在长时间运行过程中不可避免存在机器损坏替换的情况,计算资源需求随着业务数据量的增长也会不断提高,这需要我们对集群进行扩容或缩减。 集群改变规模后,最为彻底的刷新方式就是重启整个集群,但重启会导致服务 阅读全文
posted @ 2013-05-27 10:58 季石磊 阅读(1622) 评论(0) 推荐(0) 编辑
摘要: 以下为使用hbase一段时间的几个思考,由于在内存充足的情况下hbase能提供比较满意的读性能,因此写性能是思考的重点。希望读者提出不同意见讨论1 autoflush=false 无论是官方还是很多blog都提倡为了提高hbase的写入速度而在应用代码中设置autoflush=false,然后在在线应用中应该谨慎进行该设置。原因如下: a autoflush=false的原理是当客户端提交delete或put请求时,将该请求在客户端缓存,直到数据超过2M(hbase.client.write.buffer决定)或用户执行了hbase.flushcommits()时才向regionserver. 阅读全文
posted @ 2013-05-27 09:51 季石磊 阅读(1111) 评论(0) 推荐(0) 编辑
摘要: RHEL 6.2 and 6.3 include a feature called "transparent hugepage compaction" which interacts poorly with Hadoop workloads. This can cause a serious performance regression compared to other operating system versions on the same hardware.Symptom:topand other system monitoring tools show a lar 阅读全文
posted @ 2013-03-29 09:24 季石磊 阅读(1175) 评论(0) 推荐(0) 编辑
摘要: 1. 往/lib和/usr/lib里面加东西,是不用修改/etc/ld.so.conf的,但是完了之后要调一下ldconfig,不然这个library会找不到2. 想往上面两个目录以外加东西的时候,一定要修改/etc/ld.so.conf,然后再调用ldconfig,不然也会找不到比如安装了一个mysql到/usr/local/mysql,mysql有一大堆library在/usr/local/mysql/lib下面,这时就需要在/etc/ld.so.conf下面加一行/usr/local/mysql/lib,保存过后ldconfig一下,新的library才能在程序运行时被找到。3. 如果想 阅读全文
posted @ 2013-03-06 11:31 季石磊 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 本文主要是从HBase应用程序设计与开发的角度,总结几种常用的性能优化方法。有关HBase系统配置级别的优化,这里涉及的不多,这部分可以参考:淘宝Ken Wu同学的博客。1. 表的设计1.1 Pre-Creating Regions默认情况下,在创建HBase表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户端都向这一个region写数据,直到这个region足够大了才进行切分。一种可以加快批量写入速度的方法是通过预先创建一些空的regions,这样当数据写入HBase时,会按照region分区情况,在集群内做数据的负载均衡。有关预分区,详情参见:Table Cre 阅读全文
posted @ 2013-02-07 15:36 季石磊 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 有以下命令可以查看:# lsb_release -aLSB Version: :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarchDistributor ID: CentOSDescription: CentOS release 5.4 (Final)Release: 5.4Codename: Final这个命令适用于所有的linux,包括Redhat、SuSE、Debian等发行版。root@MyMail ~ # unameLinuxroot@MyMail ~ # uname -r2.6.18-164.el5 阅读全文
posted @ 2013-02-06 10:34 季石磊 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 从yum安装hbase集群的时候,有时候主机和节点不能启动Hmaster和Hregionserver。日志提示不能正确解析从节点主机名称,主机从官网上查看,得知yum安装的hbase需要用DNS服器进行解析:于是就在主节点上设置dns服务器;(我开始是用yum安装的,最后在公司服务器部署的时候用的是rpm包安装的,区别是安装后的配置文件保存的路径不一样,yum安装会比较简单,因为不需要考虑安装包之间的依赖关系)安装包如下:bind-devel-9.3.6-16.P1.el5.i386.rpmbind-libbind-devel-9.3.6-16.P1.el5.i386.rpmbind-libs 阅读全文
posted @ 2013-01-30 23:57 季石磊 阅读(1663) 评论(0) 推荐(0) 编辑
摘要: 之前dfs.replication值为3,运行一段时间之后我使用完了磁盘空间,所以呢,现在我想通过降低备份的个数来释放空间。那么对于之前存储的文件会自动把备份数改为1吗?还是需要手动执行命令来执行呢?dfs.replication这个参数其实只在文件被写入dfs时起作用,虽然更改了配置文件,但是不会改变之前写入的文件的备份数。但是可以通过如下命令更改备份数:bin/hadoop fs -setrep -R 1 / 阅读全文
posted @ 2013-01-30 09:38 季石磊 阅读(1914) 评论(0) 推荐(0) 编辑