Hadoop 伪分布式安装

Hadoop 伪分布式安装

准备

环境选择

  • 系统: Ubuntu Desktop 2204
  • JDK: 8
  • Hadoop : 3.3.6

JDK 8 下载地址

复制代码
https://mirrors.tuna.tsinghua.edu.cn/Adoptium/8/jdk/x64/linux/

Hadoop 3.3.6 下载地址

复制代码
https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/core/stable/

Ubuntu 需要特别配置

修改 hosts 文件

bash 复制代码
sudo vim /etc/hosts

127.0.1.1 修改为 127.0.0.1

数据存储目录

创建目录存储数据

bash 复制代码
sudo mkdir /export

将权限分配给当前用户

bash 复制代码
sudo chown -R ${USER} /export

创建其它目录

复制代码
mkdir /export/servers
mkdir /export/softpackages
mkdir /export/data
mkdir /export/data/hadoop_repo

安装常用软件

更新软件仓库

bash 复制代码
sudo apt update

下载必备软件

bash 复制代码
sudo apt install openssh-server vim curl wget -y

安装 Hadoop

免密配置

设置 sshd 服务开机自启动

bash 复制代码
sudo systemctl enable ssh

启动 ssh 服务

bash 复制代码
sudo systemctl start ssh

生成公钥

bash 复制代码
ssh-keygen

免密登录配置

bash 复制代码
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

安装 JDK

安装 jdk

bash 复制代码
cd /export/softpackages/
tar -xvf OpenJDK8U-jdk_x64_linux_hotspot_8u392b08.tar.gz
mv jdk8u392-b08 /export/servers/jdk8

编辑 /etc/profile 文件

bash 复制代码
sudo vim /etc/profile

添加以下内容

bash 复制代码
export JAVA_HOME=/export/servers/jdk8
export PATH=$PATH:$JAVA_HOME/bin

生效环境变量配置文件

bash 复制代码
source /etc/profile

查看 java 版本

bash 复制代码
java -version

输出如下

复制代码
openjdk version "1.8.0_392"
OpenJDK Runtime Environment (Temurin)(build 1.8.0_392-b08)
OpenJDK 64-Bit Server VM (Temurin)(build 25.392-b08, mixed mode)

安装 Hadoop

解压 hadoop

bash 复制代码
cd /export/softpackages/
tar -xvf hadoop-3.3.6.tar.gz
mv hadoop-3.3.6 /export/servers

编辑 /etc/profile 文件

bash 复制代码
sudo vim /etc/profile

添加以下内容

bash 复制代码
export HADOOP_HOME=/export/servers/hadoop-3.3.6
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

生效环境变量配置文件

bash 复制代码
source /etc/profile

查看 hadoop版本

bash 复制代码
hadoop version

输出如下

复制代码
Hadoop 3.3.6
Source code repository https://github.com/apache/hadoop.git -r 1be78238728da9266a4f88195058f08fd012bf9c
Compiled by ubuntu on 2023-06-18T08:22Z
Compiled on platform linux-x86_64
Compiled with protoc 3.7.1
From source with checksum 5652179ad55f76cb287d9c633bb53bbd
This command was run using /home/demo/export/servers/hadoop-3.3.6/share/hadoop/common/hadoop-common-3.3.6.jar

配置 Hadoop

hadoop-env.sh

编辑 hadoop-env.sh 文件,

bash 复制代码
vim /export/servers/hadoop-3.3.6/etc/hadoop/hadoop-env.sh

添加以下内容

bash 复制代码
export JAVA_HOME=/export/servers/jdk8
core-site.sh

编辑 core-env.sh 文件,

bash 复制代码
vim /export/servers/hadoop-3.3.6/etc/hadoop/core-site.xml

修改为以下内容

xml 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://0.0.0.0:9000</value>
	</property>
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/export/data/hadoop_repo</value>
	</property>
</configuration>
hdfs-site.sh

编辑 hdfs-site.sh 文件,

