Hadoop Single Node Cluster的安装

Hadoop Single Node Cluster的安装

  • 安装JDK
    • 查看java -version
    • 更新本地软件包
    • 安装JDK
    • 查看java安装位置
  • 设置SSH无密码登录
  • 安装hadoop
    • 下载
    • 安装
    • 设置hadoop环境变量
    • 修改hadoop配置设置文件
    • 设置core-site.xml
    • 设置YARN-site.xml
    • 设置mapred-site.xml
    • 设置HDFS分布式文件系统
      • 创建并格式化HDFS目录
  • 启动hadoop
    • 打开hadoop resource-manager web页面

安装JDK

hadoop是基于java开发的,所以要先安装java环境

查看java -version

打开terminal执行命令java -version,如果显示如下图所示,说明没有安装java。

在这里插入图片描述

更新本地软件包

要安装Java 先更新一下本地软件包,使用如下命令:

sudo apt update

在这里插入图片描述

安装JDK

执行以下命令安装 OpenJDK:

sudo apt install default-jre

安装完成后,验证一下安装 JDK 的版本:

java -version

在这里插入图片描述

sudo apt-get install default-jdk

在这里插入图片描述

查看java安装位置

update-alternatives --display java

在这里插入图片描述

其中/usr/lib/jvm/java-11-openjdk-amd64/bin/java就是java的路径

设置SSH无密码登录

Hadoop是有很多台服务器组成的,当我们启动hadoop系统时,namenode必须与datanode连接并管理这些节点(datanode)。此时系统会要求用户输入密码。为了让系统顺利运行而不手动输入密码,需要将SSH设置成无密码登录。注意,无密码登录并非不需要密码,而是事先交换SSH Key(密钥)来进行身份认证。
在这里插入图片描述

安装ssh

sudo apt-get install ssh

安装rsync

sudo apt-get install rsync

产生ssh key(密钥)进行后续身份验证

ssh-keygen -t dsa -P '' -f  ~/.ssh/id_dsa

在这里插入图片描述

查看产生的SSH Key(密钥)

ll ~/.ssh

在这里插入图片描述

其中id_dsa和id_dsa.pub为产生的密钥文件

将产生的公钥加入许可证文件

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

重定向符号“>>”会将命令运行产生后的标准输出(stdout)重定向附加在该文件之后,当上述命令运行后,会将/.ssh/id_dsa.pub附加到/.ssh/authorized_keys许可证文件之后。

安装hadoop

下载

来到下载页面
https://archive.apache.org/dist/hadoop/common/hadoop-2.6.4/

在这里插入图片描述

选中hadoop-2.6.4.tar.gz

右键,选复制链接

在这里插入图片描述

复制后的链接如下:

https://archive.apache.org/dist/hadoop/common/hadoop-2.6.4/hadoop-2.6.4.tar.gz

使用wget执行下载命令

wget https://archive.apache.org/dist/hadoop/common/hadoop-2.6.4/hadoop-2.6.4.tar.gz

其实更好的方法是直接下载下来然后传到虚拟机上

安装

解压压缩包

sudo tar -zxvf hadoop-2.6.4.tar.gz

移动文件夹

将解压出的文件夹移动到 /usr/local/hadoop目录

sudo mv hadoop-2.6.4 /usr/local/hadoop

查看hadoop安装目录

ll /usr/local/hadoop 

在这里插入图片描述

常用目录说明

目录说明
bin/各项运行文件,包括hadoop、hdfs、yarn等
sbin/各项shell运行文件,包括start-all.sh、stop-all.sh
etc/etc/hadoop子目录包括hadoop配置文件,例如hadoop-env.sh、core-site.xml、yarn-site.xml、mapred-site.xml、hdfs-site.xml
lib/hadoop函数库
logs/系统日志,可以查看系统运行情况,运行有问题时可以从日志找出错误原因

设置hadoop环境变量

编辑 ~/.bashrc

sudo gedit ~/.bashrc

