CentOS HBase与Zookeeper集成步骤
导读:CentOS环境下HBase与ZooKeeper集成步骤 1. 准备基础环境 在开始集成前,需确保CentOS系统已安装Java(建议JDK 1.8及以上)和Hadoop(若需分布式存储),因为HBase依赖Java运行,分布式模式下需Ha...
CentOS环境下HBase与ZooKeeper集成步骤
1. 准备基础环境
在开始集成前,需确保CentOS系统已安装Java(建议JDK 1.8及以上)和Hadoop(若需分布式存储),因为HBase依赖Java运行,分布式模式下需Hadoop支持。
- 安装Java:使用YUM安装OpenJDK,命令:
sudo yum install java-1.8.0-openjdk-devel -y,安装完成后通过java -version验证。 - 安装Hadoop(可选):若需分布式存储,参考Hadoop官方文档安装并配置HDFS,确保
hdfs://namenode:9000(或自定义NameNode地址)可正常访问。
2. 安装ZooKeeper集群
ZooKeeper是HBase的核心协调组件,需先部署ZooKeeper集群(建议奇数节点,如3节点)。
- 下载并解压ZooKeeper:选择稳定版本(如3.7.0),命令:
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz tar -xzf apache-zookeeper-3.7.0-bin.tar.gz -C /opt mv /opt/apache-zookeeper-3.7.0-bin /opt/zookeeper - 配置环境变量:编辑
/etc/profile,添加:执行export ZOOKEEPER_HOME=/opt/zookeeper export PATH=$ZOOKEEPER_HOME/bin:$PATHsource /etc/profile使变量生效。 - 配置ZooKeeper集群:
- 复制配置模板:
cp $ZOOKEEPER_HOME/conf/zoo_sample.cfg $ZOOKEEPER_HOME/conf/zoo.cfg。 - 修改
zoo.cfg,添加以下关键配置(以3节点为例):tickTime=2000 dataDir=/var/lib/zookeeper clientPort=2181 initLimit=5 syncLimit=2 server.1=zookeeper1:2888:3888 server.2=zookeeper2:2888:3888 server.3=zookeeper3:2888:3888dataDir:ZooKeeper数据存储目录,需提前创建(mkdir -p /var/lib/zookeeper)。server.X:集群节点列表,X为节点ID(1、2、3…)。
- 复制配置模板:
- 创建myid文件:在每个节点的
dataDir目录下创建myid文件,内容为对应节点ID(如zookeeper1节点写入1,zookeeper2节点写入2)。 - 启动ZooKeeper集群:在每个节点上执行:
使用zkServer.sh startzkServer.sh status检查状态,确保至少1个Leader、2个Follower。
3. 安装HBase
下载并解压HBase(建议2.4及以上版本),命令:
wget https://archive.apache.org/dist/hbase/hbase-2.4.9/hbase-2.4.9-bin.tar.gz
tar -xzf hbase-2.4.9-bin.tar.gz -C /opt
mv /opt/hbase-2.4.9 /opt/hbase
配置环境变量:编辑/etc/profile,添加:
export HBASE_HOME=/opt/hbase
export PATH=$HBASE_HOME/bin:$PATH
执行source /etc/profile使变量生效。
4. 配置HBase使用ZooKeeper
编辑HBase配置文件$HBASE_HOME/conf/hbase-site.xml,添加以下关键配置(以外部ZooKeeper集群为例):
<
configuration>
<
!-- 指定ZooKeeper集群地址 -->
<
property>
<
name>
hbase.zookeeper.quorum<
/name>
<
value>
zookeeper1,zookeeper2,zookeeper3<
/value>
<
/property>
<
!-- 指定ZooKeeper客户端端口(默认2181) -->
<
property>
<
name>
hbase.zookeeper.property.clientPort<
/name>
<
value>
2181<
/value>
<
/property>
<
!-- 指定ZooKeeper数据存储目录(需与zoo.cfg中的dataDir一致) -->
<
property>
<
name>
hbase.zookeeper.property.dataDir<
/name>
<
value>
/var/lib/zookeeper<
/value>
<
/property>
<
!-- 分布式模式(必须设为true) -->
<
property>
<
name>
hbase.cluster.distributed<
/name>
<
value>
true<
/value>
<
/property>
<
!-- HBase根目录(HDFS路径,若未启用HDFS可设为本地路径) -->
<
property>
<
name>
hbase.rootdir<
/name>
<
value>
hdfs://namenode:9000/hbase<
/value>
<
/property>
<
/configuration>
- 禁用内置ZooKeeper:编辑
$HBASE_HOME/conf/hbase-env.sh,添加:此配置告诉HBase不启动内置的ZooKeeper,使用外部集群。export HBASE_MANAGES_ZK=false
5. 配置HBase集群节点
- 配置regionservers:编辑
$HBASE_HOME/conf/regionservers,删除默认的localhost,添加所有RegionServer节点主机名(如hadoop1 hadoop2 hadoop3)。 - 分发HBase到所有节点:使用
scp将HBase目录复制到其他节点,命令:scp -rp /opt/hbase root@hadoop2:/opt/ scp -rp /opt/hbase root@hadoop3:/opt/ - 配置各节点环境变量:确保所有RegionServer节点都配置了
HBASE_HOME和PATH环境变量(同主节点)。
6. 启动HBase集群
- 启动ZooKeeper集群:确保所有ZooKeeper节点已启动(
zkServer.sh status显示Leader/Follower状态正常)。 - 启动HBase集群:在主节点(HMaster节点)上执行:
启动后,使用start-hbase.shhbase shell status 'simple'检查HBase状态,显示“Cluster is ONLINE”表示集成成功。
7. 验证集成
- 进入HBase Shell:执行
hbase shell进入交互式命令行。 - 创建表并插入数据:
若能正常创建表、插入和查询数据,说明HBase与ZooKeeper集成正常。create 'test_table', 'cf' put 'test_table', 'row1', 'cf:name', 'John' get 'test_table', 'row1'
通过以上步骤,即可在CentOS环境下完成HBase与ZooKeeper的集成。集成后,ZooKeeper将负责HBase集群的协调管理(如RegionServer发现、Master选举、元数据存储等),确保集群的高可用性和一致性。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS HBase与Zookeeper集成步骤
本文地址: https://pptw.com/jishu/737160.html
