• HBase环境搭建随笔


    HBase随笔:
    --------------
    1、HBase数据存放在hdfs集群中,是一个大表,写操作使用MapReduce处理,将(增删改)处理结果放入HBase中,读就直接读HBase,
    HBase的并发量在1000左右,常用的关系型数据库MySql的并发量在300到500之间,原因在于HBase启用了缓存技术.HBase中的块的单位是64k,
    每次读取数据以块为单位加载数据到内存中,加载到内存中的数据形同一个散列表,散列表以Key-Value的键值对方式存储,HDFS中存储的数据
    收到HBase的元数据管理,这种管理方式与Hive雷同,即HBase通过Zookeeper集群管理元数据,通过HDFS集群管理业务数据

    2、数据存储以Region作为单位(行的集合),一个Region的默认大小为128M

    3、因为HBase是基于键值对(读时以块为单位读)的一个NOSQL数据库,Redis的读写纯粹是基于键值对,Redis的并发量在十万左右,并发能力高,
    但没有副本机制,数据容易丢失,而HBase基于HDFS集群,具有副本机制,数据安全度高

    4、使用关联评估算法(属于机器学习)

    HBase架构原理
    -------------
    1、客户端链接zookeeper集群,申请写数据
    2、zookeeper返回一个地址列表给客户端
    3、客户端根据地址列表链接slave节点写数据,并反馈状态
    ------------slave节点会主动上报存储状态及工况信息到master
    ------------master则主动将元数据上报zookeeper集群
    4、客户端告知zookeeper记录和状态

    HBase集群搭建与基础运维操作
    --------------------------
    A、安装HBase集群
    ---------------
    A1、解压安装包
    [hadoop@master01 install]$ tar -zxcf hbase-1.2.6-bin.tar.gz -C /software/

    A2、系统配置环境变量
    #配置/etc/profile
    [hadoop@master01 software]$ su -lc "vi /etc/profile"
    JAVA_HOME=/software/jdk1.7.0_79
    HADOOP_HOME=/software/hadoop-2.7.3
    HBASE_HOME=/software/hbase-1.2.6
    PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/lib:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin
    export PATH JAVA_HOME HADOOP_HOME HBASE_HOME

    #分发系统配置文件
    [hadoop@master01 software]$ su -lc "scp -r /etc/profile slaver03:/etc/"
    [hadoop@slaver03 software]$ source /etc/profile

    配置HBase集群文件
    -----------------
    [hadoop@master01 software]$ cd hbase-1.2.6/conf/
    [hadoop@master01 conf]$ vi hbase-env.sh
    --------
    29 export JAVA_HOME=/software/jdk1.7.0_79
    132 export HBASE_MANAGES_ZK=false
    --------
    [hadoop@master01 conf]$ vi hbase-site.xml
    指定
    <configuration>
    <property>
    <name>hbase.rootdir</name>
    <value>hdfs://ns1/userase</value>
    </property>

    指定HBase为分布式
    <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
    </property>
    指定zookeeper集群节点
    <property>
    <name>hbase.zookeeper.quorum</name>
    <value>slaver01:2181,slaver02:2181,slaver03:2181</value>
    </property>
    </configuration>

    指定HBase从节点:
    [hadoop@master01 conf]$ vi regionservers
    [hadoop@master01 conf]$ cat regionservers
    slaver01
    slaver02
    slaver03

    #将hbase安装环境拷贝到三个从节点上:
    [hadoop@master01 software]$ scp -r hbase-1.2.6/ slaver01:/software/
    #将hdfs的配置文件放到hbase安装目录下的conf路径下(每个节点都要操作);
    [hadoop@master01 software]$ cp -a /software/hadoop-2.7.3/etc/hadoop/{core-site.xml,hdfs-site.xml} /software/hbase-1.2.6/conf/

    B、启动zookeeper集群:
    [hadoop@slaver01 software]$ cd zookeeper-3.4.10/bin/ && ./zkServer.sh start
    C、启动HDFS集群:
    [hadoop@master01 software]$ start-dfs.sh
    D、启动HBase:
    [hadoop@master01 software]$ start-hbase.sh
    在master02上启动HBase:
    [hadoop@master02 software]$ hbase-daemon.sh start master
    手动启动slaver节点上的 regionserver进程:
    [hadoop@slaver01 software]$ hbase-daemon.sh start regionserver
    E、在终端查看:
    http://master01:16010/

  • 相关阅读:
    【LeetCode OJ】Remove Element
    【LeetCode OJ】Remove Duplicates from Sorted Array
    【LeetCode OJ】Swap Nodes in Pairs
    【LeetCode OJ】Merge Two Sorted Lists
    【LeetCode OJ】Remove Nth Node From End of List
    【LeetCode OJ】Two Sum
    【LeetCode OJ】Majority Element
    最长公共子序列问题
    php fopen与file_get_contents的区别
    PHP 技巧集合
  • 原文地址:https://www.cnblogs.com/pandazhao/p/8125134.html
Copyright © 2020-2023  润新知