在CentOS上部署HBase多节点集群涉及多个步骤,包括准备环境、配置HBase和Zookeeper、启动服务以及验证集群状态。以下是一个详细的指南:
HBase需要Java运行环境,建议安装OpenJDK或Oracle JDK。
sudo yum install java-1.8.0-openjdk-devel
HBase依赖于Hadoop,因此需要先安装Hadoop。
# 下载Hadoop
wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz
tar -xzvf hadoop-3.3.1.tar.gz -C /opt
sudo mv /opt/hadoop-3.3.1 /opt/hadoop
# 配置Hadoop
sudo cp /opt/hadoop/etc/hadoop/core-site.xml.template /opt/hadoop/etc/hadoop/core-site.xml
sudo cp /opt/hadoop/etc/hadoop/hdfs-site.xml.template /opt/hadoop/etc/hadoop/hdfs-site.xml
sudo cp /opt/hadoop/etc/hadoop/mapred-site.xml.template /opt/hadoop/etc/hadoop/mapred-site.xml
sudo cp /opt/hadoop/etc/hadoop/yarn-site.xml.template /opt/hadoop/etc/hadoop/yarn-site.xml
# 编辑配置文件
echo "<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:9000</value>
</property>
</configuration>" | sudo tee -a /opt/hadoop/etc/hadoop/core-site.xml
echo "<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>" | sudo tee -a /opt/hadoop/etc/hadoop/hdfs-site.xml
echo "<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>" | sudo tee -a /opt/hadoop/etc/hadoop/mapred-site.xml
echo "<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>" | sudo tee -a /opt/hadoop/etc/hadoop/yarn-site.xml
下载并解压HBase。
wget https://archive.apache.org/dist/hbase/2.4.9/hbase-2.4.9-bin.tar.gz
tar -xzvf hbase-2.4.9-bin.tar.gz -C /opt
sudo mv /opt/hbase-2.4.9 /opt/hbase
编辑HBase配置文件/opt/hbase/conf/hbase-site.xml
。
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://namenode:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>zookeeper1,zookeeper2,zookeeper3</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/var/lib/zookeeper</value>
</property>
</configuration>
编辑Zookeeper配置文件/opt/hbase/conf/zoo.cfg
。
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:3888
在每个Zookeeper节点上创建myid
文件。
echo "1" | sudo tee /var/lib/zookeeper/myid # 在zookeeper1节点上
echo "2" | sudo tee /var/lib/zookeeper/myid # 在zookeeper2节点上
echo "3" | sudo tee /var/lib/zookeeper/myid # 在zookeeper3节点上
在NameNode节点上启动Hadoop。
start-dfs.sh
start-yarn.sh
在每个Zookeeper节点上启动Zookeeper。
/opt/hbase/bin/zkServer.sh start
在HBase Master节点上启动HBase。
/opt/hbase/bin/start-hbase.sh
访问HBase Master Web UI,通常是http://<master-node>:16010
。
访问HBase RegionServer Web UI,通常是http://<regionserver-node>:16030
。
连接到HBase Shell并检查集群状态。
/opt/hbase/bin/hbase shell
list
status 'simple'
通过以上步骤,你应该能够在CentOS上成功部署一个HBase多节点集群。确保所有节点之间的网络连接正常,并且防火墙配置允许必要的端口通信。