打开结果如下

在这里插入图片描述

在后边加入输入以下内容然后保存

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH    

其含义为

设置JDK安装路径(需要读者根据自己安装的java版本自行调整)

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

Hadoop的安装路径

export HADOOP_HOME=/usr/local/hadoop

设置PATH

export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

设置HADOOP其他环境变量

export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME

链接库相关设置

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH    

使得~/.bashrc设置生效

source ~/.bashrc 

修改hadoop配置设置文件

sudo gedit /usr/local/hadoop/etc/hadoop/hadoop-env.sh 

打开如下

在这里插入图片描述

原本文件中的JAVA_HOME的设置为

export JAVA_HOME=${JAVA_HOME}

修改为

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

保存并关闭

设置core-site.xml

sudo gedit /usr/local/hadoop/etc/hadoop/core-site.xml

打开后如下

在这里插入图片描述

添加以下配置

<configuration>
<property><name>fs.default.name</name><value>hdfs://localhost:9000</value>
</property>
</configuration>

修改后结果如下

在这里插入图片描述

设置YARN-site.xml

输入以下命令

sudo gedit /usr/local/hadoop/etc/hadoop/yarn-site.xml

在这里插入图片描述

输入以下配置

<property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value>
</property>
<property><name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name><value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>

添加结果如下

在这里插入图片描述

设置mapred-site.xml

Mapred-site.xml用于设置监控Map与Reduce程序的JobTracker任务分配情况以及TaskTraker任务的运行情况。Hadoop提供了设置的模板文件,可以自行复制修改

sudo cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/etc/hadoop/mapred-site.xml 

编辑mapred-site.xml

sudo gedit /usr/local/hadoop/etc/hadoop/mapred-site.xml

打开后的结果如下:

在这里插入图片描述

添加以下配置

<property><name>mapreduce.framework.name</name><value>yarn</value>
</property>

添加后的结果如下:

在这里插入图片描述

设置HDFS分布式文件系统

打开hdfs-site.xml

sudo gedit /usr/local/hadoop/etc/hadoop/hdfs-site.xml

插入以下内容

<property><name>dfs.replication</name><value>3</value>
</property>
<property><name>dfs.namenode.name.dir</name><value>file:/usr/local/hadoop/hadoop_data/hdfs/namenode</value>
</property>
<property><name>dfs.datanode.data.dir</name><value>file:/usr/local/hadoop/hadoop_data/hdfs/datanode</value>
</property>

默认的blocks副本备份数量是每一个文件在其他node的备份数量,默认值为3。编辑完成后,先保存,再关闭gedit。

创建并格式化HDFS目录

创建namenode数据存储目录

sudo mkdir -p /usr/local/hadoop/hadoop_data/hdfs/namenode

创建datanode数据存储目录

sudo mkdir -p /usr/local/hadoop/hadoop_data/hdfs/datanode

将hadoop目录的所有者更换为当前用户名
我这里用户名是aixing,大家可以自行更换

sudo chown aixing:aixing -R /usr/local/hadoop

格式化HDFS

如果HDFS已有数据,执行会删除掉所有数据

hadoop namenode -format

在这里插入图片描述

启动hadoop

启动HDFS

start-dfs.sh

启动hadoop mapreduce 框架yarn

start-yarn.sh

同时启动HDFS、yarn

start-all.sh

查看namenode、datanode进程是否启动
在这里插入图片描述

其中ResourceManager和NodeManager是Yarn相关进程,NameNode、SecondNameNode、DataNode是HDFS相关进程

打开hadoop resource-manager web页面

打开Hadoop ResourceManager web
点开浏览器,访问链接:http://localhost:8088/
打开后页面如下:

在这里插入图片描述

点击Nodes就会显示当前所有节点,不过我们安装的是single Node Cluster,所有只有一个节点
在这里插入图片描述

Namenode HDFS Web 界面

打开浏览器访问:http://localhost:50070/
查看Live Nodes,可以看到启动了1个节点

