【Linux】Hadoop-3.4.1的伪分布式集群的初步配置

配置步骤

一、检查环境

  • JDK
bash 复制代码
# 目前还是 JDK8 最适合 Hadoop
java -version
echo $JAVA_HOME
  • Hadoop
bash 复制代码
hadoop version
echo $HADOOP_HOME

二、配置SSH免密登录

Hadoop需要通过SSH管理节点(即使在伪分布式模式下)

bash 复制代码
sudo apt install openssh-server    # 安装SSH服务(如未安装)

cd ~/.ssh/

ssh-keygen -t rsa    # 生成密钥对

cat ./id_rsa.pub >> ./authorized_keys    # 添加公钥到授权列表

ssh localhost    # 测试免密登录(首次可能需输入yes)

ssh-copy-id xxx
ssh xxx

三、修改Hadoop核心配置文件

进入配置文件目录:

bash 复制代码
cd $HADOOP_HOME/etc/hadoop
bash 复制代码
# 手动创建文件夹
mkdir -p /opt/software/hadoop/data/tmp
mkdir -p /opt/software/hadoop/data/logs
mkdir -p /opt/software/hadoop/data/namenode
mkdir -p /opt/software/hadoop/data/datanode
bash 复制代码
vim hadoop-env.sh

# 在文件最后一行加上
export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
export HADOOP_CONF_DIR=/opt/software/hadoop/etc/hadoop
export HADOOP_LOG_DIR=/opt/software/hadoop/data/logs
export HADOOP_PID_DIR=/opt/software/hadoop/data/tmp
bash 复制代码
vim hadoop-env.sh

# 在文件最后一行加上
export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
bash 复制代码
vim mapred-env.sh

# 在文件最后一行加上
export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"

把环境刷新一下

bash 复制代码
source hadoop-env.sh
source yarn-env.sh
source mapred-env.sh
  • core-site.xml
bash 复制代码
<configuration>
    <!-- 指定 NameNode 通信的地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop01:8020</value>
    </property>
    <!-- 指定 hadoop 运行过程中临时数据的存储目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/software/hadoop/data/tmp</value>
    </property>
</configuration>
  • hdfs-site.xml
bash 复制代码
<configuration>
    <!-- NameNode 存放元数据的本地目录-->
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/opt/software/hadoop/data/namenode</value>
    </property>
    <!-- NameNode web 端访问地址-->
    <property>
        <name>dfs.namenode.http-address</name>
        <value>hadoop01:9870</value>
    </property>
    <!-- Datanode 在本地存储 block 块的目录 -->
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/opt/software/hadoop/data/datanode</value>
    </property>
    <!-- HDFS blocksize block 块大小 -->
    <property>
        <name>dfs.blocksize</name>
        <value>134217728</value>
    </property>
    <!-- HDFS blocksize 也就是 block 的副本数-->
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
</configuration>
  • mapred-site.xml
bash 复制代码
<configuration>
    <!-- 指定 MapReduce 程序运行在 Yarn 上 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>
  • yarn-site.xml
bash 复制代码
<configuration>
    <!-- 指定 MR 走 shuffle -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <!-- 环境变量的继承 -->
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HA
        DOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_H
        OME,HADOOP_MAPRED_HOME</value>
    </property>
</configuration>

四、初始化与启动Hadoop

  • 格式化HDFS
bash 复制代码
hdfs namenode -format

# 成功标志:Storage directory ... has been successfully formatted
  • 启动HDFS和YARN
bash 复制代码
start-dfs.sh   # 启动NameNode和DataNode
start-yarn.sh  # 启动ResourceManager和NodeManager
  • jps 验证进程
bash 复制代码
jps

结束

相关推荐
maosheng11467 小时前
RHCSA的第一次作业
linux·运维·服务器
wifi chicken7 小时前
Linux 端口扫描及拓展
linux·端口扫描·网络攻击
旺仔.2917 小时前
Linux 信号详解
linux·运维·网络
放飞梦想C8 小时前
CPU Cache
linux·cache
Hoshino.418 小时前
基于Linux中的数据库操作——下载与安装(1)
linux·运维·数据库
播播资源10 小时前
CentOS系统 + 宝塔面板 部署 OpenClaw源码开发版完整教程
linux·运维·centos
源远流长jerry10 小时前
在 Ubuntu 22.04 上配置 Soft-RoCE 并运行 RDMA 测试程序
linux·服务器·网络·tcp/ip·ubuntu·架构·ip
lay_liu11 小时前
Linux安装redis
linux·运维·redis
寂柒12 小时前
序列化与反序列化
linux·网络
lay_liu12 小时前
ubuntu 安装 Redis
linux·redis·ubuntu