Hadoop的伪分布式安装方法
实验环境:
操作系统:Linux (Ubuntu 20.04.5)
Hadoop版本:3.3.2
JDK版本:1.8.0_162
hadoop与jdk的安装包可详见博客中:
https://blog.csdn.net/weixin_52308622/article/details/131947961?spm=1001.2014.3001.5501
(1)创建 hadoop 用户(使用 /bin/bash 作为 Shell)、设置密码(建议简单)并为其添加管理员权限。具体命令如下:
sudo useradd -m hadoop -s /bin/bash
sudo passwd hadoop
sudo adduser hadoop sudo
(2)切换到 hadoop 用户
sudo su - hadoop
(3)安装 SSH server,并测试登陆。
sudo apt-get install openssh-server
ssh localhost
在执行命令时,注意要按照指示输入 yes,再输入 hadoop 用户的密码。在执行结束后,即可通过 SSH 登陆到本机。由于 hadoop 需要通过 SSH 来控制集群,所以需要对 SSH 设置免密登陆,即允许名称节点可以无密码登录集群中的所有机器。
(4)设置SSH 免密登录,利用 ssh-keygen 生成密钥并将秘钥加入到授权中
exit #退出刚才的ssh localhost
cd ~/.ssh/ #若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa #会有提示,都按回车就可以
cat ./id_rsa.pub >> ./authorized_keys #加入授权
在执行 ssh-keygen -t rsa 命令时,每次按回车键即可。此时免密设置完成,使用 ssh localhost 进行验证。
(5)安装 Java环境。Hadoop 3.3.2需要JDK版本在1.8及以上。JDK 1.8安装方式多种多样。这里采取手动安装,需要自行下载 JDK1.8 的安装包。将 JDK 安装包放在 Downloads 目录下,并且创建存放 JDK 文件的目录。如果在切换 Downloads 目录时出现找不到目录,可以重启系统,手动选择进入 hadoop 用户。
cd /usr/lib
sudo mkdir jvm #创建/usr/lib/jvm目录用来存放JDK文件
cd ~/Downloads (Ubuntu为中文版则为cd ~/下载)
sudo tar -zxvf ./jdk-8u162-linux-x64.tar.gz -C /usr/lib/jvm
#把JDK文件解压到/usr/lib/jvm目录下
解压:
(6)查看 JDK 是否解压到 jvm 文件夹中。
cd /usr/lib/jvm
ls
解压成功:
(7)设置 java 环境变量使其生效,并查看版本号验证是否安装成功。
vim ~/.bashrc
上述命令使用vim编辑器打开了hadoop这个用户的环境变量配置文件.bashrc,请在这个文件的开头位置插入如下内容:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_162
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
保存.bashrc文件并退出vim编辑器。然后,继续执行如下命令让.bashrc文件的配置立即生效:
source ~/.bashrc
这时,可以使用如下命令查看是否安装成功:
java -version
插入内容:
至此,成功安装了Java环境。下面将进入Hadoop的安装。
(8)下载 hadoop-3.3.2 至 Downloads 目录,并将Hadoop安装至/usr/local/中。
sudo tar -zxvf ~/Downloads/hadoop-3.3.2.tar.gz -C /usr/local #解压到/usr/local中(/下载)
cd /usr/local/
sudo mv ./hadoop-3.3.2/ ./hadoop #将文件夹名修改为hadoop
sudo chown -R hadoop ./hadoop #修改文件权限
Hadoop解压后即可使用。输入如下命令来检查Hadoop是否可用,成功则会显示Hadoop版本信息:
cd /usr/local/hadoop
./bin/hadoop version
在执行上述命令的过程中,需要注意相对路径与绝对路径:
(9)Hadoop伪分布式配置。对core-site和hdfs-site两个配置文件分别进行修改。
1)cd /usr/local/hadoop/etc/hadoop/
2)vim core-site.xml #使用vim打开配置文件core-site.xml并进行修改
将 core-site.xml 中的配置修改为如下内容:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
3)vim hdfs-site.xml #使用vim打开配置文件hdfs-site.xml并进行修改
将 hdfs-site.xml 中的配置修改为如下内容:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>
将 core-site.xml 中的配置修改为如下内容
将 hdfs-site.xml 中的配置修改为如下内容
(10)对NameNode进行格式化(建议:在执行此步之前可以存快照)
cd /usr/local/hadoop
./bin/hdfs namenode -format
成功的话,会看到“successfully formatted”的提示
看到“successfully formatted”的提示格式化成功
(11)开启NameNode和DataNode守护进程。
在启动完成后使用 jps 命令来查看是否启动成功。若成功启动则会列出如下进程:NameNode, DataNode和SecondaryNameNode(如果SecondaryNameNode没有启动,请运行./sbin/stop-dfs.sh关闭进程,然后再次尝试启动)。如果没有 NameNode 或 DataNode,那就是配置不成功,请仔细检查之前的步骤,或通过查看启动日志排查原因。
./sbin/start-dfs.sh
jps
启动成功
若此步运行出错,可以选择通过日志查看出错内容,恢复快照改正错误再重新启动进程。若 datanode 没有启动,可以输入以下语句解决:
cd /usr/local/hadoop
./sbin/stop-dfs.sh
rm -r ./tmp
./bin/hdfs namenode -format
./sbin/start-dfs.sh
(12)安装成功后,在 linux 浏览器中访问 http://localhost:9870 来查看NameNode和DataNode信息,还可以在线查看HDFS中的文件
相关文章:

