Hadoop的安装和使用-2024年08月01日

Hadoop的安装和使用-2024年08月01日

  • 1.创建Hadoop用户
  • 2.SSH登陆权限设置
  • 3.java的安装
  • 4.Hadoop单机安装配置
  • 5.Hadoop伪分布式安装配置

1.创建Hadoop用户

如果安装Ubuntu的时候不是用的“hadoop”用户,那么需要增加一个名为 hadoop的用户首先按ctrl+alt+t打开终端窗口,输入如下命令创建新用户

$ sudo useradd -m hadoop -s /bin/bash

上面这条命令创建了可以登陆的hadoop 用户,并使用/bin/bash 作为shell接着使用如下命令设置密码,可简单设置为hadoop,按提示输入两次密码,密码不能够包括用户名,不能太简单,不能少于8位,不能使用password作为密码。

$ sudo passwd hadoop

可为hadoop用户增加管理员权限,方便部署,避免一些对新手来说比较棘手的权限问题,这一步执行完一定他要显示正在将hadoop加入。。。即为成功

$ sudo adduser hadoop sudo

在这里插入图片描述

hadoop账户创建成功后,切换当前用户至hadoop,再继续往下操作注意注意

2.SSH登陆权限设置

SSH为Secure Shell的缩写,是建立在应用层和传输层基础上的安全协议。SSH是目前较可靠、专为远程登录会话和其他网络服务提供安全性的协议。
SSH是由客户端和服务端的软件组成,服务端是一个守护进程(daemon),它在后台运行并响应来自客户端的连接请求,客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序

1.安装vim

$sudo apt-get install vim

在这里插入图片描述

2.下载SSH服务端和客户端

$sudo apt-get install openssh-server

在这里插入图片描述

3.登录本机

$ssh localhost   //输入 'yes',登录本机,每次登录都需密码

在这里插入图片描述

4.配置无密码登录

$exit      //退出登录
$cd  ~/.ssh/ //切换到ssh目录
$ssh-keygen -t rsa //生成密钥,之后在这会按几次回车,看下图
$cat ./id_rsa.pub >> ./authorized_keys //将密钥添加到公钥中

在这里插入图片描述在这里插入图片描述

5.无密码登录

$ssh localhost  //本次登录无需输入密码

3.java的安装

Java环境可选择Oracle的JDK,或是OpenJDK可以在Ubuntu中直接通过命令安装OpenJDK8
1.首先更新下包

sudo apt update

2.安装jdk1.8

sudo apt install openjdk-8-jdk

3.验证安装

java -version

在这里插入图片描述
4.查看你安装目录

update-alternatives --list java

在这里插入图片描述
5.将 Java 可执行文件的路径添加到 PATH 环境变量中:

echo 'export PATH="$PATH:/usr/lib/jvm/java-8-openjdk-amd64/bin"' >> ~/.bashrc
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre

6.重新加载环境变量

source ~/.bashrc

7.pwd查看自己当前路径
在这里插入图片描述
8.在此目录下新建一个文本,写个简单的java代码,做测试

public class test {public static void main(String[] args) {for(int i = 0; i < 10; i++) {System.out.print(i);}}
}

9.修改格式为java文件
在这里插入图片描述

10.打开命令终端 ctrl+alt+t,执行编译命令,代码没错的情况下,会在同目录下多一个文件叫test.class

javac test.java

在这里插入图片描述
11.执行编译文件

java test

在这里插入图片描述
12.至此安装及检测完成

4.Hadoop单机安装配置

1.用linux自带的firefox浏览器访问Hadoop官网,从Apach官网上下载Hadoop 2.10.2版本
https://downloads.apache.org/hadoop/common/hadoop-2.10.2/hadoop-2.10.2.tar.gz
在这里插入图片描述
这里可以看到下载的非常慢,可以使用国内镜像下载
https://downloads.apache.org/hadoop/common/hadoop-2.10.1/hadoop-2.10.1.tar.gz
在这里插入图片描述
2.解压安装Hadoop2.10.2

$cd ~/下载  //切换到Hadoop安装包的位置
$sudo tar -zxf  hadoop-2.10.2.tar.gz -C /usr/local   //将Hadoop解压到/usr/local目录下
$cd /usr/local
$sudo mv ./hadoop-2.10.1/ ./hadoop     //将目录名改为hadoop
$sudo chown -R hadoop ./hadoop         //修改目录权限

在这里插入图片描述
3.检查是否可用

$ cd /usr/local/hadoop
$ ./bin/hadoop version

显示下图即为成功,如果显示JAVA_HOME找不到,自己回到上面重新配置java的path
在这里插入图片描述
4.将hadoop配置环境变量

