HBase学习笔记之HBase的安装和配置


我是为了调研和验证hbase的bulkload功能,才安装hbase,学习hbase的。为了快速的验证bulkload功能,我安装了一个节点的hadoop集群和一个节点的hbase。安装过程如下。

1、简介

2、安装环境准备

3、具体安装过程

1、简介

=========

hbase是hadoop生态系统中的一个软件,是基于hadoop的数据库软件。

2、安装环境准备

===============

hbase安装之前必须安装hadoop,所以在安装hbase之前必须先安装hadoop。

vm:vmware player 6.0.7

os:centos6.10

jdk:1.8.0_45

hadoop:apache hadoop-2.7.5.tar.gz

hbase: apache hbase-1.0.1.1-bin.tar.gz

2.0 安装环境准备

----------------------------

这里写一下centos安装之后的环境设置,主要包括:(1)修改主机名为master和hosts文件中的host-ip映射关系(ip master),(2)ssh免密登录,(3)jdk安装

这几步都很简单,就略了。

2.1 hadoop单节点安装过程

-------------------------------------

hadoop的安装过程略微复杂,这里简略的概述一下,详细过程,请参考参考资料1.

下载到的hadoop二进制包是hadoop-2.7.5.tar.gz。

(1)解压到/usr/local/bigdata下,bigdata是一个特意创建的目录,用来存放大数据相关软件的安装目录

tar -xzf hadoop-2.7.5.tar.gz -C /usr/local/bigdata/

然后配置一下环境变量/etc/profile:

#hadoop
export HADOOP_HOME=/usr/local/bigdata/hadoop/hadoop-2.7.5
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

之后source /etc/profile,让环境变量起效。

(2)修改hadoop的配置文件,配置文件位于hadoop安装目录下的etc/hadoop中,主要涉及的配置文件如

文件名称 格式       功能描述                
hadoopenv.sh     shell脚本   这个脚本是hadoop启动的时候执行的,用来为hadoop的执行准备执行环境,其中主要是一些环境变量的设置
core-site.xml   xml文档   是hadoop core的配置项,其中可以设置hdfs的uri地址,hadoop的tmp目录等
hdfs-site.xml   xml文档 是hdfs的主要配置文件,其中可以配置hdfs的name node存放元数据的目录,hdfs的data node存放数据的目录,hdfs存放的数据副本个数
yarn-site.xml xml文档 yarn的主要配置文件,yarn的  ResourceManager和NodeManager的配置项                                                              
mapred-site.xml xml文档   mapreduce的主要配置文件,其中可以配置mapreduce需要用的资源调度框架
slaves           plain text 其中记录了作为slave的机器的主机名或者ip地址 

(3)格式化

hdfs namenode -format

(4)启动hadoop

start-dfs.sh && start-yarn.sh

(5)验证启动是否成功

hdfs dfs -ls /

3、hbase安装

============

(1)下载、解压

-------------------------

tar -xzf hbase-1.0.1.1-bin.tar.gz  -C  /usr/local/bigdata/hbase/

然后配置一下环境变量/etc/profile:

#hbase
export HBASE_HOME=/usr/local/bigdata/hbase/hbase-1.0.1.1
export PATH=$PATH:$HBASE_HOME/bin

之后source /etc/profile,让环境变量起效。

(2)配置

---------------------

hbase-env.sh文件是为hbase准备运行环境的shell脚本,在其中修改两个配置项:

export JAVA_HOME=/usr/local/jdk1.8.0_45 #这个配置项设置jdk的安装位置

export HBASE_MANAGES_ZK=true   #这个配置项表示用hbase自己管理zookeeper,就是使用hbase自带的zookeeper运行hbase,因为hbase运行的时候需要zookeeper,一般hbase自己带了一个zookeeper,当然也可以独立安装一个zookeeper,这时候要把这个配置项的值设置为false

regionservers文件内容修改为安装的主机的名字:master

hbase-site.xml是hbase的主配置文件,将其内容修改为:

<configuration>
        <property>
                        <name>hbase.rootdir</name>
                        <value>hdfs://master:9000/hbase</value>               <description>hbase在hdfs上存储数据的目录</description>
        </property>
        <property>
                        <name>hbase.cluster.distributed</name>
                        <value>true</value>                  <description>表示hbase是分布式的,而不是standalone模式</description>        </property>        <!--下面是hbase的reginonserver进程的两个端口,特意设置这两个端口是有复杂的原因的,具体可以看参考资料2-->
        <property>
                        <name>hbase.regionserver.port</name>
                        <value>16040</value>
        </property>
        <property>
                        <name>hbase.regionserver.info.port</name>
                        <value>16041</value>
        </property>
</configuration>

(3)hbase启动和验证

---------------------------------

执行start-hbase.sh启动hbase

jps查看启动进程,看到红色的三个进程表示启动成功了:

[root@master conf]# jps
5537 HMaster
5474 HQuorumPeer
4677 SecondaryNameNode
4933 NodeManager
5670 HRegionServer
4489 DataNode
4379 NameNode
9275 Jps
4830 ResourceManager
[root@master conf]#

执行hbase shell,进入hbase的shell环境:

[root@master conf]# hbase shell
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/bigdata/hbase/hbase-1.0.1.1/lib/slf4j-log4j12-1.7.7.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/bigdata/hadoop/hadoop-2.7.5/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 1.0.1.1, re1dbf4df30d214fca14908df71d038081577ea46, Sun May 17 12:34:26 PDT 2015

hbase(main):001:0>

这样就安装完成了。

参考资料:

