准备工作

1,centos7.6虚拟机
2,安装jdk1.8
3,配置ssh免密

安装过程

下载安装hadoop

hadoop安装在 /home/bigdata目录下

下载
cd /home/bigdata && wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz 

解压
tar -zxvf hadoop-3.3.6.tar.gz 

重命名
mv hadoop-3.3.6 hadoop

配置环境变量

vim /etc/profile

末尾添加
export HADOOP_HOME=/home/bigdata/hadoop336
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

source /etc/profile 启用配置

检查是否配置正确

hadoop version

image
说明安装配置正确。

接下来配置hadoop

配置hadoop

cd /home/bigdata/hadoop336/etc/hadoop

vim core-site.xml

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
</property>
<property>
    <name>hadoop.tmp.dir</name>
    <value>file:/home/bigdata/data/hadoop/tmp</value>
    <description>表示HDFS的基本路径</description>
</property>

<!-- 整合hive -->
<property>
    <name>hadoop.proxyuser.root.hosts</name>
    <value>*</value>
</property>
 
<property>
    <name>hadoop.proxyuser.root.groups</name>
    <value>*</value>
</property

vim hdfs-site.xml

    <property>
        <name>dfs.nameservices</name>
        <value>hadoop-cluster</value>
    </property>
    <property>
        <name>dfs.http.address</name>
        <value>0.0.0.0:50070</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:///home/bigdata/data/hadoop/hdfs/nn</value>
        <description>表示 NameNode 需要存储数据的文件目录</description>
    </property>
    <property>
        <name>dfs.namenode.checkpoint.dir</name>
        <value>file:///home/bigdata/data/hadoop/hdfs/snn</value>
    </property>
    <property>
        <name>dfs.namenode.checkpoint.edits.dir</name>
        <value>file:///home/bigdata/data/hadoop/hdfs/snn</value>
    </property>
    <property>
        <name>fs.datanode.data.dir</name>
        <value>file:///home/bigdata/data/hadoop/hdfs/dn</value>
        <description>表示 DataNode 需要存放数据的文件目录</description>
    </property>

vim mapred-site.xml

<property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
</property>
<property>
  <name>yarn.app.mapreduce.am.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
  <name>mapreduce.map.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
  <name>mapreduce.reduce.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>

vim yarn-site.xml

<!-- 指定ResourceManager的地址-->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>localhost</value>
        <description>本机ip</description>
    </property>
    <!-- 指定reducer获取数据的方式-->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.local-dirs</name>
        <value>file:///home/bigdata/data/hadoop/yarn/nm</value>
    </property>

创建相关目录

mkdir -p /home/bigdata/data/hadoop/yarn/nm
mkdir -p /home/bigdata/data/hadoop/hdfs/nn
mkdir -p /home/bigdata/data/hadoop/hdfs/snn
mkdir -p /home/bigdata/data/hadoop/hdfs/dn

启动hadoop

启动前先格式化hdfs

hdfs namenode -format

启动hdfs集群

hdfs --daemon start namenode 启动主节点
hdfs --daemon start datanode 启动从节点

启动yarn

yarn --daemon start resourcemanager
yarn --daemon start nodemanager

启动作业历史服务器

mapred --daemon start historyserver

jps命令查看是否启动成功

jsp

image-1690785881339

网页访问 ip:50070 ip:8088查看
执行hdfs命令

hdfs dfs -ls /
hdfs dfs -mkdir -p /test

运行测试任务

yarn jar /home/bigdata/hadoop336/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar pi 4 100