在这里插入图片描述

查看DataNode

在这里插入图片描述

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

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

相关文章

华为配置OSPF与BFD联动示例

组网需求 如图1所示&#xff0c;SwitchA、SwitchB和SwitchC之间运行OSPF&#xff0c;SwitchA和SwitchB之间的交换机仅作透传功能。现在需要SwitchA和SwitchB能快速感应它们之间的链路状态&#xff0c;当链路SwitchA-SwitchB发生故障时&#xff0c;业务能快速切换到备份链路Swi…

HTML---CSS美化网页元素

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 一.div 标签&#xff1a; <div>是HTML中的一个常用标签&#xff0c;用于定义HTML文档中的一个区块&#xff08;或一个容器&#xff09;。它可以包含其他HTML元素&#xff0c;如文本、图像…

3.2 内容管理模块 - 课程分类、新增课程、修改课程

内容管理模块-课程分类、新增课程、修改课程 文章目录 内容管理模块-课程分类、新增课程、修改课程一、课程分类1.1 课程分类表1.2 查询树形结构1.2.1 表自连接1.2.2 SQL递归 1.3 Mapper1.4 Service1.5 Controller1.6 效果图 二、添加课程2.1 需求分析2.2 数据表2.2.1 课程基础…

嵌入式科普(5)ARM GNU Toolchain相关概念和逻辑

一、目的/概述 二、资料来源 三、逻辑和包含关系 四、Arm GNU Toolchain最常用的命令 嵌入式科普(5)ARM GNU Toolchain相关概念和逻辑 一、目的/概述 对比高集成度的IDE(MDK、IAR等)&#xff0c;Linux开发需要自己写Makefile等多种脚本。eclipse、Visual Studio等需要了解预处…

Selenium框架的使用心得(一)

最近使用selenium框架实现业务前端的UI自动化&#xff0c;在使用selenium时&#xff0c;有一些心得想要和大家分享一下~ Selenium是一款用于web应用程序测试的工具&#xff0c;常用来实现稳定业务的UI自动化。这里&#xff0c;不想对其发展历史做介绍&#xff0c;也不想用官方…

vscode 文件目录栏缩进

一个好的开发IDE&#xff0c;一定是让人赏心悦目的&#xff0c;这个赏心悦目也一定是包含层级目录的清晰明了&#xff01;不能像感冒的鼻涕一样一擤一摊子&#xff01;就像。。。。嗯&#xff0c;算了&#xff0c;断子还是不讲了&#xff0c;怕有些妹子投诉 或发消息批评我。。…

【ppt密码】ppt的密码忘了,怎么破解

PPT文件设置了保护密码&#xff0c;但是密码忘记了&#xff0c;无法打开PPT文件、无法编辑PPT文件了该怎么办&#xff1f;PPT文件的两种保护密码该如何解密&#xff1f; 首先是打开密码 网上有一种解决方法&#xff1a; 1、重新命名PPT文件&#xff0c;将其后缀改为zip格式&…

Shell编程基础 – C语言风格的Bash for循环

Shell编程基础 – C语言风格的Bash for循环 Shell Programming Essentials - C Style For Loop in Bash By JacksonML 循环是编程语言的基本概念之一&#xff0c;同样也是Bash编程的核心。当用户需要一遍又一遍地运行一系列命令直到达到特定条件时&#xff0c;例如&#xff1…

优点和缺点(以及在求职过程中如何处理它们)

你知道你会感到紧张&#xff0c;因为你真的很想要这份工作。当人力资源人员提出这个普遍存在的问题“你的优势和劣势是什么&#xff1f;”时&#xff0c;他们在寻找什么&#xff1f; 有哪些突出的优点和缺点示例&#xff1f;您如何将这些示例个性化&#xff0c;以免听起来像人…

leecode题解Golang版本-3-无重复字符最长子串

