在ubuntu上安装hadoop完分布式

news2024/11/15 15:45:17

准备工作

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@master

ssh-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.gz

tar -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.0

export HADOOP_HOME=/usr/local/hadoop-2.10.1

export 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.xml

vi 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.sh

start-yarn.sh

输入jps确认

jps

Master节点

Slave1节点

Slave2节点

 参考链接:

在ubuntu上安装hadoop完分布式-CSDN博客

 在Centos7下安装Hadoop的完全分布_在ubantu上下载hadoop-CSDN博客

如何在Ubuntu下安装伪分布hadoop_ubantu hadoop伪分布式-CSDN博客

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

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

相关文章

详解算法的时间复杂度和空间复杂度!

目录 ​编辑 1. 算法效率 2. 时间复杂度 2.1 时间复杂度的概念 2.2 大O的表示渐进法 2.3 一个栗子 3. 空间复杂度 4. 常见复杂度对比 5. 完结散花 ​​​​​​​ 悟已往之不谏&#xff0c;知来者犹可追 创作不易&#xff0c;宝子们&#xff01;如果这篇文章对你们有…

算法44:动态规划专练(最长公共子串题)

之前写过一篇博客是关于最长公共子序列的博客算法27&#xff1a;最长公共子序列&#xff08;力扣1143题&#xff09;——样本模型&#xff08;4&#xff09;_样本模型无效的条件-CSDN博客 子序列是可以删除某些字符达到的。 比如&#xff1a;字符串1为 a1b2c3. 字符串2为 aqv…

【C语言】【洛谷】P1125笨小猴

一、个人解答 #include<stdio.h> #include<string.h>int prime(int num);int main() {char max a, min z;int maxn0, minn1000;char str[100];int num[26] { 0 };fgets(str, sizeof(str), stdin);str[strcspn(str, "\n")] \0;for (int i 0; str[i]…

错误: 找不到或无法加载主类 com.zql.springbootTest.SpringbootTestApplication

首先查看application.properties是否出现问题 然后可以尝试 maven install

巧用二进制实现俄罗斯方块小游戏

效果预览 思想 首先建立两个数组board、tetris用来存储当前已经堆积在棋盘的方块与正在下落的方块。 这两个是一维数组当需要在页面画棋盘时就对其每一项转成二进制&#xff08;看计算属性tetrisBoard&#xff09;&#xff0c;其中1&#xff08;红色&#xff09;0&#xff08;…

Flink:Temporal Table Function(时态表函数)和 Temporal Join

博主历时三年精心创作的《大数据平台架构与原型实现&#xff1a;数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行&#xff0c;点击《重磅推荐&#xff1a;建大数据平台太难了&#xff01;给我发个工程原型吧&#xff01;》了解图书详情&#xff0c;…

Qt 简约美观的加载动画 第九季

这次和大家分享6个非常清爽的加载动画. &#x1f60a; 效果如下 &#x1f60a; 一共三个文件 , 可以直接编译运行的呢 //main.cpp #include "LoadingAnimWidget.h" #include <QApplication> #include <QGridLayout> int main(int argc, char *argv[]) …

Endnote x9 最快方法批量导入.enw格式文件

按照网上看到的一个方法直接选中所有enw批量拖拽到 All references 附件不行啊&#xff0c; 以为只能写bat脚本方式了 经过一番尝试&#xff0c;惊人的发现拖到下面这个符号的地方就行了&#xff01;&#xff01;&#xff01; 如果不成功的话&#xff0c;可能&#xff1a; 我…

WordPress免费的远程图片本地化下载插件nicen-localize-image

nicen-localize-image&#xff08;可在wordpress插件市场搜索下载&#xff09;&#xff0c;是一款用于本地化文章外部图片的插件&#xff0c;支持如下功能&#xff1a; 文章发布前通过编辑器插件本地化 文章手动发布时自动本地化 文章定时发布时自动本地化 针对已发布的文章…

BioTech - 药物晶型预测与剂型设计 概述

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://blog.csdn.net/caroline_wendy/article/details/136441046 药物晶型预测与剂型设计是指利用计算机模拟和优化药物分子在固态形式下的结构、性质和稳定性&#xff0c;以及与制剂工艺和质…

一维数组、内存理解图--学习JavaEE的day9