Hadoop的伪分布式安装方法
实验环境: 操作系统:Linux (Ubuntu 20.04.5) Hadoop版本:3.3.2 JDK版本:1.8.0_162 hadoop与jdk的安装包可详见博客中: https://blog.csdn.net/weixin_52308622/article/details/131947961?spm1001.2014.3001.550…...

iOS 应用上架的步骤和工具简介
APP开发助手是一款能够辅助iOS APP上架到App Store的工具,它解决了iOS APP上架流程繁琐且耗时的问题,帮助跨平台APP开发者顺利将应用上架到苹果应用商店。最重要的是,即使没有配置Mac苹果机,也可以使用该工具完成一系列操作&#…...

【信号去噪】基于马氏距离和EDF统计(IEE-TSP)的基于小波的多元信号去噪方法研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
智驾SOC shell编程应用实战笔记
文章目录 1. 引言2. 基础2.1 "$"的作用3. 实战笔记3.1 统计某一端口的连接数3.2 获取当前脚本执行的绝对路径3.3 判断某一文件是否存在参考1. 引言 智驾SOC(System on a Chip)是指集成了处理器、存储器、外设和其他功能模块的片上系统,广泛应用于汽车领域中的智能…...

C#实现计算题验证码
开发环境:C#,VS2019,.NET Core 3.1,ASP.NET Core API 1、建立一个验证码控制器 新建两个方法Create和Check,Create用于创建验证码,Check用于验证它是否有效。 声明一个静态类变量存放列表,列…...

【lesson6】Linux下:第一个小程序,进度条代码
文章目录 准备工作sleep问题fflush回车与换行的区别 进度条代码 准备工作 sleep问题 首先我们来看一段代码: 这时候有个 问题这个代码是输出“hello world”还是先sleep三秒? 再来一段代码 这个代码是先sleep三秒还是先输出“hello world”ÿ…...
PostgreSQL实战-pg13主从复制切换测试
PostgreSQL实战-pg13主从复制切换测试 配置PostgreSQL的环境变量 修改/etc/profile文件, vim /etc/profile添加如下内容: # 指定postgres的数据位置 export PGDATA=/var/lib/pg13/data数据联动测试 清空数据表数据 TRUNCATE TABLE tablename;主库清空数据表数据 从库对…...
如何使用OpenCV库进行图像检测
import cv2 # 加载Haar级联分类器 face_cascade cv2.CascadeClassifier(cv2.data.haarcascades haarcascade_frontalface_default.xml) # 读取输入图像 img cv2.imread(input_image.jpg) gray cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 使用Haar级联分类器进行人脸检测 …...

Mybatis中where 1=1 浅析
在一些集成mybatis的工程中经常看到where11 的代码,也有同事问我,这样写有什么用,下面对其进行简单的分析记录一下。 1、场景 看下面这样一段xml中的代码 <select id"queryBook" parameterType"com.platform.entity.Book…...

