Linux下hadoop2.9.2单节点伪分布搭建完全教程

news2026/4/20 16:05:39
配置静态IP在实际应用中由于我们使用的是 DHCPDynamic Host Configuration Protocol 动态主机配置协议服务器来分配的地址那么每次重启DHCP 服务器 ip 地址有 可能是会变动的。 而我们用Linux 来搭建集群学习Hadoop 的话是希望 IP 固 定不变的因为有很多地方会涉及到 IP 地址的配置如果 IP 地址变化就会涉及 到很多相关地方的修改所以我们需要配置静态 IP那么具体如何进行配置呢查看网络信息配置静态IPvi /etc/sysconfig/network-scripts/ifcfg-ens33重启网络服务systemctl start network.service或者service network restart重启测试reboot检查网络ping www.baidu.comx-shell连接工具由于直接在 Linux 虚拟机上操作比较不方便所以我们选择使用第三方远程连接 工具 X-shell 远程连接到 Linux 虚拟机然后通过 X-shell 对 Linux 虚拟机进行 相关操作。下载安装X-Shell远程连接工具X-Shell远程连接Linux虚拟机打开 X-Shell 工具file——new——connection设置连接 然后选择Authentication配置用户名和密码设置账号密码在 Sessions 对话框选中刚刚创建的会话名称hadoop1FileZilla传输工具FileZilla 是一个免费开源的 FTP 软件可以轻松实现文件上传与下载。下载安装FileZillaFileZilla远程连接Linux虚拟机配置主机名和IP映射实际上无论是 IP 地址还是主机名都是为了标识一台主机或者服务器。IP 地址 就是一台主机上网时 IP 协议分配给它的一个逻辑地址主机名(hostname)就相 当于又给这台机器取了一个名字可以为主机取各种各样的名字。如果要用这个 名字去访问这台主机那么就需要配置hostname 与 IP 地址之间的对应关系。vi /etc/hostname写入hadoop1vi /etc/hosts写入192.168.249.161 hadoop1关闭Linux防火墙防火墙是对服务器进行保护的一种服务但是有时候这种服务会带来很大的麻 烦。比如它会妨碍集群间的相互通信所以就需要关闭防火墙。查看防火墙状态systemctl status firewalld关闭防火墙systemctl stop firewalld禁用防火墙开机不自动启动systemctl disable firewalld更换yum源由于centos7停止服务我们需要更换阿里YUM源1下载http://mirrors.aliyun.com/repo/Centos-7.repo文件到桌面2在/etc/yum.repos.d/目录下由于原有源全部失效我们全部删除,cd /etc/yum.repos.d rm -rf *3使用fileZilla将Centos-7.repo上传到/etc/yum.repos.d/4使用下载好的 repos 文件替换默认的 repos 文件mv Centos-7.repo CentOS-Base.repo5清理旧缓存数据缓存新数据yum clean all yum makecache测试安装wingetyum -y install wget能够顺利安装即代表配置完成创建Linux用户和用户组在 Hadoop 平台搭建过程中为了系统安全考虑一般不直接使用超级用户 root 而是需要创建一个新的用户和用户组。添加 hadoop 用户useradd hadoop配置密码123456passwd hadoopLinux SSH免密登录SSH(Secure Shell)是可以在应用程序中提供安全通信的一个协议通过 SSH 可 以安全地进行网络数据传输它的主要原理就是利用非对称加密体系对所有待 传输的数据进行加密保证数据在传输时不被恶意破坏、泄露或者篡改。但是 Hadoop 集群使用SSH 不是用来进行数据传输的而是在 Hadoop 集群启动和 停止的时候主节点需要通过 SSH 协议启动或停止从节点上面的进程。如果不配置 SSH免密登录对 Hadoop 集群的正常使用没有任何影响但是在启动和停止 Hadoop 集群的时候需要输入每个从节点的密码。可以想象一下当集群规模 比较大的时候比如达到成百上千节点的规模如果每次都要分别输入集群节点 的密码这种方法肯定是不可取的所以要对 Hadoop 集群进行 SSH免密登录的 配置。生成密钥对ssh-keygen -t rsa将 公 钥 文 件 id_rsa.pub 中 的 内 容 拷 贝 到 相 同 目 录 下 的 authorized_keys 文件中。cd .ssh/ cp id_rsa.pub authorized_keys切换到 hadoop 用户的根目录然后为.ssh 目录及文件赋予相应的权限。chmod 700 .ssh chmod 600 .ssh/*使用 ssh 命令登录 hadoop1第一次登录需要输入 yes 进行确认第二次以后登录则不需要此时表明设置成功ssh hadoop1JDK安装与配置由于 Hadoop 框架是由Java 语言开发并运行在 JVM 之上所以需要在Linux 中提 前安装 JDK 环境。另外安装 Hadoop 对 JDK 版本也有要求由于安装的 Linux 系统是 64 位的Centos7 系统所以需要安装与之相对应的 64 位 JDK 安装包。针 对 Linux 系统下的 JDK 具体版本可以选择目前比较稳定且常用的 JDK1.8 版本。下载JDK下载对应版本的 jdk-8u141-linux-x64.tar.gz安装包并上传至 hadoop1 节点 的/home/hadoop/app 目录下。2.8.2解压JDK在当前目录下使用 tar 命令对 JDK 进行解压具体操作如下所示。tar -zxvf jdk-8u141-linux-x64.tar.gz为了方便管理多版本 JDK使用 ln 命令创建 JDK 软连接具体操作如下所示。ln -s jdk1.8.0_141 jdk2.8.3配置JDK环境变量在 hadoop 用户下使用 vi 命令打开.bashrc 配置文件添加 JDK 环境变量具 体添加内容如下所示。vi~/.bashrc使用 source 命令执行.bashrc 文件JDK 环境变量才能生效具体操作如下所示。source~/.bashrc echo$JAVA_HOME如有路径输出即安装成功2.9.4检查JDK是否安装成功在 hadoop 用户下使用Java 命令查看 JDK 版本号具体操作如下所示。java -versionJava(TM)SERuntimeEnvironment(build1.8.0_141-b15)JavaHotSpot(TM)64-BitServerVM(build25.141-b15,mixedmode)如果打印的信息如上能查看到 JDK 版本号说明JDK 安装成功。Hadoop的安装与配置下载Hadoop下载对应版本的Hadoop安装包并上传至hadoop1节点的/home/hadoop/app 目录下解压Hadoop在当前目录下使用tar 命令解压Hadoop安装包具体操作如下所示。tar -zxvf hadoop-2.9.2.tar.gz为了方便管理多版本 Hadoop使用 ln 命令创建软连接具体操作如下所示。ln -s hadoop-2.9.2 hadoop配置Hadoop在 Hadoop 安装目录下进入到 etc/hadoop 目录修改 Hadoop 相关配置文件。1修改 core-site.xml 配置文件core-site.xml文件主要配置Hadoop的公有属性具体配置内容如下所示vi core-site.xmlconfiguration property valuehdfs://hadoop1:9000/value !--配置 hdfs NameNode 的地址9000 是 RPC 通信的端口-- /property property namehadoop.tmp.dir/name value/home/hadoop/data/tmp/value !--hadoop 的临时目录-- /property /configuration2修改 hdfs-site.xml 配置文件hdfs-site.xml文件主要配置跟HDFS相关的属性具体配置内容如下所示。configuration property namedfs.namenode.name.dir/name value/home/hadoop/data/dfs/name/value !--配置namenode 节点存储 fsimage 的目录位置-- /property property namedfs.datanode.data.dir/name value/home/hadoop/data/dfs/data/value !--配置 datanode 节点存储block 的目录位置-- /property property namedfs.replication/name value1/value !--配置 hdfs 副本数量-- /property property namedfs.permissions/name valuefalse/value !--关闭hdfs 的权限检查-- /property /configuration3修改 hadoop-env.sh 配置文件hadoop-env.sh 文件主要配置跟 Hadoop 环境相关的变量这里主要修改 JAVA_HOME 的安装目录具体配置内容如下所示。vi hadoop-env.sh找到exportJAVA_HOME 这一行修改为export JAVA_HOME/home/hadoop/app/jdk4修改 mapred-site.xml 配置文件mapred-site.xml 文件主要配置跟 MapReduce 相关的属性这里主要将 MapReduce 的运行框架名称配置为 YARN具体配置内容如下所示。vi mapred-site.xmlconfiguration property namemapreduce.framework.name/name valueyarn/value !--指定运行mapreduce 的环境为YARN-- /property /configuration5修改 yarn-site.xml 配置文件yarn-site.xml文件主要配置跟YARN 相关的属性具体配置内容如下所示。vi yarn-site.xmlconfiguration property nameyarn.nodemanager.aux-services/name valuemapreduce_shuffle/value !--配置NodeManager 执行 MR 任务的方式为 Shuffle 混洗-- /property /configuration6修改 slaves 配置文件slaves 文件主要配置哪些节点为 datanode 角色由于目前搭建的是 Hadoop 伪 分布集群所以只需要填写当前主机的hostname 即可具体配置内容如下所示。vi slaves写入主机名hadoop17配置 Hadoop 环境变量在 hadoop 用户下添加 Hadoop 环境变量具体操作如下所示。vi ~/.bashrc修改为JAVA_HOME/home/hadoop/app/jdk HADOOP_HOME/home/hadoop/app/hadoop CLASSPATH.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar PATH$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH export JAVA_HOME CLASSPATH PATH HADOOP_HOME使用 source 命令执行.bashrc 文件才能使 Hadoop 环境变量生效具体操作如 下所示。source ~/.bashrc hadoop version如果输出 hadoop 2.9.2 即成功8创建 Hadoop 相关数据目录在hadoop用户下创建Hadoop相关数据目录具体操作如下所示。mkdir -p /home/hadoop/data/tmp mkdir -p /home/hadoop/data/dfs/name mkdir -p /home/hadoop/data/dfs/data2.9.4启动Hadoop伪分布集群1格式化主节点 namenode在Hadoop安装目录下使用如下命令对NameNode进行格式化。bin/hdfs namenode -format注意第一次安装 Hadoop 集群需要对 NameNode 进行格式化Hadoop 集群安装 成功之后下次只需要使用脚本 start-all.sh 一键启动 Hadoop 集群即可。2启动 Hadoop 伪分布集群在Hadoop安装目录下使用脚本一键启动Hadoop集群具体操作如下所示。sbin/start-all.sh3查看 Hadoop 服务进程通过 jps 命令查看 Hadoop 伪分布集群的服务进程具体操作如下所示。jps输出2466 DataNode 2948 NodeManager 3271 Jps 2843 ResourceManager 2636 SecondaryNameNode 2366 NameNode如果服务进程中包含 Resourcemanager、Nodemanager、NameNode、DataNode 和 SecondaryNameNode 等 5 个进程这就说明 Hadoop 伪分布集群启动成功。4查看 HDFS 文件系统在浏览器中输入 http://hadoop1:50070/地址通过 web 界面查看 HDFS 文件系统 具体操作如图示。图 2-20 通过web 界面查看 HDFS 文件系统 备注在 windows 平台要用 hadoop1 访问必须在C:\Windows\System32\drivers\etc\hosts 文件中配置。图 2-21 在 hosts 文件中配置 ip 映射5查看 YARN 资源管理系统在浏览器中输入 http://hadoop1:8088/地址通过 web 界面查看 YARN 资源管理系 统具体操作如图所示。2.9.5测试运行Hadoop伪分布集群Hadoop 伪分布集群启动之后我们以Hadoop 自带的WordCount 案例来检测Hadoop 集群环境的可用性。1查看 HDFS 目录在HDFS shell中使用ls命令查看HDFS文件系统目录具体操作如下所示。bin/hdfs dfs -ls /由于是第一次使用HDFS 文件系统所以 HDFS 中目前没有任何目录和文件。2创建 HDFS 目录在 HDFS shell 中使用 mkdir 命令创建 HDFS 文件目录/test具体操作如下所示。bin/hdfs dfs -mkdir /test3准备测试数据集在Hadoop根目录下新建words.log文件并输入测试数据具体操作如下所示。vi words.log写入以下内容hadoop hadoop hadoop spark spark spark flink flink flink4测试数据上传至 HDFS使用put命令将words.log文件上传至HDFS的/test 目录下具体操作如下所示。bin/hdfs dfs -put words.log /test5运行 WordCount 案例使用 yarn 脚本将 Hadoop 自带的 WordCount 程序提交到 YARN 集群运行具体操作 如下所示。bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.2.jar wordcount /test/words.log /test/out6查看作业运行状态在浏览器中输入 http://hadoop1:8088/地址通过 web 界面查看 YARN 中作业运行 状态具体操作如图所示。图 2-23 通过web 界面查看 YARN 中作业运行状态如果在 YARN 集群的 Web 界面中查看到 WordCount 作业最终的运行状态为 SUCCESS就说明 MapReduce 程序可以在 YARN 集群上成功运行。7查询作业运行结果使用cat命令查看WordCount作业输出结果具体操作如下所示。bin/hdfs dfs -cat /test/out/*会输出flink 3 hadoop 3 spark 3如果 WordCount 运行结果符合预期值说明 Hadoop 伪分布式集群已经搭建成功

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2412006.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…