cloudera hbase集群简单思路
文章copy link:http://cloudera.iteye.com/blog/889468 链接所有者保留所有权!
http://www.csdn.net/article/2013-05-10/2815222-cloudera-release-impala-1-0 【cloudera impala】
官方doc
https://wiki.cloudera.com/display/DOC/HBase+Installation
首先升级yum:
在 /etc/yum.repos.d/ 下创建cloudera-cdh3.repo 然后把
- [cloudera-cdh3]
- name=Cloudera's Distribution for Hadoop, Version 3
- mirrorlist=http://archive.cloudera.com/redhat/cdh/3/mirrors
- gpgkey = http://archive.cloudera.com/redhat/cdh/RPM-GPG-KEY-cloudera
- gpgcheck = 0
[cloudera-cdh3]
name=Cloudera's Distribution for Hadoop, Version 3
mirrorlist=http://archive.cloudera.com/redhat/cdh/3/mirrors
gpgkey = http://archive.cloudera.com/redhat/cdh/RPM-GPG-KEY-cloudera
gpgcheck = 0
追加到cloudera-cdh3.repo 里。
然后执行:
yum update yum
参照:
https://wiki.cloudera.com/display/DOC/CDH3+Installation
安装hadoop:
更新好yum 就能通过yum 下载hadoop 了 很方便。
在集群中每个节点都下载hadoop
- yum install hadoop-0.2X
yum install hadoop-0.2X
然后创建hadoop用户(这里注意,下载了cloudera 的hadoop 后,会自动创建一个hadoop组和两个用户:mapred、hdfs 。 用户本人没用)
所以创建用户时必须加上 -g hadoop (吧hadoop 用户也加入hadoop组)
修改hadoop集群配置文件:
vi /etc/hadoop/conf/hdfs-site.xml
- <configuration>
- <property>
- <name>dfs.replication</name>
- <value>3</value> <!--hdfs 备份最好多做些,防止数据丢失-->
- </property>
- <property>
- <name>dfs.name.dir</name>
- <value>/data/namenode</value>
- </property>
- <property>
- <!-- specify this so that running 'hadoop namenode -format' formats the right dir -->
- <name>dfs.data.dir</name>
- <value>/data/datanode</value>
- </property>
- </configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value> <!--hdfs 备份最好多做些,防止数据丢失-->
</property>
<property>
<name>dfs.name.dir</name>
<value>/data/namenode</value>
</property>
<property>
<!-- specify this so that running 'hadoop namenode -format' formats the right dir -->
<name>dfs.data.dir</name>
<value>/data/datanode</value>
</property>
</configuration>
vi /etc/hadoop/conf/mapred-site.xml (因为hbase和mapreduce 没关系,所以这个配置文件没做详细修改)
- <configuration>
- <property>
- <name>mapred.job.tracker</name>
- <value>hbase150:9001</value>
- </property>
- <!--add fair schedualer -->
- <property>
- <name>mapred.jobtracker.taskScheduler</name>
- <value>org.apache.hadoop.mapred.FairScheduler</value>
- </property>
- <property>
- <name>mapred.fairscheduler.allocation.file</name>
- <value>/etc/hadoop/conf/pools.xml</value>
- </property>
- <!-- Enable Hue plugins -->
- <property>
- <name>mapred.jobtracker.plugins</name>
- <value>org.apache.hadoop.thriftfs.ThriftJobTrackerPlugin</value>
- <description>Comma-separated list of jobtracker plug-ins to be activated.
- </description>
- </property>
- <property>
- <name>jobtracker.thrift.address</name>
- <value>0.0.0.0:9290</value>
- </property>
- </configuration>
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hbase150:9001</value>
</property> <!--add fair schedualer -->
<property>
<name>mapred.jobtracker.taskScheduler</name>
<value>org.apache.hadoop.mapred.FairScheduler</value>
</property> <property>
<name>mapred.fairscheduler.allocation.file</name>
<value>/etc/hadoop/conf/pools.xml</value>
</property> <!-- Enable Hue plugins -->
<property>
<name>mapred.jobtracker.plugins</name>
<value>org.apache.hadoop.thriftfs.ThriftJobTrackerPlugin</value>
<description>Comma-separated list of jobtracker plug-ins to be activated.
</description>
</property>
<property>
<name>jobtracker.thrift.address</name>
<value>0.0.0.0:9290</value>
</property> </configuration>
vi /etc/hadoop/conf/core-site.xml
- <configuration>
- <property>
- <name>fs.default.name</name>
- <value>hdfs://hbase150:9000</value>
- </property>
- <property>
- <name>hadoop.tmp.dir</name>
- <value>/data/tmp</value>
- </property>
- </configuration>
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hbase150:9000</value>
</property> <property>
<name>hadoop.tmp.dir</name>
<value>/data/tmp</value>
</property>
</configuration>
各节点之间的hadoop用户ssh无密码登陆以及其它细节这里就不说了,网上多的是,配置文件贴出来是希望分享下,或者接受大家 宝贵耳朵建议。
启动hdfs(不用启动mapreduce。):
执行 /usr/lib/hadoop/bin/start-dfs.sh
注意:启动会遇到用户权限问题。因为cloudera 吧hdfs相关的目录权限设置的是hdfs用户(mapreduce 也是) 所以这里就需要用root 把相关目录给hadoop: chown -R hadoop [目录名]
还有启动之前需要对namenode 进行format 这里会问是否真的要format [Y/N] 千万别输入小写的y 要输入大写.. 因为这个我郁闷了好久..
还有namenode 的safemode leave 的时候,出现没有权限的报错,提示大概是:需要更高权限的用户。 而我的用户是hadoop 对hdfs来说是最高权限的用户啊。郁闷了很久后 发现时namenode 没启动起来导致的。。。
hdfs成功启动后,安装zookeeper (hbase需要zookeeper)
hbase自带有zookeeper 我这里是自己安装zookeeper。
参照
https://wiki.cloudera.com/display/DOC/ZooKeeper+Installation
即可搭建起zookeeper集群
遇到的问题类似 ,同样是因为用cloudera 的zookeeper时会有目录所属用户问题。 把相关目录全chown 给hadoop就行。
还遇到个棘手的问题就是:参照上篇博客:
http://cloudera.iteye.com/blog/902949
还有,这里我没有用cloudera 的命令:
/etc/init.d/hadoop-zookeeper start
因为cloudera 的这个启动文件会自动su 到zookeeper 用户,而我全是用hadoop用户操作的。
所以我是用:
- /usr/lib/zookeeper/bin/zkServer.sh start
/usr/lib/zookeeper/bin/zkServer.sh start
启动的。
可用
- /usr/lib/zookeeper/bin/zkServer.sh status
/usr/lib/zookeeper/bin/zkServer.sh status
查看状态
用
- /usr/lib/zookeeper/bin/zkServer.sh stop
/usr/lib/zookeeper/bin/zkServer.sh stop
停止。
zookeeper集群安装完毕后即可安装hbase
安装hbase:
参照:
https://wiki.cloudera.com/display/DOC/HBase+Installation
我也没用cloudera 的启动,原因同上。
我用:
- /usr/lib/hbase/bin/start-hbase.sh
/usr/lib/hbase/bin/start-hbase.sh
启动。这里注意了,需要修改start-hbase.sh的源码。因为hbase会自动启动zookeeper 所以注释掉源码中的zookeeper启动的那行。
stop-hbase.sh亦是。
另外 这种启动方式还需要在master中配置/etc/hbase/conf/regionservers
这样只需在master 中执行启动hbase 的命令即可,不用再slaves 中逐一启动regionserver了。
最后,想说下,最好把日志log 都统一管理起来。我吧日志都放到/data/log 下了。 (/data目录是我专门用来放hadoop hbase 的东西的,namenode 和datanode 也全都在/data目录下。)
cloudera hbase集群简单思路的更多相关文章
- hbase集群的启动,注意几个问题
1.hbase的改的会影响器他的组件的使用, 故而, 在修改 hadoop的任何组件后, 一定要记得其它的组件也能受到影响, 一下是我在将hadoop的集群改了之后 , 再次运行hbase的时候, 就 ...
- HBase集群搭建
HBase集群搭建 搭建环境:假设我们的linux环境已经准备好,包括网络.JDK.防火墙.主机名.免密登录等都没有问题,而且一定要有zookeeper.下面我们用3台linux虚拟机来搭建Hbase ...
- 一条scan查询把HBase集群干趴下
最近在给公司搭建CDH集群,在测试集群性能时,写了一条简单的scan查询语句竟然把hbase集群的所有regionserver干趴下了.这让我云里雾里的飘飘然. 背景介绍 CDH集群,2台主节点.3台 ...
- 在Azure HDInsight HBase集群中使用Thrift接口
Sun wei Wed, Feb 25 2015 2:17 AM Apache Thrift 是一种可扩展的跨语言服务接口,可以通过内置的代码生成引擎帮助创建跨语言服务类库,Apache HBase ...
- Zookeeper管理多个HBase集群
zookeeper是hbase集群的"协调器".由于zookeeper的轻量级特性,因此我们可以将多个hbase集群共用一个zookeeper集群,以节约大量的服务器.多个hbas ...
- 高可用Hadoop平台-HBase集群搭建
1.概述 今天补充一篇HBase集群的搭建,这个是高可用系列遗漏的一篇博客,今天抽时间补上,今天给大家介绍的主要内容目录如下所示: 基础软件的准备 HBase介绍 HBase集群搭建 单点问题验证 截 ...
- 基于centos6.5 hbase 集群搭建
注意本章内容是在上一篇文章“基于centos6.5 hadoop 集群搭建”基础上创建的 1.上传hbase安装包 hbase-0.96.2-hadoop2 我的目录存放在/usr/hadoop/hb ...
- [How to]HBase集群备份方法
1.简介 当HBase数据库中存在非常重要的业务数据的时候为了保护数据的可以对数据进行备份处理.对于HBase来说从备份操作来看可分为离线备份和在线备份. 2. 前准备 在测试环境上准备有哦两套HBa ...
- HBase集群出现NotServingRegionException问题的排查及解决方法
HBase集群在读写过程中,可能由于Region Split或Region Blance等导致Region的短暂下线,此时客户端与HBase集群进行RPC操作时会抛出NotServingRegionE ...
随机推荐
- Tomcat的SessionID引起的Session Fixation和Session Hijacking问题
上一篇说到<Spring MVC防御CSRF.XSS和SQL注入攻击>,今天说说SessionID带来的漏洞攻击问题.首先,什么是Session Fixation攻击和Session Hi ...
- php命令行用法简介
Php是一个非常流行的web服务端脚本语言.其实,php不仅仅可以在web服务器中充当重要角色.在命令行一样可以执行. 本文中,笔者为各位介绍下php在命令行中的使用方法. 1. 查看php的版本. ...
- struct TABLE_SHARE
struct TABLE_SHARE { TABLE_SHARE() {} /* Remove gcc warning */ /** Category of this table. */ TABLE_ ...
- iOS开发:应用生命周期
iOS应用通过委托对象AppDelegate类在应用周期的不同阶段会回调不同的方法,应用周期分为以下五种状态: Not Running(非运行状态).应用没有运行或被系统终止. Inactive ...
- UVa 1401 (Tire树) Remember the Word
d(i)表示从i开始的后缀即S[i, L-1]的分解方法数,字符串为S[0, L-1] 则有d(i) = sum{ d(i+len(x)) | 单词x是S[i, L-1]的前缀 } 递推边界为d(L) ...
- 解决IE6下浮动层固定定位的经典方法
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- HDU 5312 Sequence (规律题)
题意: 一个序列的第n项为3*n*(n-1)+1,而 n>=1,现在给一个正整数m,问其最少由多少个序列中的数组成? 思路: 首先,序列第1项是1,所以任何数都能构成了.但是最少应该是多少?对式 ...
- Squid 反向代理加速网站
本实例的域名是 wenjin.cache.ibm.com.cn,通过DNS的轮询 技术,将客户端的请求分发给其中一台 Squid 反向代理服务器处理,如果这台 Squid 缓存了用户的请求资源,则将请 ...
- Android裁剪固定大小头像的功能
转载自: http://www.eoeandroid.com/thread-497277-1-1.html 效果很好,特意转载过来记录一下,加深一下印象. 效果就是 :中间的方框不动,可以拖动图片,选 ...
- JS三级折叠菜单特效 自动收缩其它级
真的很不错!很实用,在IE6.IE7.IE8.FF.chrome等浏览器都正常运行,去掉CSS中 #menu ul中 {height:100px; overflow:auto;} 即可高度自适应 &l ...