hbase集群部署

本文介绍了HBase的分布式部署步骤,包括配置hosts和hostname、Linux SSH互信、部署Hadoop以及部署HBase。详细讲解了HDFS和HBase的相关配置,如dfs.name.dir、dfs.data.dir、masters和slaves等,并提供了部署后的测试方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

hbase部署分为单机、伪分布式、分布式三种

应用于生产环境的是分布式方式,部署分布式参照以下步骤:

1、配置hostshostname

   假设三台服务器,ip如下:

   192.168.1.1

   192.168.1.2

   192.168.1.3

 

   三台服务器的/etc/hosts内容修改如下:

   192.168.1.1 Master

   192.168.1.2 Slave1

   192.168.1.3 Slave2

   192.168.1.1 namenode

   192.168.1.2 datanode1

   192.168.1.3 datanode2

 

   192.168.1.1服务器的/etc/sysconfig/networkhostname修改为Master

   192.168.1.2服务器的/etc/sysconfig/networkhostname修改为Slave1

   192.168.1.3服务器的/etc/sysconfig/networkhostname修改为Slave2   

    

   修改后重启服务器

 

2、配置linux ssh互信

   在三台服务器上分别生成公钥,将公钥内容合并到authorized_key,保证每台机器都有一个合并后的authorized_key,生成公钥时三台服务器使用的账户需要一致,且该用户需要具有hadoophbase安装目录操作权限和authorized_key操作权限,步骤如下:

  

   登陆192.168.1.1

   ssh-keygen -t rsa

   cd ~/.ssh

   cat id_rsa.pub >> authorized_key

   scp authorized_key 192.168.1.2:~/.ssh

   进入192.168.1.2重复以上步骤后进入192.168.1.3重复以上步骤

   将192.168.1.3authorized_key覆盖192.168.1.1192.168.1.2authorized_key

   三台服务器互相ssh登陆不需要密码验证即可

    

3、部署hadoop

   进入hadoop/conf,修改hdfs-site.xml,类似如下:

   

   dfs.name.dirname数据存储目录

   dfs.data.dirdata数据存储目录

   dfs.replication为冗余备份数量,需要小于Slave数量

 

   修改hadoop-env.sh,如下:

   

   设置为服务器jdk安装路径,去掉前面的#

    

   修改core-site.xml,如下:

    

fs.default.namenamenode地址及端口号

hadoop.tmp.dirhadoop临时文件目录

 

masters修改为:

 

    

slaves修改为:

 

 

   

   配置完成后将hadoop通过scp传到Slave节点,启动hdfshbase不需要启动整个hadoop,执行Master节点的bin/start-dfs.shjps看到Master服务器有NameNodeSecondaryNameNodeSlave服务器有DataNode即为部署成功

   部署后需要在Master服务器执行./hadoop namenode -format

   部署后需要在MasterSlave服务器执行./hadoop dfsadmin -safemode leave,

   

   简单测试:

   ./hadoop fs -mkdir /yibao 

   ./hadoop fs -put test.txt /yibao 

   在三台服务器执行./hadoop fs -ls /yibao都能看到test.txt即可

   

 

4、部署hbase

   分布式环境需要zookeeper支持,hbase自带zookeeper,可是直接使用,也可以使用独立的zookeeper,配置conf/hbase-env.shexport HBASE_MANAGES_ZK=true为使用hbase自带的zookeeperfalse为使用独立zookeeper,启动hbasejps,自带zookeeper显示为HQuorumPeer,独立zookeeperHQuorumPeerMain

   这里使用hbase自带zookeeper部署

   修改配置文件,conf/hbase-en.sh

   

   修改为本机jdk目录

   

   修改conf/hbase-site.xml

   

   hbase.rootdirhdfs地址及端口

   hbase.masterMaster服务器地址及端口

   hbase.zookeeper.quorum为集群中各节点ip

    

   修改regionservers

   

   各节点ip

    

   将hadoophadoop-corejar包替换到hbase/lib中,删除原hbase/libhadoop-corejar

   

   配置完成后通过scphbase传到Slave节点,执行Master节点的bin/start-hbase启动hbasejspMasterHMasterHRegionServer即为成功,Slave节点有HRegionServer,另外可以通过http://Master:60010/查看hbase状态

 

   简单测试:

   ./hbase shell

   list查看所有表

   create ‘yibao’,’usr’ 建表

   不报错即为成功 

 

### HBase 集群全分布模式部署教程 #### 1. 环境准备 在开始部署之前,需确保所有节点已正确安装并配置好 Java 和 Hadoop。此外,还需确认 ZooKeeper 已经正常运行。 - **Java 安装**: 所有节点都需要安装 JDK 并设置 `JAVA_HOME` 环境变量[^5]。 - **Hadoop 配置**: HBase 使用 HDFS 存储数据,因此需要一个已经配置好的 Hadoop 分布式集群[^1]。 - **ZooKeeper 运行**: HBase 的元数据管理依赖于 ZooKeeper,建议单独搭建一个独立的 ZooKeeper 集群[^2]。 #### 2. 下载与解压 HBase 下载适合版本的 HBase 软件包,并将其解压到目标目录。例如: ```bash tar -zxvf hbase-x.x.x-bin.tar.gz -C /opt/ ``` 编辑环境变量 `/etc/profile` 文件以添加 HBase 的路径: ```bash export HBASE_HOME=/opt/hbase-x.x.x export PATH=$PATH:$HBASE_HOME/bin source /etc/profile ``` 上述命令会将 HBase 添加至全局可执行路径中[^4]。 #### 3. 修改核心配置文件 (hbase-site.xml) 以下是几个重要参数及其说明: - **hbase.rootdir** 设置 HBase 数据存储的位置,通常是 HDFS 上的一个路径。例如: ```xml <property> <name>hbase.rootdir</name> <value>hdfs://namenode:8020/hbase</value> </property> ``` - **hbase.cluster.distributed** 将该属性设为 true 表明启用分布式模式: ```xml <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> ``` - **hbase.zookeeper.quorum** 列出所有参与的 ZooKeeper 主机名称或 IP 地址,用逗号分隔: ```xml <property> <name>hbase.zookeeper.quorum</name> <value>zk-node1,zk-node2,zk-node3</value> </property> ``` - **hbase.zookeeper.property.clientPort** 指定 ZooKeeper 客户端连接端口号,默认为 2181: ```xml <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> </property> ``` 更多高级选项可根据实际需求调整[^3]。 #### 4. 编辑 regionservers 文件 在 `$HBASE_HOME/conf/regionservers` 中列出所有的 RegionServer 节点主机名或 IP 地址,每台服务器占一行。例如: ``` node1 node2 node3 ``` 这一步定义了哪些机器会被当作 RegionServers 来分配表分区[^3]。 #### 5. 启动 HBase 集群 完成以上配置之后,在 Master 节点上依次启动 HBase 及其组件: ```bash start-hbase.sh ``` 可以通过浏览器访问 Web UI 页面验证状态 (`http://<master-ip>:60010`) 或者通过 shell 命令检查服务是否成功启动[^4]。 --- ### 注意事项 - 如果遇到权限问题,请确保 HDFS 目录拥有正确的读写权限。 - 对于生产环境推荐使用外部 ZooKeeper 实例而非内置实例来提高可靠性[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值