如何在CentOS 7上以独立模式安装Hadoop

・6 分钟阅读

Apache Hadoop是一个开源大数据处理工具,广泛应用于it行业。

根据数据的大小,类型和规模,可以在单独的或集群模式下部署Hadoop 。

在这个以初学者为中心的教程中,我们将在Centos7服务器实例上以独立模式安装Hadoop。

前提条件

  • 新创建的CentOS 7x64服务器实例,
  • 一个sudo用户

步骤1:更新系统

以sudo用户身份登录,然后将CentOS 7系统更新到最新的稳定状态:


sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now

服务器联机后,重新登录。

步骤2:安装Java

Hadoop是基于Java的,OpenJDK 8是推荐的最新稳定版本。

使用YUM安装OpenJDK 8jre:


sudo yum install -y java-1.8.0-openjdk

验证OpenJDK 8 JRE的安装:

 
java -version

 

输出应类似于:


openjdk version"1.8.0_111"
OpenJDK Runtime Environment (build 1.8.0_111-b15)
OpenJDK 64-Bit Server VM (build 25.111-b15, mixed mode)

步骤3:安装Hadoop

你可以从官方Apache Hadoop发布页面找到最新版本的Hadoop的下载URL ,在撰写本文时,最新的稳定版本是2.7.3.

下载Hadoop 2.7.3的二进制文件:


cd
wget http://www-us.apache.org/dist/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz

下载匹配的校验和文件:


wget https://dist.apache.org/repos/dist/release/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz.mds

安装校验和工具:


sudo yum install perl-Digest-SHA

计算Hadoop归档的SHA256值:


shasum -a 256 hadoop-2.7.3.tar.gz

显示文件hadoop-2.7.3.tar.gz.mds的内容,并确保两个SHA256值相同:


cat hadoop-2.7.3.tar.gz.mds

将归档文件解压缩到指定位置:


sudo tar -zxvf hadoop-2.7.3.tar.gz -C /opt

必须为它指定Java主位置,才能正确运行Hadoop 。

打开Hadoop环境配置文件 /opt/hadoop-2.7.3/etc/hadoop/hadoop-env.sh 使用vi或你喜爱的文本编辑器:


sudo vi /opt/hadoop-2.7.3/etc/hadoop/hadoop-env.sh

查找行:

 
export JAVA_HOME=$

 

替换为:


export JAVA_HOME=$(readlink -f /usr/bin/java | sed"s:bin/java::")

此设置将使Hadoop始终使用默认的Java安装位置。

保存和退出:

 
:wq

 
!

你可以将Hadoop程序的路径添加到PATH环境变量中,以便你方便:


echo"export PATH=/opt/hadoop-2.7.3/bin:$PATH" | sudo tee -a /etc/profile
source /etc/profile

步骤4:运行和测试Hadoop

只要执行命令hadoop,就会提示你使用hadoop命令及它各种参数。

在这里你可以使用一个例子来测试Hadoop安装。

准备数据源:


mkdir ~/source
cp /opt/hadoop-2.7.3/etc/hadoop/*.xml ~/source

使用Hadoop和grep来输出结果:


hadoop jar /opt/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar grep ~/source ~/output 'principal[.]*'

输出应该是:


 ...
 File System Counters
 FILE: Number of bytes read=1247812
 FILE: Number of bytes written=2336462
 FILE: Number of read operations=0
 FILE: Number of large read operations=0
 FILE: Number of write operations=0
 Map-Reduce Framework
 Map input records=2
 Map output records=2
 Map output bytes=37
 Map output materialized bytes=47
 Input split bytes=117
 Combine input records=0
 Combine output records=0
 Reduce input groups=2
 Reduce shuffle bytes=47
 Reduce input records=2
 Reduce output records=2
 Spilled Records=4
 Shuffled Maps =1
 Failed Shuffles=0
 Merged Map outputs=1
 GC time elapsed (ms)=24
 Total committed heap usage (bytes)=262758400
 Shuffle Errors
 BAD_ID=0
 CONNECTION=0
 IO_ERROR=0
 WRONG_LENGTH=0
 WRONG_MAP=0
 WRONG_REDUCE=0
 File Input Format Counters
 Bytes Read=151
 File Output Format Counters
 Bytes Written=37

最后,你可以查看输出文件的内容:

 
cat ~/output/*

 

结果应该是:


6 principal
1 principal.

现在你可以探索Hadoop了。

Anne655 profile image