Linux环境下安装MapReduce(以Hadoop MapReduce为例)的详细步骤
一、前提条件
- 操作系统准备
- 确保你有一个合适的Linux发行版,如Ubuntu、CentOS等。以CentOS为例,系统应该是比较新的版本,并且已经完成了基本的系统更新。
- 安装好Java运行环境(JDK),因为Hadoop是基于Java开发的。你可以通过以下命令检查Java是否安装:
java -version
。如果没有安装,在CentOS上可以使用yum install java -y
命令来安装OpenJDK。
二、安装Hadoop(包含MapReduce)
-
下载Hadoop
- 访问Hadoop官方网站(https://hadoop.apache.org/),选择合适的稳定版本进行下载。例如,截至 2024年,较新的稳定版本可能是Hadoop 3.x系列。使用
wget
命令进行下载,假设下载到/opt
目录下,命令如下:
cd /opt wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
- 访问Hadoop官方网站(https://hadoop.apache.org/),选择合适的稳定版本进行下载。例如,截至 2024年,较新的稳定版本可能是Hadoop 3.x系列。使用
-
解压Hadoop
- 下载完成后,使用以下命令解压:
tar -zxvf hadoop-3.3.6.tar.gz
- 可以将解压后的目录重命名为更简单的名称,比如
hadoop
:
mv hadoop-3.3.6 hadoop
-
配置Hadoop环境变量
- 打开
/etc/profile
文件,添加以下内容来设置Hadoop的环境变量:
export HADOOP_HOME=/opt/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
- 保存文件后,执行
source /etc/profile
使环境变量生效。
- 打开
-
配置Hadoop核心文件(core-site.xml)
- 编辑
$HADOOP_HOME/etc/hadoop/core-site.xml
文件,添加以下配置:
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration>
- 这里将Hadoop默认的文件系统设置为本地的HDFS(Hadoop Distributed File System),端口为9000。如果是集群环境,需要根据实际情况修改。
- 编辑
-
配置HDFS文件(hdfs-site.xml)
- 编辑
$HADOOP_HOME/etc/hadoop/hdfs-site.xml
文件,示例配置如下:
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
- 这里设置数据块的副本数为1,在单机测试环境下可以这样设置。在生产集群环境中,副本数可以根据存储和容错需求进行调整。
- 编辑
-
配置MapReduce文件(mapred-site.xml)
- 从模板创建
mapred-site.xml
文件:
cp $HADOOP_HOME/etc/hadoop/mapred-site.xml.template $HADOOP_HOME/etc/hadoop/mapred-site.xml
- 编辑
mapred-site.xml
文件,添加以下内容:
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
- 这里将MapReduce的运行框架设置为YARN(Yet Another Resource Negotiator),这是Hadoop中的资源管理系统。
- 从模板创建
-
配置YARN文件(yarn-site.xml)
- 编辑
$HADOOP_HOME/etc/hadoop/yarn-site.xml
文件,示例配置如下:
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
- 这个配置用于启用YARN中的MapReduce shuffle服务。
- 编辑
-
格式化HDFS
- 在首次安装或者需要重新初始化HDFS时,需要执行格式化命令:
hdfs namenode - format
- 注意,这个操作会清除HDFS中原有的数据,所以在生产环境中要谨慎使用。
-
启动Hadoop服务
-
启动HDFS:
start - dfs.sh
-
启动YARN:
start - yarn.sh
-
可以通过
jps
命令来检查相关服务是否启动成功。你应该看到类似NameNode
、DataNode
、ResourceManager
、NodeManager
等进程。
-
至此,MapReduce(作为Hadoop的一部分)已经安装并初步配置完成,你可以编写简单的MapReduce程序来测试它的功能。例如,编写一个简单的单词计数程序,将文本文件作为输入,统计每个单词出现的次数。