企业级HBase搭建

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Moneywa/article/details/53876832
三台主机:namenode-a1(master1)、namenode-a2(master2) 、datanode-a(rengionserver)

一、配置最大打开文件数、进程数
  1. 查看:$ ulimit -a
  2. 使用root用户编辑配置文件:vim /etc/security/limits.conf  写入以下内容:

root     soft     nproc     50000
root     hard      nproc     50000
root     soft     nofile     25535
root     hard     nofile     25535
hadoop     soft     nproc     50000
hadoop     soft     nofile     25535
hadoop     hard     nofile     25535

二、配置系统内核参数
  1. [root@namenode-a1 ~]# vim /etc/sysctl.conf
  2. 加入以下内容: 

net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.core_users_pid = 1
net.ipv4.tcp_syncookies = 1
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
kernel.msgmnb = 65536
kernel.msgmax = 65536

  1. 使配置生效:sysctl -p

三、安装hbase
  1. 解压到 /opt/ 下,建立软连接,将拥有人给hadoop用户
[root@namenode-a1 opt]# tar zxvf hbase-0.98.23-hadoop2-bin.tar.gz
[root@namenode-a1 opt]# ln -s hbase-0.98.23-hadoop2 hbase
[root@namenode-a1 opt]# chown -R hadoop:hadoop hbase
[root@namenode-a1 opt]# chown -R hadoop:hadoop hbase-0.98.23-hadoop2

  1. 编辑 /opt/hbase/conf/hbase-env.sh 文件,添加以下内容:
export JAVA_HOME=/usr/java/jdk1.7.0_79
export HBASE_HEAPSIZE=1024     #设置内存大小
export HBASE_MASTER_OPTS="-Xmx512m"
export HBASE_RENGIONSERVER_OPTS="Xmx512m"
export HBASE_LOG_DIR=${HBASE_HOME}/logs
export HBASE_PID_DIR=/opt/hbase/pids
export HBASE_MANAGES_ZK=true          #使用独立的zookeeper

  1. 编辑 /opt/hbase/conf/hbase-site.xml 文件,配置如下:
<configuration>
     <property>
         <name>hbase.master.distributed.log.splitting</name>
         <value>false</value>
     </property>
    <property>
        <name>hbase.rootdir</name>
          #与hadoop中配置一致
        <value>hdfs://educluster/hbase</value>
    </property>
    <property>
        <name>hbase.cluster.distributed</name>
          #使用分布式模式
        <value>true</value>
    </property>
    <property>
        <name>hbase.master.port</name>
        <value>60000</value>
    </property>
     #设置zookeeper集群列表
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>namenode-a1,namenode-a2,datanode-a</value>
    </property>
    <property>
        <name>hbase.zookeeper.property.datadir</name>
          #与zookeeper中配置一致
        <value>/opt/hadoopdata/zookeeperdata</value>
    </property>
    <property>
        <name>hbase.client.scanner.caching</name>
        <value>2000</value>
    </property>
    <property>
        <name>hbase.hregion.max.filesize</name>
        <value>10737418240</value>
    </property>
    <property>
        <name>hbase.regionserver.regionSplitLimit</name>
        <value>2000</value>
    </property>
    <property>
        <name>hbase.hstore.compactionThreshold</name>
        <value>6</value>
    </property>
    <property>
        <name>hbase.hstore.blockingStoreFiles</name>
        <value>14</value>
    </property>
    <property>
        <name>hbase.hregion.memstore.block.multipliter</name>
        <value>20</value>
    </property>
    <property>
        <name>hbase.server.thread.wakefrequency</name>
        <value>500</value>
    </property>
     #zookeeper最大连接数
    <property>
        <name>hbase.zookeeper.property.maxClientCnxns</name>
        <value>2000</value>
    </property>
    <property>
        <name>hbase.regionserver.global.memstore.lowerLimit</name>
        <value>0.3</value>
    </property>
    <property>
        <name>hbase.regionserver.global.memstore.upperLimit</name>
        <value>0.39</value>
    </property>
    <property>
        <name>hfile.block.cache.size</name>
        <value>0.4</value>
    </property>
    <property>
        <name>hbase.regionserver.handler.count</name>
    <value>300</value>
    <property>
        <name>hbase.client.retries.number</name>
        <value>5</value>
    </property>
    <property>
        <name>hbase.client.pause</name>
        <value>100</value>
    </property>



  1. 配置regionservers,
    [hadoop@namenode-a1 ~]$ vim /opt/hbase/conf/regionservers
          将内容改为 datanode-a,即提供该服务的主机。

  1. 将 hdfs-site.xml 文件拷贝到 、hbase/conf 下
    [hadoop@namenode-a1 ~]$ cp /opt/hadoop/etc/hadoop/hdfs-site.xml /opt/hbase/conf/

  1. 创建文件,并写入内容:namenode-a2
          [hadoop@namenode-a1 conf]$ vim backup-masters

  1. 配置环境变量:
    [hadoop@namenode-a1 conf]$ vim ~/.bash_profile
          加入以下内容:
export HBASE_HOME=/opt/hbase
export PATH=$PATH:$HBASE_HOME/bin
          然后使其生效:[hadoop@namenode-a1 conf]$ source ~/.bash_profile

  1. 确保三台主机的时间相差不要超过10秒
  2. 将hbase 复制到另外两个主机中
[hadoop@namenode-a1 opt]$ su -
[root@localhost ~]# cd /opt/
[root@localhost opt]# scp -r hbase-0.98.23-hadoop2 namenode-a2:/opt/
[root@localhost opt]# scp -r hbase-0.98.23-hadoop2 datanode-a:/opt/

  1. 在另外两个主机中执行以下命令,建立软连接、更改权限、并修改环境变量
[root@localhost opt]# ln -s hbase-0.98.23-hadoop2 hbase
[root@localhost opt]# chown -R hadoop:hadoop hbase
[root@localhost opt]# chown -R hadoop:hadoop hbase-0.98.23-hadoop2
[root@localhost opt]# su - hadoop
[hadoop@localhost ~]$ vim ~/.bash_profile
[hadoop@localhost ~]$ source ~/.bash_profile

启动过程:
  1. 启动三个主机的 zookeeper
  2. namenode1上,启动 dfs:start-dfs.sh 启动hbase:start-hbase.sh
  3. 访问链接:http://namenode-a1:60010/和http://namenode-a1:60010/ 查看运行情况



猜你喜欢

转载自blog.csdn.net/Moneywa/article/details/53876832