基于VM虚拟机下Ubuntu18.04系统,Hadoop的安装与详细配置

参考博客:

https://blog.csdn.net/duchenlong/article/details/114597944

与上面这个博客几乎差不多,就是java环境配置以及后面的hadoop的hdfs-site.xml文件有一些不同的地方。 

准备工作

1.更新

# 更新
sudo apt update
sudo apt upgrade

2.关闭防火墙( 不用单独开辟端口)

sudo ufw disable

创建Hadoop用户

# 创建Hadoop用户,并使用/bin/bash作为shell
sudo useradd -m hadoop -s /bin/bash# 为Hadoop设置登录密码
sudo passwd hadoop# 增加管理员权限
sudo adduser hadoop sudo

创建一个Hadoop用户,是因为可以避免Hadoop在运行的过程中影响到其他用户的正常使用。

增加管理员权限可以避免Hadoop在运行时,出现一些权限的问题,比如在一些目录下创建文件等。

如何后续的安装在hadoop用户下进行

# 切换为 Hadoop用户
su hadoop

或者退出当前用户:

方法一:使用快捷键Ctrl+D组合键

方法二:在终端中输入$exit或者$logout命令,然后按下回车键就可退出当前用户会话

安装Java 

如果安装的Hadoop是2.*版本的,那么需要安装的java版本最好是1.8,默认安装的是11,在配置伪分布式节点时会报一些警告

sudo apt install openjdk-8-jdk

配置环境变量( Ctrl + s 保存,Ctrl + x 退出)

nano ~/.bashrc

在结尾添加

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

然后更新环境变量

# 更新环境变量
source ~/.bashrc

查看是否安装成功,以及java的版本信息

# 查看是否安装成功
whereis java# java的版本信息
java-version# 环境变量是否导入成功
echo $JAVA_HOME

 

设置ssh免密登录

# 登录localhost
ssh localhost

(忘记直接截图在哪了,放上面博客博主的图吧,操作一样)

然后会在~/目录下发现一个.ssh文件。

配置秘钥,免密登录

# 到.ssh 目录下
cd ~/.sshssh-keygen -t rsa

# 加入授权
cat ./id_rsa.pub >> ./authorized_keys

再次输入$ssh localhost不需要密码的话,就是配置成功了

Hadoop下载安装

安装地址:https://blog.csdn.net/m0_62110645/article/details/134403165?spm=1001.2014.3001.5502

我是使用共享文件夹安装的:

在在virtualbox的ubuntu虚拟机上设置共享文件夹步骤:

1.设置共享文件夹

自行设定共享文件夹路径以及名称,记得勾选自动挂载(A),运行虚拟机的时候才会自动加载该文件夹。

# 将hadoop 压缩包在/usr/local 目录下解压
sudo tar -zxvf hadoop-2.10.1.tar.gz -C /usr/local/# 进入该目录
cd /usr/local# 更新名字文hadoop
sudo mv ./hadoop-2.10.1/ ./hadoop# 修改文件权限
sudo chown -R hadoop ./hadoop 

 配置java环境变量在hadoop中

# 进入配置文件目录
cd /usr/local/hadoop/etc/hadoop# 打开文件
nano hadoop-env.sh

查看hadoop版本信息 

# 进入bin目录
cd /usr/local/hadoop/bin./hadoop version

 

 

伪分布式安装

# 进入配置文件的目录
cd /usr/local/hadoop/etc/hadoop

 需要修改的两个文件core-site.xmlhdfs-site.xml文件

修改core-site.xml文件为:

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

修改hdfs-site.xml文件为:

nano 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><property><name>dfs.http.address</name><value>localhost:50070</value></property>
</configuration>

这里我直接是localhost:50070,在自己主机上访问。因为我按教程来,但是得不到一样的结果,就启动不出教程192.168.*的界面。后来经过四处搜索方法。在终端输入$ifconfig,显示我的是10.0.2.15 。

尝试过什么修改为桥接网络等等各种方法,但始终不成功,所以我干脆修改为只在自己主机运行。

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

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

相关文章

游戏开发团队配置与协作流程

游戏开发技术图谱 - 知乎 游戏制作的流程是什么啊&#xff1f; - 知乎 系统策划&#xff1a;一张图梳理游戏系统的生产流程 - 知乎 游戏开发入门&#xff08;十一&#xff09;游戏引擎架构-CSDN博客

