IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Ubuntu下伪分布式安装Hadoop详细教程 -> 正文阅读

[大数据]Ubuntu下伪分布式安装Hadoop详细教程

目录

前言

一、修改配置文件

1. 配置 .bashrc 文件

2. 配置伪分布式

二、初始化文件系统

三、验证安装

1. 启动HDFS

?2. 部分报错

总结



前言

????????Hadoop 的伪分布式安装需要建立在 Hadoop 的单机安装之上,关于 Hadoop 的单机安装可以参考作者的另一篇博客:Ubuntu下单机安装Hadoop详细教程(附所需安装包下载)

????????本文安装的 Hadoop 及 Java 环境基于林子雨老师的《大数据技术原理与应用(第3版)》中所要求,其中?Java 版本为1.8.0_301Hadoop 版本为3.3.1,这里我的操作系统环境是 Ubuntu 20.04,此安装方法同样适用于低版本。


一、修改配置文件

1. 配置 .bashrc 文件

修改 .bashrc 文件:

sudo gedit ~/.bashrc

往文件末加入以下两行:

# 注意此处的路径和你的hadoop文件最后解压存放的位置是一致的
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

使配置文件立即生效:

source ~/.bashrc

2. 配置伪分布式

对于伪分布式配置,我们需要修改 core-site.xmlhdfs-site.xml 两个文件,这两个文件在我们单机安装好的 Hadoop 目录下的 /etc/hadoop 文件夹内。

Ctrl + Alt + T 打开终端,进入 Hadoop 安装目录:

cd /usr/local/hadoop

输入 ls 命令,可以看到如下输出:

hadoop@fzqs-computer:/usr/local/hadoop$ ls
bin? ? ? ? ? ? ? ?input? ? ? ? ? LICENSE-binary ? NOTICE-binary ?README.txt
etc???????????????lib ? ? ?????????licenses-binary? ? ? NOTICE.txt? ? ? ? sbin
include????????libexec? ? ? ?LICENSE.txt? ? ? ? ? output ? ? ? ? ???????share
hadoop@fzqs-computer:/usr/local/hadoop$

我们所需要修改的配置文件就在该目录下的 /etc/hadoop 文件夹内:

cd ./etc/hadoop

修改我们的 core-site.xml 文件:

sudo gedit core-site.xml

?修改文件内容如下:(实则就是往 configuration?里添加参数,注意缩进)

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

期间 gedit 一堆 WARNING 不用管,没有 ERROR 就行。接着修改 hdfs-site.xml 文件:

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

到这,伪分布式安装所需要的配置就配置好啦!



二、初始化文件系统

先回到我们的 Hadoop 安装目录下:

cd /usr/local/hadoop

使用以下命令初始化文件系统:

./bin/hdfs namenode -format

部分输出如下:

/usr/local/hadoop> ./bin/hdfs namenode -format
WARNING: /usr/local/hadoop/logs does not exist. Creating.
2021-09-27 23:54:48,247 INFO namenode.NameNode: STARTUP_MSG:?
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: ? host = fzqs-computer/10.132.13.98
STARTUP_MSG: ? args = [-format]
STARTUP_MSG: ? version = 3.3.1
......

************************************************************/
......

2021-09-27 23:54:49,927 INFO common.Storage: Storage directory /usr/local/hadoop/tmp/dfs/name has been successfully formatted.

......

/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at fzqs-computer/10.132.13.98
************************************************************/
/usr/local/hadoop>?


三、验证安装

1. 启动HDFS

文件初始化成功后,赋予 logs 文件夹相关权限:

sudo chmod -R a+w ./logs

可使用如下命令启动 HDFS:

./sbin/start-dfs.sh

注意这里若出现如下报错:localhost: ERROR: JAVA_HOME is not set and could not be found.

hadoop@fzqs-computer:/usr/local/hadoop$ ./sbin/start-dfs.sh
Starting namenodes on [localhost]
localhost: ERROR: JAVA_HOME is not set and could not be found.
Starting datanodes
localhost: ERROR: JAVA_HOME is not set and could not be found.
Starting secondary namenodes [fzqs-computer]
fzqs-computer: Warning: Permanently added 'fzqs-computer,240e:615:4003:132::a07' (ECDSA) to the list of known hosts.
fzqs-computer: ERROR: JAVA_HOME is not set and could not be found.

使用如下命令修改环境文件:

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

添加如下内容:

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_301
export HADOOP=/usr/local/hadoop
export PATH=$PATH:/usr/local/hadoop/bin

注意这里的 jdk 版本号。正常启动输出如下:

hadoop@fzqs-computer:/usr/local/hadoop$ ./sbin/start-dfs.sh
Starting namenodes on [localhost]
Starting datanodes
Starting secondary namenodes [fzqs-computer]

2021-09-29 21:16:11,575 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

hadoop@fzqs-computer:/usr/local/hadoop$?

启动后,使用 jps 指令查看所有 Java 进程,若 HDFS 启动成功输出如下:

hadoop@fzqs-computer:/usr/local/hadoop$ jps
27538 SecondaryNameNode
27138 NameNode
27319 DataNode
27663 Jps
hadoop@fzqs-computer:/usr/local/hadoop$

此时可访问 Web 页面(在浏览器输入:http://localhost:9870):

?2. 部分报错

一种是出现 permission denied 权限不足的情况,这种情况下需要往 $HADOOP_HOME/etc/hadoop 目录下的 hadoop-env.sh 添加一行内容:

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

在文首添加以下代码:

HADOOP_SHELL_EXECNAME=root

立即使配置文件生效:

source ./etc/hadoop/hadoop-env.sh

还有一种是 jps 后没有 namenode 等输出的情况,这种情况需要删除 $HADOOP_HOME 目录下的 tmp 目录:

先关闭所有 HDFS 服务:

./sbin/stop-all.sh

删除 tmp 目录:?

sudo rm -rf usr/local/hadoop/tmp

接着再重新启动 HDFS:

./sbin/start-dfs.sh

接着 jps 应该就有输出啦!



总结

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-09-30 11:59:57  更:2021-09-30 12:01:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 23:27:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码