在ubuntu上安装hadoop完分布式
准备工作
Xshell安装包

Xftp7安装包

虚拟机安装包

Ubuntu镜像源文件

Hadoop包
![]()
Java包
![]()
一、安装虚拟机










创建ubuntu系统









完成之后会弹出一个新的窗口





跑完之后会重启一下


按住首先用ctrl+alt+f3进入命令界面,输入root,密码登录管理员账号




按Esc
然后输入
:wq
冒号也要输入

然后找到语言文件
vi /etc/default/locale
最后一行加上以下语句后保存
LC_ALL=zh_CN.UTF-8
reboot
完成之后
在按ctrl+alt+f1进入图形界面

配置完成之后先关闭虚拟机
先配置网络结构
点击设置
之后点击网络



修改完网络配置之后在重启ubuntu






连接Xshell
说明:需要提前先安装好 Xshell 和 Xftp

输入之后,可能中间会中断一次,不要担心,按enter继续就可以了







编辑

将 jdk的包(Linux版)
Hadoop的镜像文件(Hadoop的包)
![]()
eclipse(linux版)
![]()
这几个包从winws转到虚拟机中
开始下一步操作
设置 hostname(3 个虚拟机都设置)
hostname 设置计划
主节点:master
从节点 1:slave1
从节点 2:slave2
切换到 root 用户
su - //切换root用户


修改 hostname
vi /etc/hostname

删掉原有内容,写入:master
按ESC
输入 :wq 分号也要输入
重启后显示新的 hostname
切换到hadoop用户
su hadoop
允许hadoop用户使用超级权限(superprivileges,也称root权限)
注意:默认情况下,不允许普通用户使用超级权限,如果以sudo
作为开头输入指令,会出现如下提示,告知当前用户不在允许使用超级权限的文件内。
需要将当前用户添加到sudoers文件中。
切换到root用户
su -
编辑/etc/sudoers文件
vi /etc/sudoers
移动到文件底部,在rootALL=(ALL) ALL下添加:
[username]ALL=(ALL) ALL
添加后强制保存:wq! 退出。使用exit指令退出root用户(会返回到hadoop用户)
exit

4. 关闭防火墙(3个虚拟机都设置)
查看防火墙运行状态,返回running表示防火墙正在运行中。
sudo ufw status

临时关闭防火墙(系统重启后防火墙又会自动启动)
sudo systemctl stop ufw.service
需要禁止防火墙自动启动(永久关闭)
sudo systemctl disable ufw.service
查看防火墙运行状态,返回running表示防火墙正在运行中。
sudo ufw status
如果终端输出“Status: inactive”,则表示防火墙已成功关闭。

(5)设置IP地址(3个虚拟机都设置)
注意:网段必须与VMnet8子网IP的网段保持一致,网段中xxx.xxx.xxx.1和xxx.xxx.xxx.2(网关(GATEWAY))这两个地址不能使用。例:本机的VMnet8网段为192.168.56.0,则192.168.56.1和192.168.56.2不能使用。可选的IP地址范围为:192.168.56.3-192.168.56.255。
IP地址分配计划
master 192.168.56.3
slave1 192.168.56.4
slave2 192.168.56.5
有命令和窗口页面两种操作方式
窗口页面操作

点击设置(setting)



按照下面的图片内容填写

查看IP地址
ip addr show

6)设置每台主机hostname到IP的映射关系3个虚拟机都设置)
sudo vi /etc/hosts

(在配置文件中追加3行
192.168.126.3 master
192.168.126.4 slave1
192.168.126.5 slave2
测试hostname是否可用
sudo vi /etc/hosts

终止按钮
ctrl c

配置SSH免密登录
(1)生成秘钥对
ssh-keygen -t rsa

2)发送公钥 先发给自己(装完三个节点之后在发送给slave1、slave2)
将master节点上hadoop用户的公钥发给各个节点的hadoop用户(包括自己)
在这样说明一点,要将三台hadoop配置完毕之后在发送其它两台的,下面的代码
要在master节点下一行一行输入
正在途中还要输入yes,密码,
ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@masterssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@slave1(slave1节点装完在输入)ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@slave2(slave2节点装完在输入)



3)测试免密登录
ssh master

(1)安装jdk和hadoop
先解压文件
输入代码
jdk-8u301-linux-x64.tar.gz 是文件名,要改成自己的文件名
hadoop-2.10.1.tar.gz 是文件名,要改成自己的文件名
tar -zxvf jdk-8u301-linux-x64.tar.gztar -zxvf hadoop-2.10.1.tar.gz


移动至/usr/local 路径下
移动jdk
sudo mv jdk1.8.0_301 /usr/local/jdk1.8.0
移动hadoop
sudo mv hadoop-2.10.1 /usr/local/
安装 vim 编辑器,不安装的话可以使用自带的 vi 编辑器
(功能相对少)
sudo apt install vim
打开环境变量配置文件
sudo vim /etc/profile

在文件末尾插入以下定义
export JAVA_HOME=/usr/local/jdk1.8.0export HADOOP_HOME=/usr/local/hadoop-2.10.1export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
按Esc
然后输入
:wq
$ source /etc/profile
测试是否配置成功
测试Hadoop是否安装完成
hadoop version
测试Java是否安装完成
java -version

