cloudera hbase集群简单思路

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 文章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.

文章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 然后把

 

Java代码 复制代码  收藏代码
  1. [cloudera-cdh3]   
  2. name=Cloudera's Distribution for Hadoop, Version 3  
  3. mirrorlist=http://archive.cloudera.com/redhat/cdh/3/mirrors   
  4. gpgkey = http://archive.cloudera.com/redhat/cdh/RPM-GPG-KEY-cloudera    
  5. 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

 

Java代码 复制代码  收藏代码
  1. 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

 

 

Java代码 复制代码  收藏代码
  1. <configuration>   
  2.   <property>   
  3.     <name>dfs.replication</name>   
  4.     <value>3</value> <!--hdfs 备份最好多做些,防止数据丢失-->   
  5.   </property>   
  6.   <property>   
  7.      <name>dfs.name.dir</name>   
  8.      <value>/data/namenode</value>   
  9.   </property>   
  10.   <property>   
  11.      <!-- specify this so that running 'hadoop namenode -format' formats the right dir -->   
  12.      <name>dfs.data.dir</name>   
  13.      <value>/data/datanode</value>   
  14.   </property>   
  15. </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 没关系,所以这个配置文件没做详细修改)

 

Xml代码 复制代码  收藏代码
  1. <configuration>  
  2.   <property>  
  3.     <name>mapred.job.tracker</name>  
  4.     <value>hbase150:9001</value>  
  5.   </property>  
  6.   
  7.   <!--add fair schedualer -->  
  8.   <property>  
  9.     <name>mapred.jobtracker.taskScheduler</name>  
  10.     <value>org.apache.hadoop.mapred.FairScheduler</value>  
  11.   </property>  
  12.   
  13.   <property>  
  14.     <name>mapred.fairscheduler.allocation.file</name>  
  15.     <value>/etc/hadoop/conf/pools.xml</value>  
  16.   </property>  
  17.   
  18.   <!-- Enable Hue plugins -->  
  19.   <property>  
  20.     <name>mapred.jobtracker.plugins</name>  
  21.     <value>org.apache.hadoop.thriftfs.ThriftJobTrackerPlugin</value>  
  22.     <description>Comma-separated list of jobtracker plug-ins to be activated.   
  23.     </description>  
  24.   </property>  
  25.   <property>  
  26.     <name>jobtracker.thrift.address</name>  
  27.     <value>0.0.0.0:9290</value>  
  28.   </property>  
  29.   
  30.   
  31. </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

 

Xml代码 复制代码  收藏代码
  1. <configuration>  
  2.   <property>  
  3.     <name>fs.default.name</name>  
  4.     <value>hdfs://hbase150:9000</value>  
  5.   </property>  
  6.   
  7.   <property>  
  8.      <name>hadoop.tmp.dir</name>  
  9.      <value>/data/tmp</value>  
  10.   </property>  
  11. </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用户操作的。

 

所以我是用:

 

Java代码 复制代码  收藏代码
  1. /usr/lib/zookeeper/bin/zkServer.sh start  
/usr/lib/zookeeper/bin/zkServer.sh start

 启动的。

可用

 

Java代码 复制代码  收藏代码
  1. /usr/lib/zookeeper/bin/zkServer.sh status  
/usr/lib/zookeeper/bin/zkServer.sh status

 查看状态

 

Java代码 复制代码  收藏代码
  1. /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 的启动,原因同上。

我用:

 

Java代码 复制代码  收藏代码
  1. /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目录下。)

相关实践学习
云数据库HBase版使用教程
&nbsp; 相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情:&nbsp;https://cn.aliyun.com/product/hbase &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
6月前
|
存储 Oracle 关系型数据库
HBase集群环境搭建与测试(上)
HBase集群环境搭建与测试
125 0
|
8月前
|
SQL 分布式计算 Hadoop
Hadoop集群hbase的安装
Hadoop集群hbase的安装
143 0
|
7月前
|
大数据 分布式数据库 Docker
基于Docker搭建大数据集群(七)Hbase部署
基于Docker搭建大数据集群(七)Hbase部署
|
NoSQL 大数据 分布式数据库
【HBase】(2)-集群的启动与关闭
【HBase】(2)-集群的启动与关闭
256 0
【HBase】(2)-集群的启动与关闭
|
分布式计算 资源调度 Hadoop
三十八、hbase集群的搭建(HBase Shell)
三十八、hbase集群的搭建(HBase Shell)
三十八、hbase集群的搭建(HBase Shell)
|
6月前
|
分布式计算 Hadoop Linux
HBase集群环境搭建与测试(下)
HBase集群环境搭建与测试
81 0
|
9月前
|
存储 Java 大数据
分布式数据库HBase的安装部署和环境搭建的集群模式
HBase是一个分布式数据库系统,能够支持高性能、高可靠性、高伸缩性的数据存储和读写操作。在大数据时代,HBase成为了一个越来越受欢迎的数据库选择。本文将介绍HBase的集群模式的安装部署和环境搭建,帮助开发者快速上手。
381 2
|
9月前
|
存储 Java 大数据
分布式数据库HBase的安装部署和环境搭建的Standalone/伪集群模式
HBase是一个分布式数据库系统,能够支持高性能、高可靠性、高伸缩性的数据存储和读写操作。在大数据时代,HBase成为了一个越来越受欢迎的数据库选择。本文将介绍HBase的Standalone/伪集群模式的安装部署和环境搭建,帮助开发者快速上手。
450 1
|
11月前
|
存储 分布式计算 资源调度
使用内置zookeeper搭建Hbase集群
使用内置zookeeper搭建Hbase集群
|
11月前
|
存储 分布式计算 运维
Hbase查看集群状态
Hbase查看集群状态