文章目录
  1. 1. 前言
  2. 2. 软件
  3. 3. 步骤
    1. 3.1. 安装JDK
    2. 3.2. 创建新的Hadoop用户
    3. 3.3. 配置SSH
    4. 3.4. 安装Hadoop
    5. 3.5. 单机模式配置
    6. 3.6. 单机模式测试
  4. 4. 参考资料

本文简要记述了本人参考网上教程在Ubuntu上(虚拟机)搭建Hadoop的过程,以备后用和各位获取。

前言

Hadoop是当今最流行的分布式系统之一,能够充分利用集群进行分布式程序的开发,以实现大规模数据的高速运算和存储。
Hadoop包括两个最重要的设计:HDFS和MapReduce。
HDFS是分布式文件系统(Hadoop Distribution File System),为海量数据提供高效的存储。
MapReduce是一种并行计算的思想,加快大数据处理的速度。

软件

1.JDK 8 (下载:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)
2.Hadoop 2.7.3
3.ssh

步骤

安装JDK

1.下载JDK的.tar.gz压缩文件后(这里我下载的是jdk-8u101-linux-x64.tar.gz),将其移动到位置如/usr/jdk:

1
mv /home/../Downloads /usr/jdk

Hadoop-1
2.然后将压缩文件解压

1
tar -zxvf jdk-8u101-linux-x64.tar.gz

3.然后修改配置文件.bashrc,并用source命令保存修改

1
2
3
vim ~/.bashrc
编辑...
source ~/.bashrc

在最后一行添加:

1
2
3
4
export JAVA_HOME=/usr/jdk/jdk1.8.0_101
export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

4.然后在任意目录输入

1
java -version

查看Java JDK的安装情况。至此,JDK 8就安装好了。

Hadoop-2

5.注:Java的安装是针对所有用户的,并不是只针对特定用户。

创建新的Hadoop用户

1.创建一个新的Hadoop用户用来测试:

1
2
3
4
5
6
~$ su
输入密码
#useradd -m hadoop -s /bin/bash
#passwd hadoop
设置密码
#adduser hadoop sudo # 为用户hadoop增加管理员权限

配置SSH

完全分布模式和单机伪分布模式都需要用到SSH,以保证在远程管理Hadoop节点以及Hadoop节点间用户共享访问时的安全性。
SSH登录类似于远程登录,登录某台Linux主机,并可在上面运行命令。

1.Ubuntu默认已经安装SSH Client, 我们还要安装SSH Server

1
sudo apt-get install openssh-server

2.在用户hadoop命令行中输入

1
$ ssh localhost

登录到本机,可见此时需要密码才能登录,下面免去此步骤。

Hadoop-3

退出刚刚的登录,然后在用户hadoop目录下(~/)新建隐藏目录.ssh,生成密钥对,一直按键,系统会默认将密钥对保存在.ssh/id_rsa 和 .ssh/id_rsa.pub中

1
2
3
4
~$ exit
~$ mkdir .ssh
~$ cd .ssh
~/.ssh$ ssh-keygen -t rsa

Hadoop-4

3.然后再执行命令:

1
~/.ssh$ cat ./id_rsa.pub >> ./authorized_keys

4.然后输入ssh localhost就不再需要密码了。

Hadoop-5

安装Hadoop

1.下载Hadoop包
源代码包(需编译)或二进制文件在http://hadoop.apache.org/releases.html下载
编译好的版本(hadoop-2.x.y.tar.gz)或者源代码包(hadoop-2.x.y-src.tar.gz)还可以在 http://mirror.bit.edu.cn/apache/hadoop/common/或者
http://mirrors.cnnic.cn/apache/hadoop/common/下载

2.将下载的Hadoop包(我下载的是hadoop-2.7.3.tar.gz,注意不带src!)移动到/usr/local下,我们将Hadoop安装在这个目录下。

3.解压

1
2
3
tar -zxvf hadoop-2.7.3.tar.gz
mv hadoop-2.7.3 hadoop # 将目录更名
chown -R hadoop hadoop # 更改文件权限

虽然Hadoop安装在/usr/local中,也是针对所有用户的,但是我们用账户hadoop来进行整个测试,所以更改文件权限不能不做,否则,在后面./sbin/start-dfs.sh步会遇到no such file or directory等错误。

4.解压后Hadoop即可使用
使用如下命令查看是否安装成功

1
2
cd /usr/local/hadoop
./bin/hadoop version

Hadoop-6

单机模式配置

单机模式没有守护进程,其实无需进行SSH配置,所以上面SSH配置步可以省略。

1.打开/usr/local/hadoop/etc/hadoop/hadoop-env.sh
2.将

1
export JAVA_HOME=${JAVA_HOME}

处修改为

1
2
3
export JAVA_HOME=/usr/jdk/jdk1.8.0_101    # 视Java安装位置而定
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:/usr/local/hadoop/bin

然后source hadoop-env.sh以保存修改

此时单机模式就已配置完成。

单机模式测试

1.采用Hadoop自带的示例WordCount来测试单机模式是否安装成功。

2.在/usr/local/hadoop路径下创建input目录,然后拷贝统计的输入文件README.txt到input中,然后执行。

1
2
3
mkdir input
cp README.txt input
bin/hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.7.3-sources.jar org.apache.hadoop.examples.WordCount input output

可以看到输出如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
...
File System Counters
FILE: Number of bytes read=598380
FILE: Number of bytes written=1162470
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=31
Map output records=179
Map output bytes=2055
Map output materialized bytes=1836
Input split bytes=104
Combine input records=179
Combine output records=131
Reduce input groups=131
Reduce shuffle bytes=1836
Reduce input records=131
Reduce output records=131
Spilled Records=262
Shuffled Maps =1
Failed Shuffles=0
Merged Map outputs=1
GC time elapsed (ms)=110
Total committed heap usage (bytes)=242360320
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=1366
File Output Format Counters
Bytes Written=1326

即说明配置成功。
打开output目录下的part 00000文件,可以看到有每个词的出现次数,即实现了词频统计。

接下来还将进行伪分布式和集群分布式的配置。
见以后的文章。

参考资料

[1] http://www.powerxing.com/install-hadoop/

大数据系统与技术 | Big Data