hbase集群搭建,hbase单个节点重启

1.1 hbase集群结构

这里写图片描述
REGION:是HBASE中对表进行切割的单元

HMASTER: HBASE的主节点,负责整个集群的状态感知,负载分配、负责用户表的元数据管理
(可以配置多个用来实现HA)
为regionserver分配region,负责regionserver负载均衡
用户对表的增删改查
如果当前的regionserver宕机,会把region迁移

REGION-SERVER: HBASE中真正负责管理region的服务器,也就是负责为客户端进行表数据读写的服务器
维护master给它的region
当这个region过大的情况下,他还负责切分这个过大的region
(负责客户端的IO请求,去hdfs上进行读写数据)

ZOOKEEPER: 整个HBASE中的主从节点协调,主节点之间的选举,集群节点之间的
上下线感知……都是通过zookeeper来实现
Region 存储寻址入口
监控:REGION SERVER 上下线 把这个状态告诉master
存储hbase的schema(当前哪些表,表里有哪些列族)

1.2 hbase集群搭建

(1)上传hbase安装包(上传到hadoop1,hadoop2,hadoop3这三台服务器上),上传后的位置如下:

[root@hadoop1 software]# cd /home/tuzq/software
[root@hadoop1 software]# pwd
/home/tuzq/software
[root@hadoop1 software]# ls
hbase-1.3.1-bin.tar.gz

(2)解压,并配置环境变量

[root@hadoop1 software]# tar -zxvf  hbase-1.3.1-bin.tar.gz
[root@hadoop1 software]# cd hbase-1.3.1
[root@hadoop1 hbase-1.3.1]# ll
总用量 348
drwxr-xr-x.  4 root root   4096 45 11:02 bin
-rw-r--r--.  1 root root 148959 47 09:45 CHANGES.txt
drwxr-xr-x.  2 root root   4096 45 11:02 conf
drwxr-xr-x. 12 root root   4096 47 10:35 docs
drwxr-xr-x.  7 root root   4096 47 10:26 hbase-webapps
-rw-r--r--.  1 root root    261 47 10:37 LEGAL
drwxr-xr-x.  3 root root   4096 622 11:25 lib
-rw-r--r--.  1 root root 130696 47 10:37 LICENSE.txt
-rw-r--r--.  1 root root  43258 47 10:37 NOTICE.txt
-rw-r--r--.  1 root root   1477 921 2016 README.txt
[root@hadoop1 hbase-1.3.1]# 
[root@hadoop1 hbase-1.3.1]# vim /etc/profile
#set hbase env
export HBASE_HOME=/home/tuzq/software/hbase-1.3.1
export PATH=$PATH:$HBASE_HOME/bin

[root@hadoop1 hbase-1.3.1]# source /etc/profile

(3)配置hbase集群,要修改3个文件
注意: 要把hadoop的hdfs-site.xml和core-site.xml 放到hbase/conf下

[root@hadoop1 hadoop]# pwd
/home/tuzq/software/hadoop-2.8.0/etc/hadoop
[root@hadoop1 hadoop]# cp hdfs-site.xml /home/tuzq/software/hbase-1.3.1/conf
[root@hadoop1 hadoop]# cp core-site.xml /home/tuzq/software/hbase-1.3.1/conf
[root@hadoop1 hadoop]# cd $HBASE_HOME
[root@hadoop1 conf]# ll
总用量 52
-rw-r--r--. 1 root root 1376 6月  22 11:48 core-site.xml
-rw-r--r--. 1 root root 1811 9月  21 2016 hadoop-metrics2-hbase.properties
-rw-r--r--. 1 root root 4537 11月  7 2016 hbase-env.cmd
-rw-r--r--. 1 root root 7468 11月  7 2016 hbase-env.sh
-rw-r--r--. 1 root root 2257 9月  21 2016 hbase-policy.xml
-rw-r--r--. 1 root root  934 9月  21 2016 hbase-site.xml
-rw-r--r--. 1 root root 5203 6月  22 11:48 hdfs-site.xml
-rw-r--r--. 1 root root 4722 4月   5 11:02 log4j.properties
-rw-r--r--. 1 root root   10 12月  1 2015 regionservers
[root@hadoop1 conf]#

(3.1)修改hbase-env.sh

export JAVA_HOME=/usr/local/jdk1.8.0_73
#告诉hbase使用外部的zk,HBASE不管理zookeeper集群
export HBASE_MANAGES_ZK=false
#配置hadoop的环境变量
export HADOOP_HOME=/home/tuzq/software/hadoop-2.8.0

