HBase与Hadoop在Ubuntu上如何协同
导读:HBase与Hadoop在Ubuntu上的协同配置指南 HBase作为分布式NoSQL数据库,依赖Hadoop的HDFS(分布式文件系统)存储数据,依赖YARN(资源管理系统)调度资源,二者协同需完成环境准备、安装配置、启动验证三个核心步骤...
HBase与Hadoop在Ubuntu上的协同配置指南
HBase作为分布式NoSQL数据库,依赖Hadoop的HDFS(分布式文件系统)存储数据,依赖YARN(资源管理系统)调度资源,二者协同需完成环境准备、安装配置、启动验证三个核心步骤。
一、环境准备
在开始前需安装以下基础工具,确保系统满足协同运行要求:
- 更新软件包:运行
sudo apt update同步软件源。 - 安装Java:HBase与Hadoop均依赖Java,执行
sudo apt install openjdk-8-jdk安装OpenJDK 8,通过java -version验证安装(需显示Java版本信息)。 - 安装wget:用于下载Hadoop与HBase压缩包,执行
sudo apt install wget。
二、安装Hadoop(伪分布式模式)
Hadoop需先于HBase安装,配置核心功能以支持HBase的数据存储需求:
- 下载并解压Hadoop:从Apache官网下载Hadoop(如3.3.1版本),执行
tar -xzvf hadoop-3.3.1.tar.gz解压,移动至/usr/local/目录并重命名为hadoop(sudo mv hadoop-3.3.1 /usr/local/hadoop)。 - 配置环境变量:编辑
~/.bashrc文件,添加以下内容(指定Hadoop与Java路径):执行export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:$HADOOP_HOME/bin export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64source ~/.bashrc使配置生效。 - 配置Hadoop核心文件:
- core-site.xml(指定HDFS URI):
< configuration> < property> < name> fs.defaultFS< /name> < value> hdfs://localhost:9000< /value> < /property> < /configuration> - hdfs-site.xml(配置HDFS副本数,伪分布式模式下设为1):
< configuration> < property> < name> dfs.replication< /name> < value> 1< /value> < /property> < /configuration>
- core-site.xml(指定HDFS URI):
- 启动Hadoop集群:
- 格式化HDFS(首次启动需执行,清除旧数据):
hdfs namenode -format。 - 启动HDFS与YARN服务:
start-dfs.sh(启动NameNode、DataNode)、start-yarn.sh(启动ResourceManager、NodeManager)。 - 验证进程:执行
jps,应看到NameNode、DataNode、SecondaryNameNode、ResourceManager、NodeManager等进程。
- 格式化HDFS(首次启动需执行,清除旧数据):
三、安装HBase(伪分布式模式)
HBase需配置与Hadoop的协同参数,确保数据存储与资源调度正常:
- 下载并解压HBase:从Apache官网下载HBase(如2.4.9版本),执行
tar -xzvf hbase-2.4.9-bin.tar.gz解压,移动至/usr/local/目录并重命名为hbase(sudo mv hbase-2.4.9 /usr/local/hbase)。 - 配置环境变量:编辑
~/.bashrc文件,添加以下内容(指定HBase路径):执行export HBASE_HOME=/usr/local/hbase export PATH=$PATH:$HBASE_HOME/binsource ~/.bashrc使配置生效。 - 配置HBase核心文件:
- hbase-env.sh(指定Java路径,启用ZooKeeper管理):
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export HBASE_MANAGES_ZK=true # 让HBase自动管理ZooKeeper - hbase-site.xml(配置HBase与Hadoop的协同参数):
< configuration> < property> < name> hbase.rootdir< /name> < value> hdfs://localhost:9000/hbase< /value> # 指向HDFS路径 < /property> < property> < name> hbase.cluster.distributed< /name> < value> true< /value> # 启用分布式模式 < /property> < property> < name> hbase.zookeeper.quorum< /name> < value> localhost< /value> # 指定ZooKeeper地址 < /property> < property> < name> hbase.zookeeper.property.dataDir< /name> < value> /usr/local/hbase/zookeeper< /value> # ZooKeeper数据存储路径 < /property> < /configuration> - regionservers(指定RegionServer节点,伪分布式模式下为localhost):
localhost
- hbase-env.sh(指定Java路径,启用ZooKeeper管理):
- 启动HBase集群:执行
start-hbase.sh启动HBase服务,通过jps验证HMaster(HBase主节点)和HRegionServer(RegionServer节点)进程是否存在。
四、验证协同功能
通过以下步骤确认HBase与Hadoop已成功协同:
- 检查Hadoop状态:访问Hadoop Web UI(
http://localhost:9870),查看HDFS的NameNode、DataNode状态,确认数据存储服务正常。 - 检查HBase状态:访问HBase Web UI(
http://localhost:16010),查看HBase集群状态、Region分布等信息。 - 操作HBase数据:启动HBase Shell(
hbase shell),执行以下命令验证数据读写:create 'test_table', 'cf' -- 创建名为test_table的表,包含cf列族 put 'test_table', 'row1', 'cf:col1', 'value1' -- 向表中插入数据 scan 'test_table' -- 扫描表数据,应显示插入的行 - 验证HDFS存储:通过Hadoop命令查看HBase数据是否存储至HDFS:
hdfs dfs -ls /hbase,应能看到HBase的表数据目录。
常见问题排查
- ZooKeeper未启动:若HBase启动后无
HMaster进程,需检查hbase-site.xml中的hbase.zookeeper.quorum配置(应为localhost),并确认ZooKeeper数据目录(hbase.zookeeper.property.dataDir)存在且具备写入权限。 - HDFS路径错误:若HBase无法连接HDFS,需检查
hbase.rootdir配置(应与Hadoop的fs.defaultFS一致),并确认HDFS已格式化(hdfs namenode -format)。 - 端口冲突:若启动时报端口占用(如9000、16010),需修改对应配置文件中的端口号(如
hbase.rootdir中的端口),并重启服务。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: HBase与Hadoop在Ubuntu上如何协同
本文地址: https://pptw.com/jishu/745103.html
