zoukankan      html  css  js  c++  java
  • HBase单机和集群版部署

    1. HBase安装部署

    HBase有两种部署模式:单机版模式和集群版模式。无论哪种模式,都需要配置HBase conf目录下的文件。至少,必须在conf/hbase-env.sh文件中添加JAVA_HOME。在hbase-env.sh这个文件中,可以设置HBase的环境变量,如堆内存大小、JVM的其他配置,日志文件的存放位置等。

    注意:HBase的安装版本需要与Hadoop的版本相对应,否则会出现HBase使用不了的情况,主要体现在HBase shell操作命令非常慢,甚至出错。HBase与Hadoop的版本对应可以查看HBase官网文档https://hbase.apache.org/book.html#basic.prerequisites 第四节点basic.prerequisites介绍,如图:

    从上图可以知道hadoop-2.8.0以上的版本都不支持HBase或者存在不稳定性,故最好安装hadoop-2.7.1+或者hadoop-2.8.3+的版本,避免HBase无法使用,这里我采用hadoop-2.7.1+版本。

    HBase2.0以上的版本要求使用Jdk8以上,故这里采用Java8。

    1.1 软件配置选择

    JDK:1.8 (jdk1.8.0_151)
    Hadoop:2.7.6 (hadoop-2.7.6.tar.gz)
    HBase:2.1.2 (hbase-2.1.1-bin.tar.gz)

    1.2 服务器环境准备

    1.2.1 更改主机名

    输入 hostname 查看本机的主机名,然后输入命令 vi /etc/sysconfig/network 编辑 /etc/sysconfig/network 文件 

    注:主机名称更改之后,要重启(reboot)才会生效。

    输入 vim /etc/hosts 添加主机IP和对应的主机名称,做映射。

    注:在配置文件中使用主机名的话,这个映射必须做!

    1.2.2 关闭防火墙

    关闭防火墙,方便外部访问。
    CentOS 7版本以下输入:
    关闭防火墙
    service iptables stop
    CentOS 7 以上的版本输入:
    systemctl stop firewalld.service

    1.2.3 时间设置

    输入:
    date
    查看服务器时间是否一致,若不一致则更改
    更改时间命令

    date -s ‘MMDDhhmmYYYY.ss’

    2. HBase单机版部署

    HBase独立实例包含全部HBase的守护进程,如:Master、RegionServers以及ZooKeeper,它们运行在单个JVM里面,并持久化到本地文件系统。

    2.1 从官网下载HBase安装包,并通过Xftp5上传到单节点机器上

    目前使用的HBase版本为hbase-2.1.2-bin.tar.gz

    通过Xftp5上传到机器节点node1上的/opt/frame/目录

    2.2 解压hbase-2.1.2.tar.gz,并把解压的安装包移动到/opt/app/目录上。

    tar xzvf hbase-2.1.2-bin.tar.gz

    mv hbase-2.1.2 /opt/app

    2.3 修改配置hbase-env.sh、hbase-site.xml文件

    编辑hbase-env.sh,添加以下配置:

    export JAVA_HOME=/usr/lib/java/jdk1.8.0_181
    export HBASE_HOME=/opt/app/hbase-2.1.2
    export HBASE_CLASSPATH=/opt/app/hadoop-2.7.6/etc/hadoop
    export HBASE_PID_DIR=/opt/app/hbase-2.1.2/pids
    export HBASE_MANAGES_ZK=false

    说明:配置的路径以自己的为准,HBASE_MANAGES_ZK=false是不启用HBase自带的Zookeeper集群。

    编辑hbase-site.xml文件,添加以下配置:

    <configuration>
     <!-- 存储目录 这里的hdfs可以是单机版的-->
     <property>
      <name>hbase.rootdir</name>
      <value>hdfs://node1:9000/hbase</value>
      <description>The directory shared byregion servers.</description>
     </property>
     <property>
      <name>hbase.tmp.dir</name>
      <value>/opt/app/hbase-2.1.2/tmp</value>
     </property>
     <!-- false是单机模式,true是分布式模式  -->
     <property>
      <name>hbase.cluster.distributed</name>
      <value>false</value>
     </property>
     <!-- zk主机地址和端口采用默认的,不用配置  -->
    </configuration>

    2.4 HBase启动

    在成功启动单机版Hadoop之后,切换到HBase目录下

    cd /opt/app/hbase-2.1.2/bin

    输入:

    ./start-hbase.sh

    在浏览器输入:

    http://192.168.187.201:16010/

     显示这个界面则成功!

    3. HBase集群版部署

    3.1 从官网下载HBase安装包,并通过Xftp5上传到机器集群上

    目前使用的HBase版本为hbase-2.1.2-bin.tar.gz

    下载hbase-2.1.2-bin.tar.gz版本:

    通过Xftp5上传到hadoop机器集群的第一个节点node1上的/opt/frames/目录:

    3.2 解压hbase-2.1.2-bin.tar.gz,并把解压的安装包移动到/opt/app/目录上。

    tar zxvf hbase-2.1.2-bin.tar.gz 

    mv hbase-2.1.1 /opt/app/  && cd /opt/app/

     

    3.3 修改环境变量(每台机器都要执行)

    编辑/etc/profile,并生效环境变量,输入如下命令:

    sudo vi /etc/profile

    添加如下内容:

    export HBASE_HOME=/opt/app/hbase-2.1.2
    export PATH=:$PATH:$HBASE_HOME/bin

    使环境变量生效:source /etc/profile

    3.4 修改配置hbase-env.sh、hbase-site.xml、Regionservers文件

    进入hbase配置文件的目录,cd  /opt/app/hbase-2.1.2/conf/

    ①修改hbase-env.sh文件 vi hbase-env.sh,将以下内容写入到hbase-env.sh文件中:

    export JAVA_HOME=/usr/lib/java/jdk1.8.0_151
    # hadoop配置文件的位置
    export HBASE_CLASSPATH=/opt/app/hadoop-2.7.5/etc/hadoop
    # 如果使用独立安装的zookeeper,这个地方就是false,不使用内部的zookeeper,而是使用自己外部搭建的zookeeper集群
    export HBASE_MANAGES_ZK=true

    ②修改hbase-site.xml配置文件 vi hbase-site.xml,并将以下内容写入到hbase-site.xml文件中:

    <configuration>
    # hbasemaster的主机和端口
    <property>
    <name>hbase.master</name> 
    <value>hadoop1:60000</value>
    </property>

    # 时间同步允许的时间差
    <property>
    <name>hbase.master.maxclockskew</name>
    <value>180000</value>
    </property>

    # hbase共享目录,持久化hbase数据
    <property>
    <name>hbase.rootdir</name>
    <value>hdfs://hadoop1:9000/hbase</value>
    </property>

    # 是否分布式运行,false即为单机
    <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
    </property>

    # zookeeper地址
    <property>
    <name>hbase.zookeeper.quorum</name>
    <value>hadoop1,hadoop2,hadoop3</value>
    </property>

    # zookeeper配置信息快照的位置
    <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/home/hbase/tmp/zookeeper</value>
    </property>
    </configuration>

    ③修改Regionservers配置文件vi Regionservers,并将以下内容写入到Regionservers文件中:

    hadoop1
    hadoop2
    hadoop3

    3.5 把hadoop的hdfs-site.xml和core-site.xml放到hbase/conf下

    cp /opt/app/hadoop-2.7.6/etc/hadoop/hdfs-site.xml  /opt/app/hbase-2.1.2/conf/
    cp /opt/app/hadoop-2.7.6/etc/hadoop/core-site.xml  /opt/app/hbase-2.1.2/conf/

    3.6 发送到其他节点机器

    scp -r /opt/app/hbase-2.1.2/  hadoop@hadoop2:/opt/app/
    scp -r /opt/app/hbase-2.1.2/  hadoop@hadoop3:/opt/app/

    3.7 启动

    ①启动HBase命令:start-hbase.sh
    ②进入hbase的shell:hbase shell
    注:先启动才能进入HBase shell

    3.8 查看

    进程:jps
    退出hbase的shell:quit
    页面:http://master:60010/

    4. 总结

    参考资料:

    http://hbase.apache.org/book.html

  • 相关阅读:
    Session的使用与Session的生命周期
    Long-Polling, Websockets, SSE(Server-Sent Event), WebRTC 之间的区别与使用
    十九、详述 IntelliJ IDEA 之 添加 jar 包
    十八、IntelliJ IDEA 常用快捷键 之 Windows 版
    十七、IntelliJ IDEA 中的 Maven 项目初体验及搭建 Spring MVC 框架
    十六、详述 IntelliJ IDEA 创建 Maven 项目及设置 java 源目录的方法
    十五、详述 IntelliJ IDEA 插件的安装及使用方法
    十四、详述 IntelliJ IDEA 提交代码前的 Code Analysis 机制
    十三、IntelliJ IDEA 中的版本控制介绍(下)
    十二、IntelliJ IDEA 中的版本控制介绍(中)
  • 原文地址:https://www.cnblogs.com/swordfall/p/8819668.html
Copyright © 2011-2022 走看看