NoSuchMethodError)。可通过HBase官方文档查询最新兼容性列表。JAVA_HOME环境变量;/etc/hosts文件,将主机名与IP地址映射添加至文件中(如192.168.1.100 master);/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/
/usr/local/hadoop-3.3.4/etc/hadoop/):
core-site.xml:设置HDFS的默认文件系统URI,指向NameNode地址:<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
hdfs-site.xml:配置HDFS副本数(测试环境设为1,生产环境建议≥3):<property>
<name>dfs.replication</name>
<value>1</value>
</property>
yarn-site.xml:指定YARN的shuffle服务:<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
mapred-site.xml(需从mapred-site.xml.template复制生成):设置MapReduce框架为YARN:<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
hdfs namenode -format
start-dfs.sh # 启动HDFS(NameNode、DataNode)
start-yarn.sh # 启动YARN(ResourceManager、NodeManager)
使用jps命令检查进程是否正常(应看到NameNode、DataNode、ResourceManager、NodeManager)。/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/
/usr/local/hbase-2.4.13/conf/):
hbase-env.sh:指定ZooKeeper数据目录(需提前创建):export HBASE_ZOOKEEPER_DATA_DIR=/usr/local/hbase-2.4.13/zookeeper
hbase-site.xml:配置HBase与Hadoop的集成参数:<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集群地址(单节点为localhost) -->
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/local/hbase-2.4.13/zookeeper</value> <!-- ZooKeeper数据目录 -->
</property>
regionservers:指定RegionServer节点(测试环境可写localhost,生产环境需列出所有RegionServer主机名):localhost
start-hbase.sh
使用jps命令检查HBase进程(应看到HMaster、HRegionServer)。http://<HBase主节点IP>:16010(如http://localhost:16010),查看HBase集群状态(如RegionServer是否在线、表数量等)。hbase shell进入交互式Shell,执行以下命令验证功能:create 'test_table', 'cf' # 创建名为test_table的表,包含cf列族
put 'test_table', 'row1', 'cf:name', 'John' # 插入数据
get 'test_table', 'row1' # 查询数据
list # 查看所有表
exit # 退出Shell
若上述命令执行成功且无报错,则说明HBase与Hadoop集成正常。NoSuchMethodError等错误,需检查HBase与Hadoop的依赖版本(如guava、protobuf),可通过排除冲突依赖或重新编译HBase解决。