0、https://www.cnblogs.com/oraclestudy/articles/5665780.html,这是hbase的介绍,直接看看的不明白,看个大概,等安装完成,试用了hbase之后,再回过头来看,就能看明白了,然后再根据这篇文章的理解,做些实验。

1、《hadoop海量数据处理 技术详解与项目实战 第2版》第二章,hadoop的安装,hbase的安装都详细参考这个资料。

2、https://blog.csdn.net/h12kjgj/article/details/78669244,这篇文章说了hbase的端口冲突问题,也说了为什么端口冲突,很好的解决了hmaster和hregionserver的端口冲突问题

3、http://www.cnblogs.com/nexiyi/p/hbase_intro_94.html,这篇也是详细说明hbase的,配合0,可以详细学习hbase

HBase学习笔记之HBase的安装和配置的更多相关文章

  1. HBase学习笔记之HBase原理和Shell使用

    HBase学习指南之HBase原理和Shell使用 参考资料: 1.https://www.cnblogs.com/nexiyi/p/hbase_shell.html,hbase shell

  2. [原创]HBase学习笔记(1)-安装和部署

    HBase安装和部署 使用的HBase版本是1.2.4 1.安装步骤(默认hdfs已安装好) # 下载并解压安装包 cd tools/ tar -zxf hbase-1.2.4-bin.tar.gz ...

  3. Git学习笔记(1)——安装,配置,创建库,文件添加到库

    初次接触git,为了记忆深刻,把学习的简单流程记录下来. 本文记录了Git在Ubuntu上的安装,配置,以及创建版本库和往库中添加文件的过程. 1.Git的安装:(Ubuntu-Linux非常友好的安 ...

  4. HBase学习笔记2 - HBase shell常用命令

    转载请标注原链接:http://www.cnblogs.com/xczyd/p/6639397.html 扫表的时候限定行数 scan } 即为扫表的时候,限定只输出五条数据 ============ ...

  5. Appium学习笔记(一)--安装与配置

    移动自动化测试常用工具有两个:Appium和Robotium.正好最近自己开始负责客户端的工作,初来乍到需要熟悉下环境,正好学习新的东西. 移动自动化相对web来说,原理与操作过程是一样的,通过自动化 ...

  6. ElasticSearch学习笔记-01 简介、安装、配置与核心概念

    一.简介 ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便.支持通过HTTP使用JSON进 ...

  7. Vue 新手学习笔记:vue-element-admin 之安装,配置及入门开发

    所属专栏: Vue 开发学习进步 说实话都是逼出来的,对于前端没干过ES6都不会的人,vue视频也就看了基础的一些但没办法,接下来做微服务架构,前端就用 vue,这块你负责....说多了都是泪,脚手架 ...

  8. Zabbix学习笔记一:基本安装与配置

    1.下载安装 http://120.52.73.43/tenet.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.1/za ...

  9. Nagios学习笔记一:基本安装和配置

    ()解决安装Nagios的依赖关系: Nagios基本组件的运行依赖于httpd.gcc和gd.可以通过以下命令来检查nagios所依赖的rpm包是否已经完全安装: # yum -y install ...

随机推荐

  1. 18 SpringMVC 文件上传和异常处理

    1.文件上传的必要前提 (1)form 表单的 enctype 取值必须是:multipart/form-data(默认值是:application/x-www-form-urlencoded) en ...

  2. 长乐国庆集训Day5

    T1 方阵 题目 [题目描述] 小澳最近迷上了考古,他发现秦始皇的兵马俑布局十分有特点,热爱钻研的小澳打算在电脑上还原这个伟大的布局. 他努力钻研,发现秦始皇布置兵马俑是有一定规律的.兵马俑阵总共有n ...

  3. Python中的sync和wait函数的使用

    转自这篇博文,备忘: https://blog.csdn.net/Likianta/article/details/90123678 https://www.cnblogs.com/xinghun85 ...

  4. C语言-MySQL单表查询(vs2013环境)

    一.首先配置项目属性: 1.打开mysql的安装路径,找到include文件夹和lib文件夹 如图: 2.在vs2013中, 打开项目–> 属性 –>VC++目录 如图: 把将nclude ...

  5. Python进阶(十五)----面向对象之~继承(单继承,多继承MRO算法)

    Python进阶(十五)----面向对象之~继承 一丶面向对象的三大特性:封装,继承,多态 二丶什么是继承 # 什么是继承 # b 继承 a ,b是a的子类 派生类 , a是b的超类 基类 父类 # ...

  6. Jboss部署SpringBoot2 JPA

    Jboss部署SpringBoot2 JPA 目录结构 . └── webapp └── META-INF ├── jboss-deployment-structure.xml └── jboss-w ...

  7. vue 利用v-model实现父子组件数据双向绑定

    v-model父组件写法: v-model子组件写法: 子组件export default中的model:{}里面两个值,prop代表着我要和props的那个变量相对应,event表示着事件,我触发事 ...

  8. 浅谈JS中 var let const 变量声明

    浅谈JS中 var let const 变量声明 用var来声明变量会出现的问题: 1. 允许重复的变量声明:导致数据被覆盖 2. 变量提升:怪异的数据访问.闭包问题 3. 全局变量挂载到全局对象:全 ...

  9. jsonpath_rw操作json

    from jsonpath_rw import parse def get_key_from_data(key,data): # 定义匹配规则 json_expr=parse(key) result= ...

  10. 处理vue-quill-editor回显数据的时候没有空格问题

    这是我要实现的效果 这是我回显后的情况(可以看见空格都没有了) 处理后 处理方法  添加一个class="ql-editor" <quill-editor class=&qu ...