element中el-input组件限制输入条件(数字、特殊字符)
1、只能输入纯数字 <el-input v-model"aaa" type"text" input"(v)>(aaav.replace(/[^\d]/g,))" /> 2、只能输入纯数字和小数(比如:6.66) <el-input v-model"aaa" type"text&quo…...

会议OA项目之会议发布(一)
目录 前言: 会议发布的产品原型图: 1.会议发布 1.1实现的特色功能: 1.2思路: 使用的数据库: 我们要实现多功能下拉框的形式选择可以参考原文档:https://hnzzmsf.github.io/example/example_v4.html#down…...
【Android】对象为null的一个原因:在方法内部,重新创建了一个新的对象并将其赋值给原对象,但这并不会改变原始的原对象的引用
疑问 现在有代码如下: private GameList multiGameList;/*** 获取多人游戏列表** return 多人游戏列表*/ public GameList getMultiGameList() {if (null multiGameList) {createMultiOrSingleGameList(multiGameList,GameList.TYPE_MULTI);}return multiGameLis…...

macbook 软件iMovie for Mac(专业视频剪辑工具)中文版
iMovie mac中文版是一款针对Mac平台量身定做的视频编辑工具,软件凭借流线型设计和直观的编辑功能,可以让您感受前所未有的方式制作好莱坞风格的预告片和精美电影,并且还可以浏览视频资料库,快速共享挚爱瞬间,创建精美的…...

web APIs-练习一
轮播图点击切换: <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"viewport" content"…...

AX88179A千兆网卡芯片,支持switch联网
AX88179是世界上第一个USB 3.0,千兆以太网控制器,它在单一芯片上集成了USB 3.0 PHY和10/100/1000Mbps千兆以太网MAC / PHY。AX88179是最新此外ASIX的USB-到-LAN产品组合,提供一个小的形式因素的解决方案和插头-和-打法可用性,使嵌…...
Pytorch个人学习记录总结 05
目录 神经网络的基本骨架 卷积操作 torch.nn.functional.conv2d 神经网络的基本骨架 搭建Neural Network骨架主要用到的包是torch.nn,官方文档网址:torch.nn — PyTorch 2.0 documentation,其中torch.nn.Module很重要,是所有所…...

windows部署安装redis安装教程
1、下载redishttps://github.com/tporadowski/redis/releases 2、下载完然后双击安装 比较简单 略过 3、测试是否安装成功 提示bug Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf …...

Jmeter post请求传参问题
同线程组引用参数 新增数据bizId,然后将此次新增数据删除 添加新增数据接口,然后查询数据列表,正则表达式提取bizId 在删除接口引用此值${bizId} 添加断言,执行查看结果 json格式的post请求 摘要:正在执行的活动内容…...
对Windows应用程序进行代码签名
Windows上发布桌面应用程序,您可以看到带有“发布者:未知”的未正确签名的应用程序。 没有被签名的软件 因此,这里有一个有关经验教训的快速指南,可能会帮助您从一开始就正确签署安装程序。请注意,这些说明适用于对已…...

2022 China Open Source Report
| 翻译:黄绍雅、岳扬、刘文涛、李思颖 | 编辑:胡欣元 | 设计:胡欣元 As 2022 finally came to an end, we also emerged from the challenging years of the three-year-long COVID pandemic. The new edition of the "China Open Sourc…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...

HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...

12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)
前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 …...

基于Springboot+Vue的办公管理系统
角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
OD 算法题 B卷【正整数到Excel编号之间的转换】
文章目录 正整数到Excel编号之间的转换 正整数到Excel编号之间的转换 excel的列编号是这样的:a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;…...

ubuntu22.04有线网络无法连接,图标也没了
今天突然无法有线网络无法连接任何设备,并且图标都没了 错误案例 往上一顿搜索,试了很多博客都不行,比如 Ubuntu22.04右上角网络图标消失 最后解决的办法 下载网卡驱动,重新安装 操作步骤 查看自己网卡的型号 lspci | gre…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现指南针功能
指南针功能是许多位置服务应用的基础功能之一。下面我将详细介绍如何在HarmonyOS 5中使用DevEco Studio实现指南针功能。 1. 开发环境准备 确保已安装DevEco Studio 3.1或更高版本确保项目使用的是HarmonyOS 5.0 SDK在项目的module.json5中配置必要的权限 2. 权限配置 在mo…...