使用两台Centos7系统搭建Hadoop-3.1.4完全分布式集群

本文介绍了大数据时代的核心技术词汇,如Hadoop生态(包括HDFS、HBase、Hive等)、分布式计算框架(如MapReduce、Spark、Flink),以及关键组件如YARN和数据处理工具。详细指导如何在Centos7系统上搭建Hadoop3.1.4的完全分布式集群,包括集群准备、配置和启动过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

未来的竞争,是数据之争。大数据本质上是Hadoop的生态群,下面是常用技术词汇

  • ETL:代表提取、转换和加载。
  • Hadoop:分布式系统基础架构
  • HDFS:分布式文件系统
  • HBase:大数据的NoSQL数据库
  • Hive:数据仓库工具
  • DAG :第二代计算引擎
  • Spark:第三代数据处理引擎
  • Flink:第四代数据处理引擎
  • MapReduce:最初的并行计算框架
  • Sqoop:nosql数据库和传统数据库之间传输数据的工具
  • Hive:数据仓库工具
  • Storm:分布式实时计算系统
  • Flume:分布式的海量日志采集系统。
  • Kafka:分布式发布订阅消息系统
  • ElasticSearch:分布式搜索引擎
  • Kibana:ElasticSearch大数据的图形化展示工具
  • Logstash:Elasticsearch 的传送带
  • Neo4j:nosql图形数据库
  • Oozie:工作流调度系统 -YARN:作业调度和集群资源管理的框架

使用两台Centos7系统搭建Hadoop-3.1.4完全分布式集群

Hadoop集群

大数据是基于集群的分布式系统。所谓集群是指一组独立的计算机系统构成的一多处理器系统,它们之间通过网络实现进程间的通信,让若干台计算机联合起来工作(服务),可以是并行的,也可以是做备份。

  • 分布式 :分布式的主要工作是分解任务,将职能拆解,多个人在一起做不同的事
  • 集群:集群主要是将同一个业务,部署在多个服务器上 ,多个人在一起做同样的事

Hadoop介绍

Hadoop是Apache旗下的一个用Java语言实现开源软件框架,是一个存储和计算大规模数据的软件平台。

Hadoop是Apache Lucene创始人 Doug Cutting 创建的,最早起源一个Nutch项目。

  • 2003年Google发表了一篇GFS论文,为大规模数据存储提供了可行的解决方案。
  • 2004年 Google发表论文MapReduce系统,为大规模数据计算提供可行的解决方案。Nutch的开发人员以谷歌的论文为基础,完成了相应的开源实现HDFS和MAPREDUCE,并从Nutch中剥离成为独立项目Hadoop。
  • 到2008年1月,Hadoop成为Apache顶级项目,迎来了它的快速发展期。
  • 如今,国内外的互联网巨头基本都在使用Hadoop框架作为大数据解决方案,越来越多的企业将Hadoop 技术作为进入大数据领域的必备技术。

目前,Hadoop发行版本分为开源社区版和商业版。

  • 开源社区版:指由Apache软件基金会维护的版本,是官方维护的版本体系,版本丰富,兼容性稍差。
  • 商业版:指由第三方商业公司在社区版Hadoop基础上进行了一些修改、整合以及各个服务组件兼容性测试而发行的版本,比较著名的有cloudera的CDH等。

开源社区版本:一般使用2.x版本系列,3.x版本系列:该版本是最新版本,但是还不太稳定。

废话不说了,开始今天的主题:使用三台Centos7系统搭建Hadoop2.X完全分布式集群

去年使用CentOS 7搭建了hadoop3.X分布式集群,由于换了电脑,考虑到电脑安装了很多前其他的东西,这次是使用二台Centos7系统搭建Hadoop完全分布式集群,虽然Centos更新到8版本,但是很多大数据学习都是选择基于Centos7系统搭建。这里不搭建一台的伪分布式,搭建的版本是目前Haddop3.X稳定的Hadoop-3.1.4。

去年对应的文章教程:

  • https://blog.csdn.net/weixin_44510615/article/details/104625802
  • https://blog.csdn.net/weixin_44510615/article/details/106540129

集群搭建前的准备

Centos7的下载地址:http://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso。共4.8g。

在集群搭建前的准备,需要在VMwear Workstation搭建一个Centos7系统,关于搭建过程,由于简单,这里直接省略。

在通过物理机连接虚拟机的时候,需要有VMnet1和VMnet8两个虚拟网卡。

如果安装Vmware没有VMnet1和VMnet8,据我以前踩的坑,网上说安装cclear软件包进行注册表的删除,那是不断删除下载Vmware,并没有解决问题,最终采用系统刷机的办法,得以解决。

因此,搭建虚拟机的前提是,本地主机必须有虚拟本地环境,不然你怎么搞都是白搭。

