HBase集群在Ubuntu上怎么搭建
导读:HBase集群在Ubuntu上的搭建步骤(以3节点为例) 1. 准备工作 系统要求:Ubuntu 20.04及以上(建议),每节点至少4核CPU、8GB内存、100GB存储、千兆网络。 软件依赖:JDK 1.8+(sudo apt ins...
HBase集群在Ubuntu上的搭建步骤(以3节点为例)
1. 准备工作
- 系统要求:Ubuntu 20.04及以上(建议),每节点至少4核CPU、8GB内存、100GB存储、千兆网络。
- 软件依赖:JDK 1.8+(
sudo apt install openjdk-8-jdk -y
)、SSH(sudo apt install ssh -y
)、Hadoop集群(可选,若使用HDFS存储)、Zookeeper集群(可选,若使用外部ZK)。 - 环境检查:确认Java版本(
java -version
)、SSH连通性(ssh localhost
能免密登录)。
2. 下载并解压HBase
- 在主节点(如
master
)下载HBase(选择稳定版本,如2.4.10):
wget https://archive.apache.org/dist/hbase/2.4.10/hbase-2.4.10-bin.tar.gz
- 解压至
/usr/local
并重命名:
tar -zxvf hbase-2.4.10-bin.tar.gz & & sudo mv hbase-2.4.10 /usr/local/hbase
- 分发到所有RegionServer节点(
slave1
、slave2
):
scp -r /usr/local/hbase/ user@slave1:/usr/local/ & & scp -r /usr/local/hbase/ user@slave2:/usr/local/
3. 配置环境变量
- 编辑主节点的
~/.bashrc
(或/etc/profile
),添加以下内容:export HBASE_HOME=/usr/local/hbase export PATH=$PATH:$HBASE_HOME/bin export HBASE_LOG_DIR=/usr/local/hbase/logs # 日志目录(可选)
- 生效配置:
source ~/.bashrc
,并验证hbase version
能正确输出版本信息。
4. 配置HBase核心文件
hbase-env.sh
($HBASE_HOME/conf/
):
取消以下注释并修改(若使用外部ZK,需设置HBASE_MANAGES_ZK=false
):export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 # 实际JDK路径 export HBASE_MANAGES_ZK=true # 使用HBase内置ZK(默认) export HBASE_LOG_DIR=/usr/local/hbase/logs # 日志目录
hbase-site.xml
($HBASE_HOME/conf/
):
添加以下核心配置(根据是否使用HDFS调整hbase.rootdir
):< configuration> < !-- 分布式模式 --> < property> < name> hbase.cluster.distributed< /name> < value> true< /value> < /property> < !-- HDFS存储路径(若使用HDFS) --> < property> < name> hbase.rootdir< /name> < value> hdfs://master:9000/hbase< /value> # 需与Hadoop的fs.defaultFS一致 < /property> < !-- Zookeeper集群地址(若使用外部ZK) --> < property> < name> hbase.zookeeper.quorum< /name> < value> master,slave1,slave2< /value> < /property> < !-- Zookeeper数据目录 --> < property> < name> hbase.zookeeper.property.dataDir< /name> < value> /usr/local/hbase/zk< /value> < /property> < !-- 关闭HDFS追加支持(若HDFS未开启sync) --> < property> < name> dfs.support.append< /name> < value> true< /value> < /property> < /configuration>
regionservers
($HBASE_HOME/conf/
):
列出所有RegionServer节点(每行一个IP或主机名):slave1 slave2
5. 配置SSH免密登录(可选但推荐)
- 在主节点生成SSH密钥:
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
- 将公钥复制到所有节点(包括主节点自身):
ssh-copy-id user@master & & ssh-copy-id user@slave1 & & ssh-copy-id user@slave2
- 测试免密登录:
ssh user@slave1
(无需输入密码)。
6. 启动HBase集群
- 启动顺序:先启动Hadoop集群(
start-dfs.sh
、start-yarn.sh
,若使用HDFS),再启动Zookeeper集群(zkServer.sh start
,若使用外部ZK),最后启动HBase:
start-hbase.sh
- 验证启动状态:
- 查看HBase进程:
jps
(主节点应有HMaster
,RegionServer节点应有HRegionServer
)。 - 访问Web UI:
http://master:16010
(默认端口16010,需确保防火墙开放)。
- 查看HBase进程:
7. 测试集群功能
- 进入HBase Shell:
hbase shell
- 创建表:
create 'test_table', 'cf'
(表名test_table
,列族cf
)。 - 插入数据:
put 'test_table', 'row1', 'cf:col1', 'value1'
。 - 查询数据:
get 'test_table', 'row1'
(查看row1
的数据),scan 'test_table'
(扫描全表)。 - 删除表(可选):
disable 'test_table'
→drop 'test_table'
。
注意事项
- 版本兼容性:HBase需与Hadoop、Zookeeper版本兼容(如HBase 2.4.x兼容Hadoop 3.x、Zookeeper 3.5.x+)。
- 资源调整:根据集群规模调整
hbase.regionserver.handler.count
(RegionServer处理线程数,默认30,可调整为100+)、hbase.heapsize
(JVM堆大小,默认1GB,可调整为4GB+)。 - 高可用性:若需HBase高可用,可配置
backup-masters
文件(指定备用Master节点,如slave1
),并确保ZK集群为奇数节点(3或5节点)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: HBase集群在Ubuntu上怎么搭建
本文地址: https://pptw.com/jishu/733202.html