阅读量:0
CentOS环境下HBase与Hadoop集成实践指南
一、前置准备
在开始集成前,需完成以下基础准备工作:
- 系统环境配置:确保CentOS系统已更新至最新版本,安装了
wget、tar、vim等常用工具;关闭防火墙(systemctl stop firewalld)或开放必要端口(如Hadoop的9000、50070,HBase的16010);配置/etc/hosts文件,将主机名与IP地址映射(如192.168.1.100 hadoop-master)。 - JDK安装:Hadoop与HBase均依赖JDK 8或11,建议使用OpenJDK(
yum install java-11-openjdk-devel),并通过java -version验证安装;设置JAVA_HOME环境变量(在~/.bashrc中添加export JAVA_HOME=/usr/lib/jvm/java-11-openjdk,执行source ~/.bashrc生效)。
二、Hadoop集群安装与配置
Hadoop是HBase的数据存储底座,需先完成Hadoop的部署:
- 下载与解压:从Apache官网下载Hadoop稳定版(如3.3.4),解压至
/usr/local/目录:wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz tar -xzvf hadoop-3.3.4.tar.gz -C /usr/local/ ln -s /usr/local/hadoop-3.3.4 hadoop # 创建软链接便于管理 - 配置核心文件:进入Hadoop配置目录(
/usr/local/hadoop/etc/hadoop),修改以下文件:- core-site.xml:设置HDFS的默认文件系统URI(需替换
namenode为主机名):<configuration> <property> <name>fs.defaultFSname> <value>hdfs://namenode:9000value> property> configuration> - hdfs-site.xml:配置HDFS副本数(测试环境设为1,生产环境建议≥3):
<configuration> <property> <name>dfs.replicationname> <value>1value> property> configuration> - yarn-site.xml:指定YARN的shuffle服务(支持MapReduce shuffle):
<configuration> <property> <name>yarn.nodemanager.aux-servicesname> <value>mapreduce_shufflevalue> property> configuration> - mapred-site.xml(若未自动生成,从
mapred-site.xml.template复制):设置MapReduce运行框架为YARN:<configuration> <property> <name>mapreduce.framework.namename> <value>yarnvalue> property> configuration>
- core-site.xml:设置HDFS的默认文件系统URI(需替换
- 环境变量设置:在
~/.bashrc中添加Hadoop环境变量:执行export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbinsource ~/.bashrc使变量生效。 - 格式化HDFS与启动集群:首次启动前需格式化HDFS(删除原有数据,仅执行一次):
启动HDFS(hdfs namenode -formatstart-dfs.sh)和YARN(start-yarn.sh),通过jps命令验证进程(应看到NameNode、DataNode、ResourceManager、NodeManager)。
三、HBase安装与配置
HBase依赖Hadoop存储数据,需正确关联Hadoop集群:
- 下载与解压:从Apache官网下载HBase稳定版(如2.4.13),解压至
/usr/local/目录:wget https://archive.apache.org/dist/hbase/2.4.13/hbase-2.4.13-bin.tar.gz tar -xzvf hbase-2.4.13-bin.tar.gz -C /usr/local/ ln -s /usr/local/hbase-2.4.13 hbase # 创建软链接 - 配置核心文件:进入HBase配置目录(
/usr/local/hbase/conf),修改以下文件:- hbase-env.sh:取消
JAVA_HOME注释,指定JDK路径(与Hadoop一致):export JAVA_HOME=/usr/lib/jvm/java-11-openjdk - hbase-site.xml:关键配置项如下(需替换
namenode为Hadoop NameNode主机名):<configuration> <property> <name>hbase.rootdirname> <value>hdfs://namenode:9000/hbasevalue> property> <property> <name>hbase.cluster.distributedname> <value>truevalue> property> <property> <name>hbase.zookeeper.quorumname> <value>namenodevalue> property> <property> <name>hbase.zookeeper.property.dataDirname> <value>/usr/local/hbase/zookeepervalue> property> configuration> - regionservers:指定RegionServer节点(单机部署添加
localhost,集群添加所有RegionServer主机名)。
- hbase-env.sh:取消
- 环境变量设置:在
~/.bashrc中添加HBase环境变量:执行export HBASE_HOME=/usr/local/hbase export PATH=$PATH:$HBASE_HOME/binsource ~/.bashrc使变量生效。
四、集成配置关键点
HBase与Hadoop的集成需通过以下配置实现无缝通信:
- HBase指向HDFS:
hbase.rootdir必须设置为HDFS的URI(如hdfs://namenode:9000/hbase),确保HBase数据存储在HDFS中。 - 分布式模式启用:
hbase.cluster.distributed设为true,启用HBase分布式模式(若为单机测试,可设为false,但生产环境必须为true)。 - ZooKeeper协同:HBase通过ZooKeeper管理集群状态,
hbase.zookeeper.quorum需指向ZooKeeper集群地址(单机用localhost),且hbase.zookeeper.property.dataDir指定的目录需存在(用于存储ZooKeeper数据)。 - Hadoop服务可用性:确保HDFS的NameNode和DataNode已启动,YARN的ResourceManager和NodeManager正常运行,HBase才能连接HDFS。
五、启动与验证集成
- 启动服务:
- 启动Hadoop集群(若未启动):
start-dfs.sh && start-yarn.sh - 启动HBase集群:
start-hbase.sh
- 启动Hadoop集群(若未启动):
- 验证进程:使用
jps命令检查进程(Hadoop主节点应有NameNode、ResourceManager;HBase主节点应有HMaster;RegionServer节点应有HRegionServer)。 - 访问Web UI:
- Hadoop NameNode Web UI:
http://namenode:9870(查看HDFS状态); - HBase Web UI:
http://namenode:16010(查看HBase集群状态)。
- Hadoop NameNode Web UI:
- Shell操作验证:
- 进入HBase Shell:
hbase shell - 执行基本命令:
create 'test_table', 'cf' # 创建表 put 'test_table', 'row1', 'cf:name', 'John' # 插入数据 scan 'test_table' # 查询数据 exit # 退出
- 进入HBase Shell:
六、常见问题排查
- 连接超时:检查
hbase.rootdir中的HDFS主机名是否正确,/etc/hosts文件是否包含主机名映射,防火墙是否阻止端口(如9000、16010)。 - 权限问题:确保HDFS目录(如
/hbase)存在且有写入权限(hdfs dfs -mkdir -p /hbase,hdfs dfs -chmod -R 777 /hbase)。 - 版本兼容:HBase与Hadoop版本需兼容(如HBase 2.4.x兼容Hadoop 3.3.x),避免因版本冲突导致启动失败(参考官方兼容性矩阵)。
以上就是关于“CentOS HBase与Hadoop集成实践”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm