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
相关推荐
苍老流年20 小时前
Hive中各种Join的实现
数据仓库·hive·hadoop
EDG Zmjjkk21 小时前
Hive 查询(详细实操版)
数据仓库·hive·hadoop
Hsu_kk1 天前
Hive 查询各类型专利 Top 10 申请人及对应的专利申请数
数据仓库·hive·hadoop
大数据编程之光1 天前
Hive 查询各类型专利 top10 申请人及专利申请数
大数据·数据仓库·hive·hadoop
杰克逊的日记1 天前
Hive详解
数据仓库·hive·hadoop
上辈子杀猪这辈子学IT1 天前
【Zookeeper集群搭建】安装zookeeper、zookeeper集群配置、zookeeper启动与关闭、zookeeper的shell命令操作
linux·hadoop·zookeeper·centos·debian
Hsu_kk1 天前
Hive 查询用户连续三天登录的所有记录
数据仓库·hive·hadoop
kakwooi1 天前
Hadoop---MapReduce(3)
大数据·hadoop·mapreduce
windy1a1 天前
【c知道】Hadoop工作原理。
hadoop
油头少年_w1 天前
大数据导论及分布式存储HadoopHDFS入门
大数据·hadoop·hdfs