一、Hadoop 环境构建

1. 准备环境:准备 3 台 Linux 服务器,每台服务器配置至少 4G 内存,安装 JDK1.8 及以上版本,安装 Hadoop3.3.0,服务器之间可以相互 ping 通,安装 ssh 服务,关闭防火墙,关闭 selinux,每台服务器配置 hosts 文件,确保能够相互访问。

2. 下载 Hadoop:从官网下载 Hadoop3.3.0 的安装文件,并将文件上传至服务器,进行解压缩,解压后的文件夹改名为 hadoop,将 hadoop 文件夹放到 /usr/local/ 目录下。

3. 配置环境变量:编辑 /etc/profile 文件,添加如下内容:

export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export JAVA_HOME=/usr/local/jdk
export HADOOP_CLASSPATH=$JAVA_HOME/lib/tools.jar
Shell

4. 修改配置文件:在 hadoop/etc/hadoop/ 目录下,有 7 个配置文件:hadoop-env.sh,core-site.xml,hdfs-site.xml,mapred-site.xml,yarn-site.xml,slaves,masters。在 hadoop-env.sh 文件中配置 JAVA_HOME,在 core-site.xml 文件中配置 fs.defaultFS,在 hdfs-site.xml 文件中配置 dfs.namenode.name.dir,dfs.datanode.data.dir,在 mapred-site.xml 文件中配置 mapreduce.framework.name,在 yarn-site.xml 文件中配置 yarn.resourcemanager.hostname,yarn.nodemanager.aux-services,在 slaves 文件中写入所有 DataNode 服务器的 IP 地址,在 masters 文件中写入 NameNode 服务器的 IP 地址。

二、Hadoop 服务启动

1. 分发配置文件:使用 scp 命令将 hadoop/etc/hadoop/ 目录下的 7 个配置文件分发到每台服务器上,并将配置文件放到 hadoop/etc/hadoop/ 目录下。

2. 格式化 NameNode:在 NameNode 服务器上,使用 hadoop namenode -format 命令格式化 NameNode,格式化成功后,在 hadoop/data/namenode/ 目录下会生成一个文件,该文件是 NameNode 的元数据文件,后续服务启动时会使用该文件。

3. 启动服务:在 NameNode 服务器上,使用 start-dfs.sh 命令启动 HDFS 服务,使用 start-yarn.sh 命令启动 Yarn 服务,使用 jps 命令查看服务是否启动成功。

三、Hadoop 服务测试

1. 查看 NameNode 状态:使用 hadoop dfsadmin -report 命令查看 NameNode 状态,如果显示 NameNode 状态正常,则表示 HDFS 服务启动成功。

2. 查看 DataNode 状态:使用 hadoop dfsadmin -report 命令查看 DataNode 状态,如果显示 DataNode 状态正常,则表示 DataNode 服务启动成功。

3. 查看 Yarn 状态:使用 yarn node -list 命令查看 Yarn 状态,如果显示 Yarn 状态正常,则表示 Yarn 服务启动成功。