bash 复制代码
vim /export/servers/hadoop-3.3.6/etc/hadoop/hdfs-site.xml

修改为以下内容

xml 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
	<property>
		<name>dfs.replication</name>
		<value>1</value>
	</property>
</configuration>
mapred-site.sh

编辑 mapred-site.sh 文件,

bash 复制代码
vim /export/servers/hadoop-3.3.6/etc/hadoop/mapred-site.xml

修改为以下内容

xml 复制代码
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
    </property>
    <!--历史服务器web端地址-->
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>0.0.0.0:19888</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>0.0.0.0:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>0.0.0.0:19888</value>
    </property>
    <property>
        <name>yarn.nodemanager.env-whitelist</name> 
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
</configuration>
yarn-site.sh

编辑 yarn-site.sh 文件,

bash 复制代码
vim /export/servers/hadoop-3.3.6/etc/hadoop/yarn-site.xml

修改为以下内容

xml 复制代码
<?xml version="1.0"?>
<configuration>
	<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	</property>

	<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>0.0.0.0</value>
	</property>
</configuration>
workers

编辑 workers 文件,

bash 复制代码
vim /export/servers/hadoop-3.3.6/etc/hadoop/workers

修改为以下内容

复制代码
0.0.0.0
格式化存储分区
bash 复制代码
hdfs namenode -format
复制代码
2024-01-19 22:40:04,012 INFO common.Storage: Storage directory /export/data/hadoop_repo/dfs/name has been successfully formatted.

Hadoop服务管理

启动 HDFS

bash 复制代码
start-dfs.sh

启动 YARN

bash 复制代码
start-yarn.sh

启动 Map 历史服务

bash 复制代码
mapred --daemon start historyserver

查看 进程

bash 复制代码
jps

输出如下

复制代码
8576 JobHistoryServer
7618 SecondaryNameNode
7428 DataNode
7272 NameNode
7803 ResourceManager
7932 NodeManager
8638 Jps

停止 YARN 服务

bash 复制代码
stop-yarn.sh

停止 HDFS 服务

bash 复制代码
stop-dfs.sh

停止 Map 历史服务

使用 jps 查看进程ID

复制代码
8576 JobHistoryServer
9333 Jps

停止 Map 历史服务

bash 复制代码
kill -15 8576

浏览器访问地址

访问 Hdfs Web 管理界面 (在 本地主机 执行以下命令)

复制代码
虚拟机IP地址:9870

访问 Yarn Web 管理界面 (在 本地主机 执行)

复制代码
虚拟机IP地址:8088

访问历史页面 (在 本地主机 执行)

复制代码
虚拟机IP地址:19888/jobhistory
相关推荐
AAA建材批发王师傅17 小时前
Hive 序列化与反序列化:数据的 “打包“ 与 “拆箱“ 艺术
数据仓库·hive·hadoop
Edingbrugh.南空21 小时前
Hive SQL执行流程深度解析:从CLI入口到执行计划生成
hive·hadoop·sql
Edingbrugh.南空1 天前
Hive 性能优化:从表设计到查询执行的全链路优化
hive·hadoop
Edingbrugh.南空1 天前
Hive SQL 执行计划详解:从查看方法到优化应用
hive·hadoop·sql
Edingbrugh.南空1 天前
Hive SQL:一小时快速入门指南
hive·hadoop·sql
liuze4081 天前
VMware虚拟机集群上部署HDFS集群
大数据·hadoop·hdfs
陌殇殇2 天前
Hadoop 002 — HDFS常用命令及SpringBoot整合操作
hadoop·spring boot·hdfs
明月看潮生2 天前
青少年编程与数学 01-011 系统软件简介 17 Hadoop大数据处理框架
大数据·hadoop·青少年编程·系统软件·编程与数学
陌殇殇2 天前
Hadoop 003 — JAVA操作MapReduce入门案例
java·hadoop·mapreduce
※尘2 天前
Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?
数据仓库·hive·hadoop