使用SpringBoot集成MyBatis对管理员的查询操作

增删改查中的查询操作&#xff0c;对所有的普通管理员进行查询操作。 效果展示&#xff1a; 不仅可以在打开页面时进行对管理员的自动查询操作&#xff0c;还可以在输入框进行查询。 首先是前端向后端发送POST请求&#xff0c;后端接收到请求&#xff0c;如果是有参数传到后端…

【论文阅读笔记】Emu Edit: Precise Image Editing via Recognition and Generation Tasks

【论文阅读笔记】Emu Edit: Precise Image Editing via Recognition and Generation Tasks 论文阅读笔记论文信息摘要背景方法结果额外 关键发现作者动机相关工作1. 使用输入和编辑图像的对齐和详细描述来执行特定的编辑2. 另一类图像编辑模型采用输入掩码作为附加输入 。3. 为…

Mac M1 安装Docker打包arm64的python项目的镜像包

1、首先安装Docker&#xff0c;到官网下载&#xff0c;选择apple chip版 Docker中文网 官网 2、双击下载的dmg文件&#xff0c;在弹出框中之间拖拽到右边 3、打开docker&#xff0c;修改国内镜像源&#xff0c;位置在配置-DockerEngine "registry-mirrors": ["…

shell 脚本循环语句

目录 循环 echo 命令 for 循环次数 for 第二种格式 命令举例 while 脚本举例 双重循环及跳出循环 脚本举例 更改文件和目录的后缀名的脚本 画三角形的脚本 乘法口诀表的脚本 面试例题 补充命令 let 命令 循环 —— 一定要有跳出循环的条件 已知循环的次数 未知…

NFC:应用场景广泛的短距离通信技术

NFC&#xff1a;应用场景广泛的短距离通信技术 一、NFC 技术介绍1.1 NFC 技术应用场景1.2 NFC 技术优点1.3 NFC 工作原理 二、NFC 开发2.1 NFC 应用开发流程2.2 NFC 读取和写入2.3 NFC 读写功能示例 三、总结 一、NFC 技术介绍 NFC &#xff08;Near-field communication&…

Redis面试内容,Redis过期策略,Redis持久化方式,缓存穿透、缓存击穿和缓存雪崩,以及解决办法

文章目录 一、redis什么是RedisRedis使用场景1、缓存2、数据共享[分布式](https://so.csdn.net/so/search?q分布式&spm1001.2101.3001.7020)3、分布式锁4、全局ID5、计数器6、限流7、位统计 Redis有5中数据类型&#xff1a; SSHLZRedis中一个key的值每天12点过期&#xff…

Leetcode——169 多数元素

我的答案 class Solution {public int majorityElement(int[] nums) {int len nums.length;Arrays.sort(nums);int count 1;int res 0;if(len 1){return nums[0];}for(int i0; i<len-1; i){if(nums[i]nums[i1]){count;}else{count 1;}if(count>len/2){res nums[i]…

【python】python旅游网数据抓取分析(源码+论文)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

逻辑漏洞(业务逻辑)dami CMS

逻辑漏洞&#xff08;业务支付逻辑漏洞&#xff09;dami CMS 0x01 业务逻辑简介 业务逻辑指的是一个系统或应用程序中的实际业务规则和流程。它描述了如何处理特定的业务需求、数据和操作。业务逻辑通常是根据特定行业或组织的需求而设计的。 在软件开发中&#xff0c;业务逻…

transformer之KV Cache

一、为什么要研究KV Cache 非常有效的加速推理速度&#xff0c;效果如下所示&#xff1a; import numpy as np import time import torch from transformers import AutoModelForCausalLM, AutoTokenizer NAME_OR_PATH r*************** device "cuda" if torch.cu…

基于docker实现JMeter分布式压测

为什么需要分布式&#xff1f; 在工作中经常需要对一些关键接口做高QPS的压测&#xff0c;JMeter是由Java 语言开发&#xff0c;没创建一个线程&#xff08;虚拟用户&#xff09;&#xff0c;JVM默认会为每个线程分配1M的堆栈内存空间。受限于单台试压机的配置很难实现太高的并…