配置Hadoop
建立保存临时目录的路径
sudo mkdir -p /usr/data/hadoop/tmp
Hadoop 默认启动的时候使用的是系统下的 /temp 目录下,但 是在每一次重启的时候系统都会将其自动清空 ,如果没有临 时的储存目录有可能会在下一次启动 Hadoop 的时候出现 问题。
为防止 Hadoop 运行时出现权限的问题,需要将/usr/data 目 录及其子目录的拥有者全部从 root 改为用户名。 (这里以本机用户名 silin 为例。)
sudo chown sillin:silin -R /usr/data
(4)Hadoop分布式配置(master节点)
进入hadoop安装文件下的/etc/hadoop/文件夹中。
cd /usr/local/hadoop-2.10.1/etc/hadoop
配置hadoop-env.sh脚本文件
将${JAVA_HOME}改为jdk的实际安装路径
vi hadoop-env.sh
将${JAVA_HOME}改为jdk的实际安装路径

配置core-site.xml配置文件
vi core-site.xml
<configuration><property><name>hadoop.tmp.dir</name><value>/usr/data/hadoop/tmp</value></property><property><name>fs.defaultFS</name><value>hdfs://hostname:9000</value></property></configuration>

配置hdfs-site.xml的配置文件
vi hdfs-site.xml
<configuration><property><name>dfs.replication</name><value>2</value></property><property><name>dfs.permissions</name><value>false</value></property></configuration>

将mapred-site.xml.template更名为mapred-site.xml并编辑
cp mapred-site.xml.template mapred-site.xmlvi mapred-site.xml
<property><name>mapreduce.framework.name</name><value>yarn</value></property></configuration>

配置yarn-site.xml
vi yarn-site.xml
<configuration><!-- Site specific YARN configuration properties --><property><name>yarn.resourcemanager.hostname</name><value>hostname</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property></configuration>

vi slaves

到这里master节点就完成了
但是我们需要配置三个节点
要用到虚拟机里面的复制



一定要选完全复制

点击完成就行了
复制两份
要改里面的hostname,和hostname的文件
(5)格式化namenode
hdfs namenode -format

(9)启动(第一次启动需要输入yes)
start-dfs.shstart-yarn.sh

输入jps确认
jps
Master节点

Slave1节点

Slave2节点