题目 无重复字符最长子串 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长子串 的长度。 题解 func lengthOfLongestSubstring(s string) int {m : make(map[uint8]int)res : 0for l, r : 0, 0; r < len(s); r {m[s[r]]if v, ok : m[s[r]]; !ok || v 1…

智能优化算法应用:基于世界杯算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于世界杯算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于世界杯算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.世界杯算法4.实验参数设定5.算法结果6.参考文…

小程序自定义轮播图样式

小程序自定义轮播图样式以下是各案例&#xff0c;仅供大家参考。 效果展示&#xff1a; index.wxml代码&#xff1a; <view><!-- 轮播 --><view><swiper indicator-dots"{{indicatorDots}}"autoplay"{{autoplay}}" interval"{{…

数据可视化的魅力你了解吗?

你真的了解数据可视化吗&#xff1f;它所具备的真正魅力可能远远超出我们想象。数据可视化扩展了我们对数字和信息的简单理解&#xff0c;为我们揭示了一个无限可能的世界。今天我就以可视化行业的多年工作经验出发&#xff0c;和大家简单聊聊数据可视化的魅力。 数据的故事化…

STM32——时钟树与滴答计时器

STM32——时钟树与滴答计时器 使用的开发板为stm32F407VET6的芯片,主要介绍stm32的时钟树与滴答计时器的一些理论和一个自己编写的delay函数。 时钟树的结构图可以在STM32F4xx中文参考手册.pdf中的时钟这块找到。而滴答计时器是内核资源&#xff0c;需要到Cortex M3与M4权威指南…

【VScode】设置语言为中文

1、下载安装好vscode 2、此时可看到页面为英文&#xff0c;为方便使用可切换为中文 3、键盘按下 ctrlshiftP 4、在输入框内输入configure display language 5、选择中文&#xff0c;restart即可&#xff08;首次会有install安装过程&#xff0c;等待安装成功后重启即可&am…

算法设计与分析2023秋-头歌客观题-张超(云南农业大学)

文章目录 第一章客观题练习关于算法描述正确的是&#xff08; &#xff09;算法的要素包括&#xff08; &#xff09;分析算法&#xff0c;最重要的是衡量算法哪两个方面的效率&#xff08; &#xff09;算法的表示方法有&#xff08; &#xff09; 第二章客观题练习关于算法分…

nodejs+vue+微信小程序+python+PHP国漫推荐系统-计算机毕业设计推荐

使得本系统的设计实现具有可使用的价。做出一个实用性好的国漫推荐系统&#xff0c;使其能满足用户的需求&#xff0c;并可以让用户更方便快捷地国漫推荐。这个系统的设计主要包括系统页面的设计和方便用户互动的后端数据库&#xff0c;在开发后需要良好的数据处理能力、友好的…

git push提交出现Everything up-to-date提示问题

以前通过git提交代码到GitHub上的个人main分支时&#xff0c;曾出现过这样一个很低级的错误—— 出现这个错误原因&#xff0c;其实就是没有正确执行指令造成的&#xff0c;也就是没有正常提交数据。 一般按照以下命令提交&#xff0c;基本就没什么问题了—— git add . #添…

5路开关量转继电器 Modbus TCP远程I/O模块 YL95 RJ-45网络接口通信

特点&#xff1a; ● 五路开关量输入&#xff0c;五路继电器输出 ● 支持Modbus TCP 通讯协议 ● 内置网页功能&#xff0c;可以通过网页查询电平状态 ● 可以通过网页设定继电器输出状态 ● DI信号输入&#xff0c;DO输出及电源之间互相隔离 ● 宽电源供电范围&#x…

选择排序、快速排序和插入排序

1. 选择排序 xuanze_sort.c #include<stdio.h> #include<stdlib.h>//选择排序void xuanze_sort(int arr[],int sz){//正着for(int i0;i<sz;i){//外层循环从第一个数据开始依次作为基准数据for(int j i1;j<sz;j){//int j i1 因为第一个数据作为了基准数据&…