day09 一、一维数组 理解&#xff1a; 一组数据的容器 应用场景&#xff1a; 存储多个数据的时候可以考虑使用数组 概念&#xff1a; ​ 1.数组是引用数据类型 ​ 2.数组中的数据&#xff0c;称之为元素 ​ 3.元素的都有编号&#xff0c;称之为下标/索引 ​ 4.下标从0开始 ​…

【MetaGPT】配置教程

MetaGPT配置教程&#xff08;使用智谱AI的GLM-4&#xff09; 文章目录 MetaGPT配置教程&#xff08;使用智谱AI的GLM-4&#xff09;零、为什么要学MetaGPT一、配置环境二、克隆代码仓库三、设置智谱AI配置四、 示例demo&#xff08;狼羊对决&#xff09;五、参考链接 零、为什么…

HTML和CSS (前端共三篇)【详解】

目录 一、前端开发介绍 二、HTML入门 三、HTML基础标签 四、CSS样式修饰 五、HTML表格标签 六、HTML表单标签 一、前端开发介绍 web应用有BS和CS架构两种&#xff0c;其中我们主要涉及的是BS架构。而BS架构里&#xff0c;B&#xff08;Browser浏览器&#xff09;是客户端的…

Sqli-labs靶场第21、22关详解[Sqli-labs-less-21、22]自动化注入-SQLmap工具注入|sqlmap跑base64加密

Sqli-labs-Less-21、22 由于21/22雷同&#xff0c;都是需要登录后&#xff0c;注入点通过Cookie值进行测试&#xff0c;值base64加密 修改注入数据 选项&#xff1a;--tamperbase64encode #自动化注入-SQLmap工具注入 SQLmap用户手册&#xff1a;文档介绍 - sqlmap 用户手册 由…

关于硅金属电阻器?

EAK金属硅电阻器类似于陶瓷复合电阻器&#xff0c;在脉冲负载方面具有优势&#xff0c;需要高峰值功率或高电压与低电感&#xff08;如预充电电路&#xff09;的组合。硅金属电阻器具有更高的连续额定温度&#xff0c;为 350C&#xff0c;而陶瓷电阻器为 250C。这种扩展的温度范…

【java】final、finally和finalize的区别

例题&#xff1a; package com.overload;public class ExceptionTest {public static void main(String[] args) {int result test();System.out.println(result); //100}public static int test(){int i 100;try {return i;} finally {i;}} }结果为&#xff1a;100 造成结果…

JUC并发编程 深入学习Java并发编程【上】

JUC并发编程&#xff0c;深入学习Java并发编程&#xff0c;与视频每一P对应&#xff0c;全系列6w字。 P1-5 为什么学特色预备知识 进程线程概念 进程&#xff1a; 一个程序被运行&#xff0c;从磁盘加载这个程序的代码到内存&#xff0c;就开起了一个进程。 进程可以视为程…

人工智能_大模型015_RAG量化检索增强002_AIGC大模型_本地知识库实时问答_私域和实时场景_量化检索增强---人工智能工作笔记0151

由于上一节我们提到的,关键词检索的局限性,现在我们引出向量检索, 关键词检索有语义上的缺陷,因为我们说法不一样,但是意思一样的话,那么,关键词如果在es库中没有,那么会导致,找不到答案的情况.所以我们引出向量检索,要求语义一样的词,去检索都能找到答案. 我们来说一下这个文…

突破编程_前端_JS编程实例(网站标题栏TAB组件)

1 开发目标 实现如下网站标题栏 TAB 组件&#xff1a; 在点击"页面2"选项卡后&#xff0c;TAB 组件会切换对应的面板&#xff1a; 2 详细需求 网站标题栏 TAB 组件该组件需根据客户端提供的参数创建&#xff0c;具备动态构建 TAB 区域、选项卡切换及自定义内容…

Django模型进阶(Mysql配置、模型管理,表关联、一对一、一对多,多对多)

模型进阶&#xff1a; Mysql配置&#xff1a; 1.安装mysql 2安装MySQL驱动&#xff0c;使⽤mysqlclient pip install mysqlclient pip install -i https://pypi.douban.com/simple mysqlclientLinux Ubuntu下需要先安装&#xff1a;apt install libmysqld-dev 再安装: apt…