参考链接:
在ubuntu上安装hadoop完分布式-CSDN博客
在Centos7下安装Hadoop的完全分布_在ubantu上下载hadoop-CSDN博客
如何在Ubuntu下安装伪分布hadoop_ubantu hadoop伪分布式-CSDN博客
相关文章:
在ubuntu上安装hadoop完分布式
准备工作 Xshell安装包 Xftp7安装包 虚拟机安装包 Ubuntu镜像源文件 Hadoop包 Java包 一、安装虚拟机 创建ubuntu系统 完成之后会弹出一个新的窗口 跑完之后会重启一下 按住首先用ctrlaltf3进入命令界面,输入root,密码登录管理员账号 按Esc 然后输入 …...
Python 语句(二)【循环语句】
循环语句允许执行一个语句或语句组多次,其程序流程图如下: 在python中有三种循环方式: while 循环 当判断条件为 true 时执行循环体,否则退出循环体。for 循环 重复执行语句嵌套循环 (在while循环体中嵌套for循环&…...
(3)(3.3) MAVLink高延迟协议
文章目录 前言 1 配置 2 说明 3 消息说明 前言 ArduPilot 支持 MAVLink 高延迟协议(MAVLink High Latency)。该协议专为卫星或 LoRA 等低带宽或高成本链路而设计。 在此协议中,每 5s 只发送一次 HIGH_LATENCY2 MAVLink 信息。对 MAVLink 命令或请求(…...
【异常处理】Vue报错 Component template should contain exactly one root element.
问题描述 启动VUE项目后控制台报错: Component template should contain exactly one root element. If you are using v-if on multiple elements, use v-else-if to chain them instead.翻译为:组件模板应该只包含一个根元素 查看vue代码࿰…...
Eth-trunk隧道
目录 Eth-trunk (划为二层) 二层trunk 三层交换机 网关冗余 Eth-trunk (划为二层) 一,...
【Ubuntu】将多个python文件打包为.so文件
1.为什么要将python打包为.so文件? 保护源码 2.实战例子 a.安装相应的包 pip install cython 验证安装是否成功 cython --version b.实战的文件目录和内容 hi.py # This is a sample Python script.# Press ShiftF10 to execute it or replace it with your…...
FreeRtos自学笔记3-----参考正点原子视频
FreeRtos任务的创建与删除 任务的创建与删除本质上是调用FreeRtos的API函数。 API函数: 1.xTaskGreate():动态创建任务函数; 2.xTaskGreateStatic();静态创建任务函数; 3.xTaskDelete():任务删除 动态创建任务:任务的任务控制块以…...
使用J-Link Commander通过J-LINK以命令的形式来访问ARM通用MCU
通常我们的操作是写好程序然后将程序下载到芯片里面,然后运行程序来进行相应的操作,其实还可以使用 J − L i n k C o m m a n d e r J-Link\quad Commander J−LinkCommander通过 J − L I N K J-LINK J−LINK以命令的形式来简单访问ARM通用MCU…...
19.删除链表的倒数第N个节点
19.删除链表的倒数第N个节点 力扣题目链接(opens new window) 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 进阶:你能尝试使用一趟扫描实现吗? 示例 1: 输入:head [1,2,3,4,5], n…...
【Linux C | 网络编程】广播概念、UDP实现广播的C语言例子
😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…...
java 面向对象 day3
这里写目录标题 1、 内部类1.1 成员内部类 静态内部类1.2 局部内部类1.3 匿名内部类[重点] 2、枚举2.1 使用枚举类 设计单例模式2.2 小实例 3、泛型3.1 认识泛型3.2 泛型类3.3 泛型接口3.4 泛型方法3.5 注意事项 1、 内部类 内部类 就是定义在一个类中的类 1.1 成员内部类 静…...
Flink 大数据 学习详情
参考视频: 尚硅谷大数据Flink1.17实战教程从入门到精通_哔哩哔哩_bilibili 核心目标: 数据流上的有状态的计算 具体说明: Apache Flink是一个 框架 和 分布式处理引擎,用于对 无界(eg:kafka) 和…...
[项目设计] 从零实现的高并发内存池(四)
🌈 博客个人主页:Chris在Coding 🎥 本文所属专栏:[高并发内存池] ❤️ 前置学习专栏:[Linux学习] ⏰ 我们仍在旅途 目录 6.内存回收 6.1 ThreadCache回收内存 6.2 CentralCache回收内存 Rele…...
02.URL的基本知识和使用
一.认识 URL 1. 为什么要认识 URL ? 虽然是后端给我的一个地址,但是哪部分标记的是服务器电脑,哪部分标记的是资源呢?所以为了和服务器有效沟通我们要认识一下 2. 什么是 URL ? 统一资源定位符,简称网址ÿ…...
人工智能指数报告2023
人工智能指数报告2023 主要要点第 1 章 研究与开发第 2 章 技术性能第 3 章 人工智能技术伦理第 4 章 经济第 5 章 教育第 6 章 政策与治理第 7 章 多样性第 8 章 舆论 人工智能指数是斯坦福大学以人为本的人工智能研究所(HAI)的一项独立倡议,…...
Android如何对应用进行系统签名
一、使用命令 获取签名文件 从系统源码环境中获取签名相关文件: platform.x509.pem、platform.pk8 、signapk.jar platform.x509.pem、platform.pk8 位于 ../build/target/product/security 目录下。signapk.jar 位于 ../out/host/linux-x86/framework 目录下。 …...
【系统安全加固】Centos 设置禁用密码并打开密钥登录
文章目录 一,概述二,操作步骤1. 服务器端生成密钥2. 在服务器上安装公钥3.下载私钥到本地(重要,否则后面无法登录)4. 修改配置文件,禁用密码并打开密钥登录5. 重启sshd服务6. 配置xshell使用密钥登录 一&am…...
关于我在项目中封装的一些自定义指令
什么是指令 在Vue中提供了一套为数据驱动视图更为方便的操作,这些操作被称为指令系统。我们看到的v-来头的行内属性,都是指令,不同的指令可以完成或者实现不同的功能。 除了核心功能默认内置的指令(v-model和v-show)…...
react经验11:访问循环渲染的子组件内容
前有访问单个子组件的需求,现在进一步需要访问循环渲染中的子组件。 访问单个子组件的成员 实施步骤 子组件//child.tsx export declare type ChildInstance{childMethod:()>void } const Child(props:{value:stringonMounted?:(ref:ChildInstance)>void …...
Java开发工程师面试题(业务功能)
一、订单超时未支付自动关闭的几种实现方式。 定时任务扫描:在订单创建时,为订单创建一个定时任务,并设置一个超时时间。后端服务器会定期检查任务的创建时间是否超过了超时时间。如果是,则将订单设置为关闭状态。这种方案需要后…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
《C++ 模板》
目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板,就像一个模具,里面可以将不同类型的材料做成一个形状,其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式:templa…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
android RelativeLayout布局
<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...
什么是VR全景技术
VR全景技术,全称为虚拟现实全景技术,是通过计算机图像模拟生成三维空间中的虚拟世界,使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验,结合图文、3D、音视频等多媒体元素…...
Ubuntu系统多网卡多相机IP设置方法
目录 1、硬件情况 2、如何设置网卡和相机IP 2.1 万兆网卡连接交换机,交换机再连相机 2.1.1 网卡设置 2.1.2 相机设置 2.3 万兆网卡直连相机 1、硬件情况 2个网卡n个相机 电脑系统信息,系统版本:Ubuntu22.04.5 LTS;内核版本…...
倒装芯片凸点成型工艺
UBM(Under Bump Metallization)与Bump(焊球)形成工艺流程。我们可以将整张流程图分为三大阶段来理解: 🔧 一、UBM(Under Bump Metallization)工艺流程(黄色区域ÿ…...