<think>好的,我现在要解决用户在CentOS上创建Hadoop日志目录时遇到的权限不足问题,具体错误是“mkdir permission denied”针对Hadoop-3.1.4的logs目录。首先,我需要回忆一下Linux系统中目录创建权限的相关知识。当用户尝试创建目录时,如果没有父目录的写权限,或者目标路径的上级目录没有足够的权限,就会触发权限被拒绝的错误。 首先,用户可能是在使用普通用户身份执行mkdir命令,而目标目录所在的父目录可能属于root用户或者其他用户,导致权限不足。例如,如果用户试图在/opt/module/hadoop-3.1.4下创建logs目录,但/opt/module的权限不允许普通用户写入,就会出现这个问题。这时候,用户可能需要使用sudo来提升权限,或者修改父目录的权限。 另外,Hadoop本身在运行时可能需要特定的用户和组来管理文件和目录,比如hadoop用户。如果用户没有正确配置,可能导致Hadoop进程无法写入日志目录。因此,检查目录的所有者和权限设置非常重要。 接下来,我需要考虑解决方案的步骤。首先,用户应该确认当前用户是否有权限在目标路径下创建目录。可以使用ls -ld命令查看父目录的权限,例如: $$ ls -ld /opt/module/hadoop-3.1.4 $$ 如果父目录的权限是root所有,普通用户无法写入,那么用户需要更改父目录的权限或者使用sudo创建目录。如果用户有sudo权限,可以执行: $$ sudo mkdir -p /opt/module/hadoop-3.1.4/logs $$ 然后,设置正确的所有者和权限,例如: $$ sudo chown -R hadoop:hadoop /opt/module/hadoop-3.1.4 $$ $$ sudo chmod -R 755 /opt/module/hadoop-3.1.4 $$ 这里假设hadoop是运行Hadoop服务的用户和组,755权限允许所有者读写执行,其他用户读和执行。 如果用户没有sudo权限,可能需要联系系统管理员,或者将Hadoop安装在用户有权限的目录下,例如用户的主目录。例如: $$ mkdir ~/hadoop-3.1.4/logs $$ 然后,在Hadoop配置文件中修改日志路径指向这个新位置,比如修改hadoop-env.sh中的HADOOP_LOG_DIR。 此外,用户可能还需要检查SELinux的状态,因为SELinux有时会限制目录的创建。可以使用getenforce命令查看状态,如果是Enforcing模式,可以尝试临时禁用: $$ sudo setenforce 0 $$ 或者添加SELinux策略允许该操作,但这需要更深入的知识。 最后,确保Hadoop的配置文件正确指定了日志目录,并且相关环境变量如HADOOP_LOG_DIR没有指向无权限的路径。例如,在hadoop-env.sh中设置: $$ export HADOOP_LOG_DIR=/path/to/logs $$ 总结一下,解决方案可能包括使用sudo提升权限、修改目录所有者和权限、调整安装路径到用户有权限的位置,以及检查SELinux和配置文件。需要根据具体情况选择合适的步骤。</think>### CentOS创建Hadoop日志目录权限问题解决方案 #### 1. 检查当前用户权限 - 使用命令确认目标路径的权限状态: $$ ls -ld /opt/module/hadoop-3.1.4 $$ 若输出显示目录属主为`root`且无写权限(例如权限为`drwxr-xr-x`),则需要提权操作。 #### 2. 使用sudo创建目录(推荐) ```bash sudo mkdir -p /opt/module/hadoop-3.1.4/logs # 强制递归创建目录 sudo chown -R hadoop:hadoop /opt/module/hadoop-3.1.4 # 修改属主为Hadoop用户[^2] sudo chmod -R 755 /opt/module/hadoop-3.1.4 # 设置合理权限 ``` #### 3. 非sudo用户替代方案 若无sudo权限,可改用用户有写入权限的路径: ```bash mkdir -p ~/hadoop-3.1.4/logs # 在用户主目录创建 ``` 随后修改Hadoop配置文件`etc/hadoop/hadoop-env.sh`: $$ export HADOOP_LOG_DIR=$HOME/hadoop-3.1.4/logs $$ #### 4. 检查SELinux状态 ```bash getenforce # 查看状态 # 临时关闭(重启失效) sudo setenforce 0 # 永久关闭需修改/etc/selinux/config ``` #### 5. 验证操作 ```bash su hadoop # 切换Hadoop用户 touch /opt/module/hadoop-3.1.4/logs/testfile # 测试写入 ``` #### 附加建议 - 集群部署时建议通过`scp`同步配置好的目录到其他节点 - 权限问题可能引发资源管理器启动失败[^3],需确保所有节点目录权限一致
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值