在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开发工程师面试题(业务功能)
一、订单超时未支付自动关闭的几种实现方式。 定时任务扫描:在订单创建时,为订单创建一个定时任务,并设置一个超时时间。后端服务器会定期检查任务的创建时间是否超过了超时时间。如果是,则将订单设置为关闭状态。这种方案需要后…...

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

Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...

如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...