📝 2025年9月24日 - Hadoop/HBase环境搭建与排错日记
🌟 今日工作概览
今天主要完成了Hadoop和HBase集群的环境搭建,解决了多个连接和配置问题,成功实现了从IDEA远程连接虚拟机HBase数据库。
🔧 技术操作记录
- 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正常启动
- HBase连接配置
• 关键配置修改hbase-site.xml:
- 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最后开工"
网络连接排查流程
- ping测试基础连通性
- telnet检查端口开放
- 查看防火墙规则
- 验证服务绑定地址
💡 经验收获
- 配置文档化:所有修改的配置项及时记录,便于回溯
- 分层验证:从网络→系统→服务→应用层层排查
- 日志利用:tail -f实时日志是排错利器
- 备份意识:修改重要配置前先备份
🚀 明日计划
完善HBase Java API封装类
测试HBase数据读写性能
研究HBase与Hive集成方案
编写项目使用文档
😊 今日感想
"踩坑越多,成长越快。每个错误信息都是系统在教你它的运行规则。"
大数据 #Hadoop #HBase #环境搭建 #排错经验
坚持每日总结,让成长有迹可循✨