Hadoop3.1.3单机(伪分布式配置)
参考:林子雨老师网站博客
Hadoop安装搭建伪分布式教程(全面)吐血整理
环境
Vmare12
Ubuntu16.04
创建Hadoop用户
若安装Ubuntu不是用的“hadoop”用户,则需要增加一个名为"hadoop"的用户
- 直接快捷键ctrl+alt+t或者点击小箭头,以打开终端窗口,输入该命令创建新用户
$ sudo useradd -m hadoop -s /bin/bash
该条命令创建了可以登录的hadoop用户,且使用/bin/bash作为shell
- sudo命令:Ubuntu中一种权限管理机制。管理员可以授权给一些普通用户去执行一些需要root权限执行的操作。
当使用sudo命令时,需要输入当前用户密码 - 密码:在linux的终端中输入密码,终端不显示任何你当前输入的密码,也不会提示已输入了多少字符密码(在windows系统中,输入密码往往会是*)
- 输入法中英文切换:ubuntu中终端输入的命令一般是用英文输入。
- Ubuntu终端复制快捷键:ctrl+v+shift
- 设置密码
以密码hadoop为例
$ sudo passwd hadoop
可以给hadoop用户增加管理员权限,方便部署
$ sudo adduser hadoop sudo
- 注销当前用户
点击屏幕右上角的齿轮,选择注销,返回登陆界面。在登陆界面选择刚创建的hadoop用户进行登录。
更新apt
- (1)为后续一些apt软件安装,更新apt
$ sudo apt-get update
(2)系统设置(左边的小齿轮)→软件和更新(系统)→from中选择other→列表中选[mirrors.aliyun.com]→choose server(右下角)→关闭→重新载入
(3)再次执行sudo apt-get update
2. 为后续方便更改配置文件,安装vim
sudo apt-get install vim
安装时照例有确认,输入y即可
vim常用模式:命令模式,插入模式,可视模式,正常模式
(1)正常模式
主要用来浏览文本内容。
一开始打开vim是正常模式,且在任何模式下按esc键可以返回正常模式
(2)插入编辑模式
用来向文本添加内容。
在正常模式下,输入i键进入插入编辑模式
(3)推出vim
利用vim修改任何文本时,都别忘了保存。
esc键退回到正常模式中,输入:wq可保存并退出vim
安装SSH、配置SSH无密码登录
SSH登录(类似于远程登录,可以登录某台Linux主机,且在上面运行命令)在集群、单节点模式都需用到。
Ubuntu默认已安装了SSH client,此外还需要安装SSH server
sudo apt-get install openssh-server
安装后,登录本机
ssh localhost
SSH首次登录提示,输入yes再按提示输入密码,以登录本机(但该种登录方式需要密码)
- 配置SSH无密码登录
推出刚才的ssh,回到原先的终端窗口,利用ssh-keygen生成密钥,并把密钥加入到授权中
exit # 退出刚才的ssh localhostcd ~/.ssh/ # 若没有该目录,先执行一次ssh localhostssh-keygen -t rsa # 会有提示,按回车即可(当前面又是$再输入下条命令)cat ./id_rsa.pub >> ./authorized_keys #加入授权
~ :在Linux系统中,~代表的是用户的主文件夹,即"/home/用户名"。如你的用户名是hadoop,则 ~ 代表"/home/hadoop/"
#: 其后的内容为注释
此时再用ssh localhost命令,无需输入密码就可以直接登录
安装Java环境
版本匹配:Hadoop3.1.3需要JDK版本在1.8及以上。
- 本机文件传输到虚拟机
借助FileZilla
- 在Linux命令行界面中,执行如下Shell命令(当前登录用户名是hadoop)
cd /usr/lib
sudo mkdir jvm #创建/usr/lib/jvm目录来存放JDK文件
cd ~ # 进入hadoop用户的主目录
cd Downloads # 注意区分大小写字母&刚才通过FTP软件把JDK安装包jdk.8u162-linux-x64.tar.gz上传到该目录下
sudo tar -zxvf ./jdk-8u162-linux-x64.tar.gz -C /usr/lib/jvm # 把JDK文件解压到/usr/lib/jvm目录下
(复制加shift)
- 确认是否添加成功
cd /usr/lib/jvm
ls
看到/usr/lib/jvm目录下有jd1.8.0目录
- 设置环境变量
cd ~
vim ~/.bashrc
使用vim编辑器,输入i进入编辑状态,
在文件开头添加
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
按esc键退出编辑状态,输入:wq保存并退出
- 让.bashrc文件的配置立即生效
source ~/.bashrc
- 查看是否安装成功
java -version
返回版本号啥的说明🆗
安装hadoop3.1.3
hadoop3.1.3
链接:https://pan.baidu.com/s/1BnF9IaBMH8QazFe7BurxOw
提取码:j756
同上用FileZilla传到Ubuntu中,以保存在Downloads为例
sudo tar -zxf ~/Downloads/hadoop-3.1.3.tar.gz -C /usr/local # 解压到/usr/local中
cd /usr/local
sudo mv ./hadoop-3.1.3/ ./hadoop #将文件夹改为hadoop
sudo chown -R hadoop ./hadoop # 修改文件权限
hadoop解压后即可使用。
输入命令检查Hadoop是否可用,显示Hadoop版本信息即为欧克
cd /usr/local/hadoop
./bin/hadoop version
./ 相对路径,以/usr/local/hadoop为当前目录
配置方式(单机&伪单机)
Hadoop单机配置(非分布式)
Hadoop默认模式就是非分布式模式(本地模式),无需进行其他配置即可运行。
非分布式即单Java进程,方便进行调试。
运行./bin/hadoop jar ./share/hadoop/marreduce/hadoop-mapreduce-examples-3.1.3.jar可以看到所有例子。Hadoop附带了丰富的例子,例如wordcount,terasort,join,grep
- 例如运行grep例子,把input文件夹中的所有文件作为输入,筛选当中符合正则表达式dfs[a-z.]+的单词并统计出现的次数,最后输出结果到output文件夹中
cd /usr/localhadoop
mkdir ./input
cp ./etc/hadoop/*.xml ./input #把配置文件作为输入文件
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar grep ./input ./output 'dfs[a-z.]+'
cat ./output/* #查看运行结果(符合正则规矩的单词出现了一次)
Hadoop默认不会覆盖结果文件,则再次运行上面实例的话会提示出错,需要先把./output
删除
rm -r ./output
Hadoop伪分布式配置
- 配置
Hadoop的配置文件位于/usr/local/hadoop/etc/hadoop/中
cd /usr/local/hadoop
cd etc
cd hadoop
伪分布式需要修改两个配置文件:core-site.xml和hdfs-site.xml.
vim core-site.xml
把其中的
<configuration>
</configuration>
改为(退出的时候记得保存)
<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>
同理,把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>
Hadoop的运行方式是由配置文件决定的(运行Hadoop时会读取配置文件)。
若需要从伪分布式模式切换为非分布式模式,需要删除core-site.xml中的配置项。
- 格式化
cd /usr/local/hadoop
./bin/hdfs namenode -format
返回的一大堆信息中,后半部分有“successfully formatted”即为成功
- 启动Namenode和DataNode守护进程
cd /usr/local/hadoop # 已进入该目录则无需重复
./sbin/start-dfs.sh # start-dfs.sh是个完整的可执行文件,中间没有空格
- 检查是否启动成功
jps
若出现了以下三个进程(除jps的三个)(缺一不可),说明🆗

简单运行Hadoop伪分布式实例
创建多级目录并检查


相关文章:
Hadoop3.1.3单机(伪分布式配置)
参考:林子雨老师网站博客 Hadoop安装搭建伪分布式教程(全面)吐血整理 环境 Vmare12 Ubuntu16.04 创建Hadoop用户 若安装Ubuntu不是用的“hadoop”用户,则需要增加一个名为"hadoop"的用户 直接快捷键ctrlaltt或者点…...
HBase---浅谈HBase原理
浅谈HBase原理 文章目录浅谈HBase原理HBase定义HBase逻辑结构HBase物理存储结构TimeStampType数据模型NaneSpaceRegionRowColumnTineStampCellHBase架构MasterMaster 架构Meta 表格介绍Region ServerRegionServer 架构MemStoreWALBlockCacheZookeeperHDFSHBase写数据流程HBase读…...
学习笔记四:dockerfile
Dockerfile概述dockerfile语法详解FROMMAINTAINERRUN:指定在当前镜像构建过程中要运行的命令EXPOSE指令CMDENTERYPOINTCOPYADDVOLUMEWORKDIRENVUSERONBUILDLABELHEALTHCHECKARG概述 Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜…...
微服务里的小问题
1.微服务为什么设置不同的namespace 为了实现三种服务三种情况下的隔离。 2.为什么要用nginx为naocos集群结点做负载均衡? 2.1 正向代理 就像我们访问外网需要一个代理。 2.2 反向代理 我们不需要访问真实的ip,只需要访问 这个服务的代理服务器即可&a…...
数据库之基本功:Where 中常用运算符
1. 运算符及优先级 ( )优先级最高 SQL> show user; USER is "SCOTT" SQL> select ename, job, sal, comm from emp where jobSALESMAN OR jobPRESIDENT and sal> 1500;ENAME JOB SAL COMM …...
浅谈 Nodejs原型链污染
一直在做php的题目,对其它语言做的很少。刚好在西湖论剑2022复现时,遇到了一道原型链污染的题目,借此机会开始简单学习一下 Nodejs的洞 p🐂讲解的十分清楚,因此下面举例子就直接用p🐂的例子进行解释了 目…...
Linux系统安装Docker
目录 Linux系统安装Docker 1、如果之前安装过旧版本的Docker,可以使用下面命令卸载 2、安装docker 3、启动docker 4、配置镜像加速 Linux系统安装Docker 前提:Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10࿰…...
MCP2515国产替代DP2515带有SPI 接口的独立CAN 控制器
DP2515是一款独立控制器局域网络(Controller AreaNetwork, CAN)协议控制器,完全支持CAN V2.0B 技术规范。该器件能发送和接收标准和扩展数据帧以及远程帧。DP2515自带的两个验收屏蔽寄存器和六个验收滤波寄存器可以过滤掉不想要的…...
【Kubernetes】第二十篇 - k8s 污点和容忍度
一,前言 上一篇,介绍了 k8s ConfigMap 管理服务环境变量; 本篇,介绍 k8s 污点和容忍度; 二,污点与容忍度介绍 通过污点和容忍度配置可以干预 Pod 部署到特定的节点; 比如: 不想让…...
60% 程序员大呼:我要远程办公!
近几年数字化的普及,白领们从挤地铁、打卡、开会、写日报转变成“早上9点视频会议”,企业的办公场所也从写字楼、会议室、工位变成了手机、电脑中的线上会议室,远程办公已经成为一种流行的办公形式。《财富》杂志发现,75%的员工表…...
jmeter+ant+jenkins接口自动化测试框架
大致思路:Jmeter可以做接口测试,也能做压力测试,而且是开源软件;Ant是基与java的构建工具,完成脚本执行并收集结果生成报告,可以跨平台,Jenkins是持续集成工具。将这三者结合起来可以搭建一套We…...
【protoc自定义插件】「go语言」实现rpc的服务映射成http的服务,protoc生成gin的插件,(详解实现原理及过程)
文章目录前言一、工程实践中如何更好的使用proto文件?二、protoc命令如何查询依赖的proto文件以及执行原理1. protoc命令如何查询依赖的proto文件2. protoc执行的插件加载原理是什么?3. proto文件中的package和go_package的作用三、protoc插件开发原理体…...
【C语言】3天速刷C语言(语句、函数)
语句分支语句if语句if语句语法结构语法结构: if(表达式)语句; if(表达式)语句1; else语句2; //多分支 if(表达式1)语句1; else if(表达式2)语句2; else语句3;表达式如果成立,则执行,不成立则弹出。switch语句语法结构:switch(…...
Linux系统中指针的详细分析与操作
文章目录 一、指针 二、指针的初始化 三、指针的运算 四、指针与数组 五、指针与字符串 六、函数指针 七、NULL 指针 八、对复杂指针的解释 C 语言指针真正精髓的地方在于指针可以进行加减法,这一点极大的提升了程序的对指针使用的灵活性,同时也…...
工程(十一)——NUC11+D435i+VINS-FUSION+ESDF建图(github代码)
博主的合并代码gitgithub.com:huashu996/VINS-FUSION-ESDFmap.git一、D435i深度相机配置1.1 SDKROS参考我之前的博客,步骤和所遇见的问题已经写的很详细了https://blog.csdn.net/HUASHUDEYANJING/article/details/129323834?spm1001.2014.3001.55011.2 相机标定参数…...
第十四届蓝桥杯三月真题刷题训练——第 4 天
目录 题目 1 :九数算式_dfs回溯(全排列) 题目描述 运行限制 代码: 题目2:完全平方数 问题描述 输入格式 输出格式 样例输入 1 样例输出 1 样例输入 2 样例输出 2 评测用例规模与约定 运行限制 代码: 题目 1 &am…...
Hadoop 运行环境搭建(开发重点)
文章目录Hadoop 运行环境搭建(开发重点)一、安装JDK二、安装配置 Hadoop1、安装 hadoop2、hadoop 目录结构3、设置免密登录4、完全分布式模式(开发重点)1)分发jdk2)集群配置(1) 集群部署规划(2) 配置文件说…...
在社交媒体上行之有效的个人IP趋势
如果您认为无论是获得一份工作、建立一家企业还是推动个人职业发展,社交媒体都是帮助您实现目标的可靠工具,那么个人IP就是推动这一工具前进的燃料。个人IP反映了您是谁,您在所处领域的专业程度,以及您与他人的区别。社交媒体将有…...
Java网络编程
网络编程 什么是网络编程? 可以让设备中的程序与网络上其他设备中的程序进行数据交互(实现网络通信) Java.net. 包下提供了网络编程的解决方案* 基本的通信架构 基本的通信架构有两种方式:CS架构(Client客户端/Se…...
PTA:L1-001 Hello World、L1-002 打印沙漏、L1-003 个位数统计(C++)
目录 L1-001 Hello World 问题描述: 实现代码: L1-002 打印沙漏 问题描述: 实现代码: 原理思路: L1-003 个位数统计 题目描述: 实现代码: 原理思路: 过于简单的就不再写题…...
uniapp中使用aixos 报错
问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...
select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...
pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
JAVA后端开发——多租户
数据隔离是多租户系统中的核心概念,确保一个租户(在这个系统中可能是一个公司或一个独立的客户)的数据对其他租户是不可见的。在 RuoYi 框架(您当前项目所使用的基础框架)中,这通常是通过在数据表中增加一个…...
【7色560页】职场可视化逻辑图高级数据分析PPT模版
7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...
人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式
今天是关于AI如何在教学中增强学生的学习体验,我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育,这并非炒作,而是已经发生的巨大变革。教育机构和教育者不能忽视它,试图简单地禁止学生使…...
MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用
文章目录 一、背景知识:什么是 B-Tree 和 BTree? B-Tree(平衡多路查找树) BTree(B-Tree 的变种) 二、结构对比:一张图看懂 三、为什么 MySQL InnoDB 选择 BTree? 1. 范围查询更快 2…...
认识CMake并使用CMake构建自己的第一个项目
1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...
OCR MLLM Evaluation
为什么需要评测体系?——背景与矛盾 能干的事: 看清楚发票、身份证上的字(准确率>90%),速度飞快(眨眼间完成)。干不了的事: 碰到复杂表格(合并单元…...
