在 VMware 虚拟机里从零安装并启动 Hadoop

一、准备工作

项目建议值
虚拟机内存≥2 GB
磁盘≥20 GB
网络NAT 模式,能 ping 通外网
用户使用 root 或具有 sudo 权限的普通用户
# 验证网络
ping -c 3 www.baidu.com
# 若失败,参考 [^1^] 配置 NAT/DNS

二、安装 JDK(Hadoop 唯一依赖)

# 1. 卸载系统自带 OpenJDK(可选)
rpm -qa | grep java | xargs rpm -e --nodeps

# 2. 下载 Oracle JDK8(wget 自带)
cd /opt
wget --no-check-certificate -c \
  https://repo.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz

# 3. 解压并设置环境变量
tar -zxvf jdk-8u202-linux-x64.tar.gz -C /usr/local/
echo '# JAVA ENV' >> /etc/profile
echo 'export JAVA_HOME=/usr/local/jdk1.8.0_202' >> /etc/profile
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile
source /etc/profile

# 4. 验证
java -version        # 需出现 1.8.0_202

三、任务1:下载-上传-解压 Hadoop(3 选1)

方案 A:虚拟机内直接下载(最快)

cd /opt
wget https://archive.apache.org/dist/hadoop/core/hadoop-3.3.1/hadoop-3.3.1.tar.gz

方案 B:Windows 下载后拖进 VMware(图形化)

  1. 下载 hadoop-3.3.1.tar.gz

  2. 拖拽到 /opt/ 目录(需安装 open-vm-tools):

    yum -y install open-vm-tools

方案 C:使用 Xshell/Xftp 上传(推荐批量集群)

# Xftp 拖入 /opt 即可,不再赘述

解压&软链(三方案统一)

tar -zxvf hadoop-3.3.1.tar.gz
mv hadoop-3.3.1 hadoop        # 简化目录名
ln -sf /opt/hadoop /usr/local/hadoop   # 可选软链

四、任务2:修改配置文件(单节点伪分布)

进入配置目录

cd /opt/hadoop/etc/hadoop
  1. hadoop-env.sh:指定 Java 路径

    echo "export JAVA_HOME=/usr/local/jdk1.8.0_202" >> hadoop-env.sh
  2. core-site.xml:NameNode 地址

    <configuration>
      <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
      </property>
      <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/hadoop/data</value>
      </property>
    </configuration>
  3. hdfs-site.xml:副本数&路径

    <configuration>
      <property>
        <name>dfs.replication</name>
        <value>1</value>
      </property>
      <property>
        <name>dfs.namenode.name.dir</name>
        <value>/opt/hadoop/dfs/name</value>
      </property>
      <property>
        <name>dfs.datanode.data.dir</name>
        <value>/opt/hadoop/dfs/data</value>
      </property>
    </configuration>
  4. mapred-site.xml:指定 Yarn

cp mapred-site.xml.template mapred-site.xml
<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>
  1. yarn-site.xml:ResourceManager

    <configuration>
      <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
      </property>
      <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>localhost</value>
      </property>
    </configuration>

五、任务3:启动 Hadoop 服务

  1. 首次需格式化 HDFS

    hdfs namenode -format
  2. 一键启动所有守护进程

    start-dfs.sh
    start-yarn.sh
  3. 验证进程

    jps
    # 应看到 NameNode/DataNode/ResourceManager/NodeManager
  4. Web 界面

  5. (若无法打开,关闭防火墙或放行端口)

    systemctl stop firewalld
    systemctl disable firewalld

六、彩蛋:常用运维命令

# 停止 Hadoop
stop-all.sh

# 查看日志
tail -f $HADOOP_HOME/logs/hadoop-*-namenode-*.log

# HDFS 文件测试
hdfs dfs -mkdir /user
hdfs dfs -put /etc/hosts /user
hdfs dfs -cat /user/hosts

七、可能遇到的坑

现象快速解决
JAVA_HOME is not set检查 hadoop-env.sh 路径是否正确
格式化失败删除 /opt/hadoop/dfs 目录重新格式化
Web 页打不开关闭防火墙或检查端口映射
上传文件失败确保 DataNode 已启动(jps 查看)

原创不易,转载请注明出处~

更多推荐