CentOS HBase与Hadoop的集成方法是什么
导读:CentOS环境下HBase与Hadoop集成步骤 1. 前置准备 版本兼容性确认:优先选择官方推荐的版本组合(如HBase 2.x搭配Hadoop 2.7.x/3.x,HBase 3.x搭配Hadoop 3.2.x及以上),避免因版本不...
CentOS环境下HBase与Hadoop集成步骤
1. 前置准备
- 版本兼容性确认:优先选择官方推荐的版本组合(如HBase 2.x搭配Hadoop 2.7.x/3.x,HBase 3.x搭配Hadoop 3.2.x及以上),避免因版本不兼容导致运行时错误(如
NoSuchMethodError
)。可通过HBase官方文档查询最新兼容性列表。 - 基础环境配置:
- 安装JDK(建议1.8及以上版本),并配置
JAVA_HOME
环境变量; - 修改
/etc/hosts
文件,将主机名与IP地址映射添加至文件中(如192.168.1.100 master
); - 配置SSH免密登录(Hadoop集群节点间需无密码通信)。
- 安装JDK(建议1.8及以上版本),并配置
2. 安装Hadoop集群
- 下载与解压:从Apache官网下载Hadoop安装包(如3.3.4版本),解压至
/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(会清除原有数据):
hdfs namenode -format
- 启动Hadoop集群:依次启动HDFS和YARN服务:
使用start-dfs.sh # 启动HDFS(NameNode、DataNode) start-yarn.sh # 启动YARN(ResourceManager、NodeManager)
jps
命令检查进程是否正常(应看到NameNode
、DataNode
、ResourceManager
、NodeManager
)。
3. 安装HBase集群
- 下载与解压:从Apache官网下载HBase安装包(如2.4.13版本),解压至
/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
- 启动HBase集群:在HBase主节点执行以下命令:
使用start-hbase.sh
jps
命令检查HBase进程(应看到HMaster
、HRegionServer
)。
4. 验证集成效果
- 检查HBase Web UI:打开浏览器访问
http://< HBase主节点IP> :16010
(如http://localhost:16010
),查看HBase集群状态(如RegionServer是否在线、表数量等)。 - 使用HBase Shell操作:终端输入
hbase shell
进入交互式Shell,执行以下命令验证功能:
若上述命令执行成功且无报错,则说明HBase与Hadoop集成正常。create 'test_table', 'cf' # 创建名为test_table的表,包含cf列族 put 'test_table', 'row1', 'cf:name', 'John' # 插入数据 get 'test_table', 'row1' # 查询数据 list # 查看所有表 exit # 退出Shell
注意事项
- 依赖冲突:若集成后出现
NoSuchMethodError
等错误,需检查HBase与Hadoop的依赖版本(如guava
、protobuf
),可通过排除冲突依赖或重新编译HBase解决。 - 生产环境建议:使用ZooKeeper集群(至少3节点)提升可靠性;配置HDFS的高可用(HA)模式,避免单点故障;定期备份HBase数据。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS HBase与Hadoop的集成方法是什么
本文地址: https://pptw.com/jishu/725165.html