(3.2)修改 hbase-site.xml

<configuration>
    <!-- 指定hbase在HDFS上存储的路径,让hdfs统一管理HBASE产生的数据文件,说明不是单机的hbase,是一个集群的hbase,注意这里的hdfs://mycluster是hadoop的core-site-xml里的fs.defaultFS的值,hadoopHA配置是没有端口的-->
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://mycluster/hbase</value>
    </property>

    <!--指定hbase是否分布式的-->
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    <!--指定zk的地址,多个用","分割,注意,这里只是指定zookeeper的主机名称-->
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>hadoop11,hadoop12,hadoop13</value>
    </property>
</configuration>

(3.3)修改 regionservers
通过这个告诉slave有那些台(hadoop1(Master),hadoop2,hadoop3,hadoop4,hadoop5为slave)

[root@hadoop1 conf]# vim regionservers
hadoop2
hadoop3
hadoop4
hadoop5

(3.3) 修改 backup-masters来指定备用的主节点

[root@mini1 conf]# vi backup-masters
hadoop2

(3.4) 拷贝hbase到其他节点

[root@hadoop1 software]# pwd
/home/tuzq/software
[root@hadoop1 software]# scp -r hbase-1.3.1 root@hadoop2:$PWD
[root@hadoop1 software]# scp -r hbase-1.3.1 root@hadoop3:$PWD
[root@hadoop1 software]# scp -r hbase-1.3.1 root@hadoop4:$PWD
[root@hadoop1 software]# scp -r hbase-1.3.1 root@hadoop5:$PWD

注意:修改这些机器上的storm的环境变量

(4) 将配置好的HBase拷贝到每一个节点并同步时间。
(可以用 ntpdate time.nist.gov 进行同步)

(5) 启动所有的hbase进程
首先要同步集群的时间

首先启动zk集群
    ./zkServer.sh start
启动hdfs集群
    start-dfs.sh
检验dfs是否启动了的命令是:
    hdfs dfsadmin -report
    或者访问:
    http://hadoop2:50070/explorer.html#/
    http://hadoop1:8088/cluster
启动hbase,在主节点上运行:
[root@hadoop1 bin]# pwd
/home/tuzq/software/hbase-1.3.1/bin
[root@hadoop1 bin]#./start-hbase.sh    (这里不用在其它机器上执行命令)

停止hbase的方式是:

[root@hadoop1 bin]# ./stop-hbase.sh 
stopping hbase.....................
[root@hadoop1 bin]# jps
10864 ConsoleConsumer
4624 DataNode
112387 Jps
109748 DFSZKFailoverController
10680 ConsoleConsumer
108618 ResourceManager
3981 JournalNode
108735 NodeManager
4095 NameNode
[root@hadoop1 bin]# 

(6) 通过浏览器访问hbase管理页面
192.168.1.201:60010
http://hadoop1:16010/
Ip:16010
这里写图片描述

进入hadoop-ha集群中,查看数据发现已经多出了一个hbase的文件夹
这里写图片描述

(7) 为保证集群的可靠性,要启动多个HMaster
[root@hadoop1 software]# cd $HBASE_HOME/bin
[root@hadoop1 software]# ./hbase-daemon.sh start master (这个可以到hadoop2上启动)

HBASE:
很多时候,节点失效是因为pid文件被删除引起(默认pid文件中/tmp下),所以最好把很多默认是/tmp的目录修改成自己的目录,比如hbase的pid配置可以在hbase-env.sh中,修改export HBASE_PID_DIR=/var/hadoop/pids就可以。hbase节点失效常对应60020端口异常。
进入hbase shell
1、查看节点情况:
status
当然,也可以通过web页面查看(如果服务开放的话):
http://serviceIp:60010/master.jsp
http://serviceIp:60030/regionserver.jsp

http://serviceIp:60010/zk.jsp

2、重启

$bin/hbase-daemon.sh stop regionserver
$bin/hbase-daemon.sh start regionserver

