【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

结束

相关推荐
知忆_IS几秒前
【问题解决】Linux安装conda修改~/.bashrc配置文件后,root 用户下显示 -bash-4.2#
linux·conda·bash
Claus-34 分钟前
进程间通信—system v标准
linux·运维·jvm
musk12121 小时前
ubuntu 安装 g++
linux·运维·ubuntu
徐小黑ACG1 小时前
Ubuntu下载docker、xshell
linux·ubuntu·docker
2101_824775822 小时前
Debian ubuntu源
服务器·ubuntu·debian
vortex52 小时前
如何为 Debian 和 Kali 系统更换软件源并更新系统
linux·运维·网络·网络安全·渗透测试·debian·kali
大明者省2 小时前
Xshell远程登录腾讯云高性能应用服务
linux·服务器·腾讯云
程序猿本员2 小时前
1.深入浅出gcc/g++编译链接过程
linux·c++
阿瑾06183 小时前
【网络】Socket套接字
linux·网络·c++·网络协议
Jtti3 小时前
ubuntu服务器进程启动失败的原因分析
服务器·数据库·ubuntu