如何在 CentOS 上安装 Apache Hadoop

2021-09-09 14:45:28 浏览数 (1)

Apache Hadoop 软件库是一个框架,它允许使用简单的编程模型在计算机集群上对大型数据集进行分布式处理。Apache™ Hadoop® 是可靠、可扩展、分布式计算的开源软件。

该项目包括以下模块:

  • Hadoop Common:支持其他 Hadoop 模块的常用工具。
  • Hadoop 分布式文件系统 (HDFS™):分布式文件系统,可提供对应用程序数据的高吞吐量访问支持。
  • Hadoop YARN:作业调度和集群资源管理框架。
  • Hadoop MapReduce:一个基于 YARN 的大型数据集并行处理系统。

本文将帮助你逐步在 CentOS 上安装 hadoop 并配置单节点 hadoop 集群。

安装 Java

在安装 hadoop 之前,请确保你的系统上安装了 Java。使用此命令检查已安装 Java 的版本。

代码语言:javascript复制
java -versionjava version "1.7.0_75"Java(TM) SE Runtime Environment (build 1.7.0_75-b13)Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode)

要安装或更新 Java,请参考下面逐步的说明。

第一步是从官方网站下载最新版本的 java。

代码语言:javascript复制
cd /opt/wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http://www.oracle.com/; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz"tar xzf jdk-7u79-linux-x64.tar.gz

需要设置使用更新版本的 Java 作为替代。使用以下命令来执行此操作。

代码语言:javascript复制
cd /opt/jdk1.7.0_79/alternatives --install /usr/bin/java java /opt/jdk1.7.0_79/bin/java 2alternatives --config java
代码语言:javascript复制
There are 3 programs which provide 'java'.  Selection    Command-----------------------------------------------*  1           /opt/jdk1.7.0_60/bin/java   2           /opt/jdk1.7.0_72/bin/java   3           /opt/jdk1.7.0_79/bin/javaEnter to keep the current selection[ ], or type selection number: 3 [Press Enter]

现在你可能还需要使用 alternatives 命令设置 javacjar 命令路径。

代码语言:javascript复制
alternatives --install /usr/bin/jar jar /opt/jdk1.7.0_79/bin/jar 2alternatives --install /usr/bin/javac javac /opt/jdk1.7.0_79/bin/javac 2alternatives --set jar /opt/jdk1.7.0_79/bin/jaralternatives --set javac /opt/jdk1.7.0_79/bin/javac

下一步是配置环境变量。使用以下命令正确设置这些变量。

设置 JAVA_HOME 变量:

代码语言:javascript复制
export JAVA_HOME=/opt/jdk1.7.0_79

设置 JRE_HOME 变量:

代码语言:javascript复制
export JRE_HOME=/opt/jdk1.7.0_79/jre

设置 PATH 变量:

代码语言:javascript复制
export PATH=$PATH:/opt/jdk1.7.0_79/bin:/opt/jdk1.7.0_79/jre/bin

安装 Apache Hadoop

设置好 java 环境后。开始安装 Apache Hadoop。

第一步是创建用于 hadoop 安装的系统用户帐户。

代码语言:javascript复制
useradd hadooppasswd hadoop

现在你需要配置用户 hadoop 的 ssh 密钥。使用以下命令启用无需密码的 ssh 登录。

代码语言:javascript复制
su - hadoopssh-keygen -t rsacat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keyschmod 0600 ~/.ssh/authorized_keysexit

现在从官方网站 hadoop.apache.org 下载 hadoop 最新的可用版本。

代码语言:javascript复制
cd ~wget http://apache.claz.org/hadoop/common/hadoop-2.6.0/hadoop-2.6.0.tar.gztar xzf hadoop-2.6.0.tar.gzmv hadoop-2.6.0 hadoop

下一步是设置 hadoop 使用的环境变量。

编辑 ~/.bashrc,并在文件末尾添加以下这些值。

代码语言:javascript复制
export HADOOP_HOME=/home/hadoop/hadoopexport HADOOP_INSTALL=$HADOOP_HOMEexport HADOOP_MAPRED_HOME=$HADOOP_HOMEexport HADOOP_COMMON_HOME=$HADOOP_HOMEexport HADOOP_HDFS_HOME=$HADOOP_HOMEexport YARN_HOME=$HADOOP_HOMEexport HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/nativeexport PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

在当前运行环境中应用更改。

代码语言:javascript复制
source ~/.bashrc

编辑 $HADOOP_HOME/etc/hadoop/hadoop-env.sh 并设置 JAVA_HOME 环境变量。

代码语言:javascript复制
export JAVA_HOME=/opt/jdk1.7.0_79/

现在,先从配置基本的 hadoop 单节点集群开始。

首先编辑 hadoop 配置文件并进行以下更改。

代码语言:javascript复制
cd /home/hadoop/hadoop/etc/hadoop

让我们编辑 core-site.xml

代码语言:javascript复制
<configuration><property>  <name>fs.default.name</name>    <value>hdfs://localhost:9000</value></property></configuration>

接着编辑 hdfs-site.xml

代码语言:javascript复制
<configuration><property> <name>dfs.replication</name> <value>1</value></property><property>  <name>dfs.name.dir</name>    <value>file:///home/hadoop/hadoopdata/hdfs/namenode</value></property><property>  <name>dfs.data.dir</name>    <value>file:///home/hadoop/hadoopdata/hdfs/datanode</value></property></configuration>

并编辑 mapred-site.xml

代码语言:javascript复制
<configuration> <property>  <name>mapreduce.framework.name</name>   <value>yarn</value> </property></configuration>

最后编辑 yarn-site.xml

代码语言:javascript复制
<configuration> <property>  <name>yarn.nodemanager.aux-services</name>    <value>mapreduce_shuffle</value> </property></configuration>

现在使用以下命令格式化 namenode:

代码语言:javascript复制
hdfs namenode -format

要启动所有 hadoop 服务,请使用以下命令:

代码语言:javascript复制
cd /home/hadoop/hadoop/sbin/start-dfs.shstart-yarn.sh

要检查所有服务是否正常启动,请使用 jps 命令:

代码语言:javascript复制
jps

你应该看到这样的输出。

代码语言:javascript复制
26049 SecondaryNameNode25929 DataNode26399 Jps26129 JobTracker26249 TaskTracker25807 NameNode

现在,你可以在浏览器中访问 Hadoop 服务:http://your-ip-address:8088/ 。

hadoop

0 人点赞