也可以添加新的master(默认只有一个master),$bin/hbase-daemon.sh start master

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: HBase伪分布式环境搭建步骤如下: 1. 安装Java环境 HBase是运行在Java环境下的,所以需要先安装Java环境。可以从官网下载Java安装包,或者使用Linux自带的OpenJDK。 2. 下载HBase 从官网下载HBase安装包,或者使用以下命令下载: ``` wget http://mirror.bit.edu.cn/apache/hbase/hbase-2.4.6/hbase-2.4.6-bin.tar.gz ``` 3. 解压HBase 使用以下命令解压HBase: ``` tar -zxvf hbase-2.4.6-bin.tar.gz ``` 4. 配置HBase 进入HBase目录,编辑conf/hbase-site.xml文件,添加以下内容: ``` <configuration> <property> <name>hbase.rootdir</name> <value>file:///home/hbase/hbase-data</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hbase/zookeeper-data</value> </property> </configuration> ``` 其中,hbase.rootdir指定HBase数据存储目录,hbase.zookeeper.property.dataDir指定Zookeeper数据存储目录。 5. HBase 进入HBase目录,使用以下命令HBase: ``` ./bin/start-hbase.sh ``` 动后,可以使用以下命令查看HBase状态: ``` ./bin/hbase shell status ``` 6. 停止HBase 使用以下命令停止HBase: ``` ./bin/stop-hbase.sh ``` 注意:以上步骤是在伪分布式环境下搭建HBase,如果要在分布式环境下搭建HBase,则需要在多台机器上安装HBase,并在配置文件中指定各自的角色和IP地址。 ### 回答2: HBase是一个分布式的、面向列的NoSQL数据库,搭建HBase的伪分布式环境可以在单个节点上模拟出分布式集群的效果,方便进行开发和测试。 首先,我们需要确保安装好了Hadoop集群,因为HBase是构建在Hadoop之上的。接下来,我们可以按照以下步骤搭建HBase的伪分布式环境: 1. 下载HBase:在官方网站上下载HBase的安装包,并解压到你希望的安装目录下。 2. 配置HBase:打开HBase的配置文件hbase-site.xml,修改以下几个参数: - hbase.rootdir:设置HDFS中存储HBase数据的根目录,例如:hdfs://localhost:9000/hbase - hbase.zookeeper.property.dataDir:设置ZooKeeper的本地目录,例如:/home/hadoop/hbase/zookeeper - hbase.cluster.distributed:设置为true,表示以分布式模式运行HBase 3. 配置Hadoop:打开Hadoop的配置文件core-site.xml,修改以下参数: - fs.defaultFS:设置为HDFS的地址,例如:hdfs://localhost:9000 4. 动Hadoop集群:通过动Hadoop的sbin目录下的start-all.sh脚本,动Hadoop集群。 5. HBase集群:在HBase的安装目录下,执行bin/start-hbase.sh脚本,HBase集群。 6. 验证:可以通过访问HBase自带的Web界面,在浏览器中输入http://localhost:16010,查看HBase的状态和管理界面。如果能正常访问,说明HBase的伪分布式环境搭建成功。 在这个伪分布式环境中,HBase会在本地运行一个ZooKeeper实例,用于管理HBase的协调和管理器。同时,HBase会将数据存储在HDFS上,实现数据的分布式存储和处理。 总之,利用上述步骤,我们可以在单个节点搭建HBase的伪分布式环境,方便进行开发、测试和学习。 ### 回答3: 为了在educoder上搭建HBase伪分布式环境,我们需要按照以下步骤进行操作。 步骤一:安装Hadoop 首先,我们需要在系统上安装Hadoop。可以从Apache官网下载Hadoop的压缩包,然后解压到指定的目录。在解压后的目录中,进行一些必要的配置,例如设置环境变量和修改配置文件等。然后,动Hadoop集群。 步骤二:安装HBase 在安装HBase之前,我们还需要确保系统上已经安装了Java和Hadoop。同样地,我们可以从Apache官网下载HBase的压缩包,并解压到指定的目录。然后,进行一些必要的配置,例如设置环境变量和修改配置文件等。接下来,HBase服务。 步骤三:创建HBase表 在HBase中创建表之前,我们需要先使用HBase的命令行工具进行连接。然后,使用HBase的API或命令行工具创建表,指定表的名称和列簇等。可以通过shell命令或编程方式添加和查询数据。 步骤四:验证功能 在搭建HBase伪分布式环境并创建表后,我们可以通过HBase的命令行工具或编程方式验证其功能。例如,可以使用HBase shell命令进行数据的添加、查询、更新和删除等操作,也可以使用HBase的API进行编程实现。 通过以上步骤,我们就可以在educoder上搭建HBase伪分布式环境,并且能够进行一些基本的操作和验证功能。当然,在实际应用中,我们还可以进一步配置和优化HBase,以提高系统的性能和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

涂作权的博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值