HBase与Hadoop在Ubuntu上的协同配置指南
HBase作为分布式NoSQL数据库,依赖Hadoop的HDFS(分布式文件系统)存储数据,依赖YARN(资源管理系统)调度资源,二者协同需完成环境准备、安装配置、启动验证三个核心步骤。
在开始前需安装以下基础工具,确保系统满足协同运行要求:
sudo apt update同步软件源。sudo apt install openjdk-8-jdk安装OpenJDK 8,通过java -version验证安装(需显示Java版本信息)。sudo apt install wget。Hadoop需先于HBase安装,配置核心功能以支持HBase的数据存储需求:
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-amd64
执行source ~/.bashrc使配置生效。<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
hdfs namenode -format。start-dfs.sh(启动NameNode、DataNode)、start-yarn.sh(启动ResourceManager、NodeManager)。jps,应看到NameNode、DataNode、SecondaryNameNode、ResourceManager、NodeManager等进程。HBase需配置与Hadoop的协同参数,确保数据存储与资源调度正常:
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/bin
执行source ~/.bashrc使配置生效。export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export HBASE_MANAGES_ZK=true # 让HBase自动管理ZooKeeper
<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>
localhost
start-hbase.sh启动HBase服务,通过jps验证HMaster(HBase主节点)和HRegionServer(RegionServer节点)进程是否存在。通过以下步骤确认HBase与Hadoop已成功协同:
http://localhost:9870),查看HDFS的NameNode、DataNode状态,确认数据存储服务正常。http://localhost:16010),查看HBase集群状态、Region分布等信息。hbase shell),执行以下命令验证数据读写:create 'test_table', 'cf' -- 创建名为test_table的表,包含cf列族
put 'test_table', 'row1', 'cf:col1', 'value1' -- 向表中插入数据
scan 'test_table' -- 扫描表数据,应显示插入的行
hdfs dfs -ls /hbase,应能看到HBase的表数据目录。HMaster进程,需检查hbase-site.xml中的hbase.zookeeper.quorum配置(应为localhost),并确认ZooKeeper数据目录(hbase.zookeeper.property.dataDir)存在且具备写入权限。hbase.rootdir配置(应与Hadoop的fs.defaultFS一致),并确认HDFS已格式化(hdfs namenode -format)。hbase.rootdir中的端口),并重启服务。