$sudo vim ~/.bashrc  //打开环境变量目录写入export HADOOP_HOME=/usr/local/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/native"
export PATH=${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:$PATH

在这里插入图片描述
5.查看Hadoop版本信息

$hadoop version   //查看版本信息

在这里插入图片描述

5.Hadoop伪分布式安装配置

1.跳转目录

cd /usr/local/hadoop/etc/hadoop

2.修改 core-site.xml

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

3.修改 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>

4.关闭搜友命令窗口,重新打开命令窗,做格式化并启动

/usr/local/hadoop/bin/hdfs namenode -format

执行后会又一大堆字符,看到has been successfully …,即为成功

5.然后启动全部进程:
start-all.sh

这里可能出现找不到java_home报错,但是执行java -version又可以显示
在这里插入图片描述
此时方法为:修改hadoop-env.sh 文本路径为:

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

里面有个

export JAVA_HOME=${JAVA_HOME}
把这一行改为:
export JAVA_HOME=你javahome的绝对路径即可

6.启动成功图
在这里插入图片描述
7.浏览器打开http://localhost:50070可以看到
在这里插入图片描述

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

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

相关文章

患者特征对AI算法在解释阴性筛查数字乳腺断层摄影研究中的表现的影响| 文献速递-AI辅助的放射影像疾病诊断

Title 题目 Patient Characteristics Impact Performance of AI Algorithm in Interpreting Negative Screening Digital Breast Tomosynthesis Studies 患者特征对AI算法在解释阴性筛查数字乳腺断层摄影研究中的表现的影响 Background 背景 Artificial intelligence (AI)…

新书速览|AI创意商业广告设计:Adobe Firefly + Photoshop

《AI创意商业广告设计:Adobe Fire.yPhotoshop》 本书内容 随着AI技术的出现&#xff0c;平面设计领域也出现了利用人工智能进行创作的程序&#xff0c;比如Firefly、Midjourney、 Stable Di.usion等。这些程序能够创作出高质量的设计作品。其中&#xff0c;Fire.y是由Adobe公司…

【C++】C++应用案例-通讯录管理系统

目录 一、整体介绍 1.1、需求和目标 1.2、整体功能描述 二、页面及功能描述 2.1 主菜单 2.2 添加联系人菜单 2.3 显示联系人菜单 2.4 修改联系人菜单 2.5 退出功能 三、流程设计 3.1 主流程 3.2 添加操作流程 3.3 显示联系人操作流程 3.4 修改联系人操作流程 四…

面试中的算法 [ 持续更新中 ] 基于Python语言 如何判断链表有环

本文主要介绍了如何判断链表有环的问题&#xff0c;并进行了延伸&#xff1a; 如果链表有环如何求出环的长度&#xff0c;入环节点... ...嗯&#xff0c;点个赞总可以不&#xff01;&#xff01;&#xff01; 目录 5.1如何判断链表有环 5.1.1 有一个单向链表&#xff0c;链表…

web端使用HTML5开发《贪吃蛇》小游戏教程【附源码】

自制游戏列表 1植物大战僵尸自制HTML5游戏《植物大战僵尸》2开心消消乐自制HTML5游戏《开心消消乐》3贪吃蛇自制HTML5游戏《贪吃蛇》4捕鱼达人自制HTML5游戏《捕鱼达人》 一、游戏简介 贪吃蛇是一款经典的电子游戏&#xff0c;最早在1976年由Gremlin公司推出&#xff0c;名为…

SimGCL graph contrastive learning by finding homophily in heterophily

发表于: Knowledge and Information Systems, ccfb 推荐指数: #paper/ ⭐ 总结: 重新定义了相似度矩阵, 重新定义了特征, 重新设计了节点删除概率等, 但是, 换汤不换药, 引入了大量的超参 (快 10 个了吧). 创新点不够, 所以 ccf B 期刊理所应该. (甚至我觉得更低) 相关知识: 本…

智慧水务项目(三)django(drf)+angular 18 创建系统管理的用户、角色、部门、权限管理等model

一、说明 添加各model 添加requirement.txt中的库 添加env.py中的动态配置 二、env.py全文 import os from smartwater.settings import BASE_DIR# # # ************** mysql数据库 配置 ************** # # # # 数据库地址 DATABASE_ENGINE "django.db.backends.…

深入理解 C 语言中的联合体

目录 引言 一、 联合体的定义与基本用法 1.联合体的定义 2.基本用法 二、 联合体与结构体的区别 1.结构体 2.联合体 3.对比 ​编辑三、联合体的优势 1. 节省内存 2. 提高效率 3. 代码简洁性 四、联合体的存储细节 1.内存对齐 2.大小计算 五、联合体的高级用法…

windows中node版本的切换(nvm管理工具),解决项目兼容问题 node版本管理、国内npm源镜像切换(保姆级教程,值得收藏)

前言 在工作中&#xff0c;我们可能同时在进行2个或者多个不同的项目开发&#xff0c;每个项目的需求不同&#xff0c;进而不同项目必须依赖不同版本的NodeJS运行环境&#xff0c;这种情况下&#xff0c;对于维护多个版本的node将会是一件非常麻烦的事情&#xff0c;nvm就是为…

JDK-java.nio包详解

JDK-java.nio包详解 概述 一直以来Java三件套&#xff08;集合、io、多线程&#xff09;都是最热门的Java基础技术点&#xff0c;我们要深入掌握好这三件套才能在日常开发中得心应手&#xff0c;之前有编写集合相关的文章&#xff0c;这里出一篇文章来梳理一下io相关的知识点。…

现代前端架构介绍(第三部分):深入了解状态管理层及其对前端App的影响

远离JavaScript疲劳和框架大战&#xff0c;了解真正重要的东西 在第二部分中&#xff0c;我们讨论了功能架构的三个层次。其中一个就是状态管理层&#xff0c;今天我们将对其进行更深入的探讨。下面是现代前端架构系列的第三部分和最后一部分介绍。 状态管理&#xff0c;你可能…

全球轻型汽车市场规划预测:2030年市场规模将接近2502亿元,未来六年CAGR为2.8%

一、引言 随着全球经济的发展和消费者出行需求的增加&#xff0c;轻型汽车作为汽车市场中的重要组成部分&#xff0c;其市场重要性日益凸显。本文旨在探索轻型汽车行业的发展趋势、潜在商机及其未来展望。 二、市场趋势 全球轻型汽车市场的增长主要受全球经济发展、消费者对出…

MySQL基础练习题19-查找拥有有效邮箱的用户

题目&#xff1a;查找具有有效电子邮件的用户 准备数据 分析数据 总结 题目&#xff1a;查找具有有效电子邮件的用户 一个有效的电子邮件具有前缀名称和域&#xff0c;其中&#xff1a; 前缀 名称是一个字符串&#xff0c;可以包含字母&#xff08;大写或小写&#xff09;&…

QtQuick Text-对齐方式

属性 Text项目 的horizontalAlignment和verticalAlignment分别用来设置文本在 Text项目区域中的水平、垂直对齐方式。 默认文本在左上方。 属性值有&#xff1a; horizontalAlignment Text.AlignLeftText.AlignRightText.AlignHCenterText.Justify verticalAlignment Text.…

js 前端 解析excel文件【.xlsx文件】信息内容

需求&#xff1a; 从excel文件中解析里面的内容 1、使用插件xlsx.full.min.js&#xff0c;地址&#xff1a;https://unpkg.com/xlsx/dist/xlsx.full.min.js实例&#xff1a; <script src"https://unpkg.com/xlsx/dist/xlsx.full.min.js"></script><i…

关于inet_addr()中的参数不能是 sring类型的 只能是 string类型变量.c_str()

源码展示&#xff1a; extern in_addr_t inet_addr (const char *__cp) __THROW inet_addr中的参数是const char *类型的 定义一个string 类型的ip 使用这个inet_addr()接口 local.sin_addr.s_addr inet_addr(ip_.c_str()); local.sin_addr.s_addr inet_addr(&ip_);…

(超全)Kubernetes 的核心组件解析

引言 在现代软件开发和运维的世界中&#xff0c;容器化技术已经成为一种标志性的解决方案&#xff0c;它为应用的构建、部署和管理提供了前所未有的灵活性和效率。然而&#xff0c;随着应用规模的扩大和复杂性的增加&#xff0c;单纯依靠容器本身来管理这些应用和服务已不再足够…

零基础入门转录组数据分析——机器学习算法之SVM-RFE(筛选特征基因)

零基础入门转录组数据分析——机器学习算法之SVM-RFE&#xff08;筛选特征基因&#xff09; 目录 零基础入门转录组数据分析——机器学习算法之SVM-RFE&#xff08;筛选特征基因&#xff09;1. SVM-RFE基础知识2. SVM-RFE&#xff08;Rstudio&#xff09;——代码实操2. 1 数据…

VS Code C/C++ MSVC编译器

官方教程 通过快捷方式打开VS Code是编译不了的,需要对tasks.json修改(Tasks: Configure default build task) 先创建tasks.json 复制这段配置到tasks.json,记得修改VsDevCmd.bat的路径 {"version": "2.0.0","windows": {"options"…

Gradle 统一管理依赖

BOM 介绍 BOM 是 Bill of Material 的简写&#xff0c;表示物料清单。BOM 使我们在使用 Maven 或 Gradle 构建项目时对于依赖版本的统一变得更加规范&#xff0c;升级依赖版本更容易。 比如我们使用 SpringBoot 和 SpringCloud 做项目时&#xff0c;可以使用他们发布的 BOM …