软件工程学习日志2025.9.24

📝 2025年9月24日 - Hadoop/HBase环境搭建与排错日记

🌟 今日工作概览

今天主要完成了Hadoop和HBase集群的环境搭建,解决了多个连接和配置问题,成功实现了从IDEA远程连接虚拟机HBase数据库。

🔧 技术操作记录

  1. Hadoop环境修复

• 问题:HDFS启动时报SSH免密登录失败

• 解决:

生成SSH密钥对

ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

测试免密登录

ssh localhost

• 结果:成功配置SSH免密登录,HDFS正常启动

  1. HBase连接配置

• 关键配置修改hbase-site.xml:

hbase.zookeeper.quorum
192.168.1.100


hbase.cluster.distributed
true

  1. IDEA远程连接成功

• Java连接代码:
Configuration config = HBaseConfiguration.create();
config.set("hbase.zookeeper.quorum", "192.168.1.100");
config.set("hbase.zookeeper.property.clientPort", "2181");
Connection connection = ConnectionFactory.createConnection(config);

• 验证:成功获取HBase集群状态和表列表

🐛 遇到的坑与解决方案

坑1:HBase端口访问失败

• 现象:IDEA连接超时

• 原因:虚拟机防火墙阻挡

• 解决:
sudo ufw allow 2181/tcp # ZooKeeper
sudo ufw allow 16000/tcp # HMaster

坑2:SLF4J警告日志

• 现象:hadoop version输出警告信息

• 分析:缺少日志实现绑定,但不影响功能

• 决策:暂时忽略,生产环境再添加log4j依赖

坑3:Windows端口占用

• 技巧:快速结束占用端口的进程
netstat -ano | findstr :8080
taskkill /F /PID 1234

📚 知识点总结

环境变量配置要点

在~/.bashrc中添加

export HADOOP_HOME=/usr/local/hadoop
export HBASE_HOME=/usr/local/hbase
export PATH=$PATH:$HADOOP_HOME/bin:$HBASE_HOME/bin

服务启动顺序记忆口诀

"HDFS先起床,ZooKeeper再上班,HBase最后开工"

网络连接排查流程

  1. ping测试基础连通性
  2. telnet检查端口开放
  3. 查看防火墙规则
  4. 验证服务绑定地址

💡 经验收获

  1. 配置文档化:所有修改的配置项及时记录,便于回溯
  2. 分层验证:从网络→系统→服务→应用层层排查
  3. 日志利用:tail -f实时日志是排错利器
  4. 备份意识:修改重要配置前先备份

🚀 明日计划
完善HBase Java API封装类

测试HBase数据读写性能

研究HBase与Hive集成方案

编写项目使用文档

😊 今日感想

"踩坑越多,成长越快。每个错误信息都是系统在教你它的运行规则。"

大数据 #Hadoop #HBase #环境搭建 #排错经验


坚持每日总结,让成长有迹可循✨

posted @ 2025-09-24 22:34  仙人兵马俑  阅读(11)  评论(0)    收藏  举报