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
相关推荐
万能小锦鲤15 小时前
《大数据技术原理与应用》实验报告三 熟悉HBase常用操作
java·hadoop·eclipse·hbase·shell·vmware·实验报告
王小王-1231 天前
基于Hadoop与LightFM的美妆推荐系统设计与实现
大数据·hive·hadoop·大数据美妆推荐系统·美妆商品用户行为·美妆电商
一切顺势而行1 天前
hadoop 集群问题处理
大数据·hadoop·分布式
万能小锦鲤2 天前
《大数据技术原理与应用》实验报告七 熟悉 Spark 初级编程实践
hive·hadoop·ubuntu·flink·spark·vmware·实验报告
项目題供诗2 天前
Hadoop(二)
大数据·hadoop·分布式
万能小锦鲤2 天前
《大数据技术原理与应用》实验报告五 熟悉 Hive 的基本操作
hive·hadoop·ubuntu·eclipse·vmware·实验报告·hiveql
随心............3 天前
hive的相关的优化
数据仓库·hive·hadoop
万能小锦鲤3 天前
《大数据技术原理与应用》实验报告一 熟悉常用的Linux操作和Hadoop操作
大数据·linux·hadoop·ubuntu·vmware·实验报告·大数据技术原理与应用
码字的字节3 天前
深入解析Hadoop中的HDFS架构设计
大数据·hadoop·hdfs
码字的字节3 天前
深入探讨Hadoop YARN Federation:架构设计与实践应用
hadoop·yarn·federation