大数据篇_hadoop安装

创建一个用户

在开始时,建议创建一个单独的用户Hadoop以从Unix文件系统隔离Hadoop文件系统。按照下面给出的步骤来创建用户:

  • 使用 “su” 命令开启root .
  • 创建用户从root帐户使用命令 “useradd username”.
  • 现在,可以使用命令打开一个现有的用户帐户“su username”

$ su 
   password: 
# useradd hadoop 
# passwd hadoop 
   New passwd: 
   Retype new passwd 

SSH设置和密钥生成

SSH设置需要在集群上做不同的操作,如启动,停止,分布式守护shell操作。认证不同的Hadoop用户,需要一种用于Hadoop用户提供的公钥/私钥对,并用不同的用户共享。

下面的命令用于生成使用SSH键值对。复制公钥形成 id_rsa.pub 到authorized_keys 文件中,并提供拥有者具有authorized_keys文件的读写权限。

$ ssh-keygen -t rsa 
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 
$ chmod 0600 ~/.ssh/authorized_keys
操作的含义是生成公钥私钥,并复制文件到另一个文件中,并赋予权限。
但是不会生成私钥,怎么一直没有这个文件

安装Java

Java是Hadoop的主要先决条件。首先,应该使用命令“java-version”验证 java 存在在系统中。 Java version 命令的语法如下。

$ java -version 

如果一切顺利,它会给下面的输出。

java version "1.7.0_71" 
Java(TM) SE Runtime Environment (build 1.7.0_71-b13) 
Java HotSpot(TM) Client VM (build 25.0-b02, mixed mode)  

如果Java还未安装在系统中,那么按照下面的给出的步骤来安装Java。

第1步

下载Java(JDK<最新版> - X64.tar.gz)通过访问以下链接 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads1880260.html.

然后JDK-7u71-linux-x64.tar.gz将被下载到系统。

第2步

一般来说,在下载文件夹中的Java文件。使用下面的命令提取 jdk-7u71-linux-x64.gz文件。

$ cd Downloads/ 
$ ls 
jdk-7u71-linux-x64.gz 
$ tar zxf jdk-7u71-linux-x64.gz 
$ ls 
jdk1.7.0_71   jdk-7u71-linux-x64.gz 

第3步

为了使Java提供给所有用户,将它移动到目录 “/usr/local/”。打开根目录,键入以下命令。

$ su 
password: 
# mv jdk1.7.0_71 /usr/local/ 
# exit 

第4步

用于设置PATH和JAVA_HOME变量,添加以下命令到~/.bashrc文件。

export JAVA_HOME=/usr/local/jdk1.7.0_71 
export PATH=PATH:$JAVA_HOME/bin 

现在从终端验证 java -version 命令如上述说明。

下载Hadoop

下载来自Apache基金会软件,使用下面的命令提取 Hadoop2.4.1。

$ su 
password: 
# cd /usr/local 
# wget http://apache.claz.org/hadoop/common/hadoop-2.4.1/ 
hadoop-2.4.1.tar.gz 
# tar xzf hadoop-2.4.1.tar.gz 
# mv hadoop-2.4.1/* to hadoop/ 
# exit 
但是我下载的时候出现了404的情况,决定先本地下载,再用winscp上传上去。

Hadoop操作模式

下载 Hadoop 以后,可以操作Hadoop集群以以下三个支持模式之一:

  • 本地/独立模式:下载Hadoop在系统中,默认情况下之后,它会被配置在一个独立的模式,用于运行Java程序。

  • 模拟分布式模式:这是在单台机器的分布式模拟。Hadoop守护每个进程,如 hdfs, yarn, MapReduce 等,都将作为一个独立的java程序运行。这种模式对开发非常有用。

  • 完全分布式模式:这种模式是完全分布式的最小两台或多台计算机的集群。我们使用这种模式在未来的章节中。

在单机模式下安装Hadoop

在这里,将讨论 Hadoop2.4.1在独立模式下安装。

有单个JVM运行任何守护进程一切都运行。独立模式适合于开发期间运行MapReduce程序,因为它很容易进行测试和调试。

可以通过附加下面的命令到 ~/.bashrc 文件中设置 Hadoop 环境变量。

export HADOOP_HOME=/usr/local/hadoop 
发现自己的~/.bashrc 是损坏的!!!


在进一步讨论之前,需要确保Hadoop工作正常。发出以下命令:

$ hadoop version 

如果设置的一切正常,那么应该看到以下结果:

Hadoop 2.4.1 
Subversion https://svn.apache.org/repos/asf/hadoop/common -r 1529768 
Compiled by hortonmu on 2013-10-07T06:28Z 
Compiled with protoc 2.5.0
From source with checksum 79e53ce7994d1628b240f09af91e1af4 

这意味着Hadoop在独立模式下工作正常。默认情况下,Hadoop被配置为在非分布式模式的单个机器上运行。

示例

让我们来看看Hadoop的一个简单例子。 Hadoop安装提供了下列示例 MapReduce jar 文件,它提供了MapReduce的基本功能,并且可以用于计算,像PI值,字计数在文件等等

$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar 

有一个输入目录将推送几个文件,要求计算那些文件的单词总数。要计算单词总数,并不需要写MapReduce,提供的.jar文件包含了实现字数。可以尝试其他的例子使用相同的.jar文件; 发出以下命令通过Hadoop hadoop-mapreduce-examples-2.2.0.jar 文件检查支持MapReduce功能的程序。

$ hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduceexamples-2.2.0.jar 

第1步

创建输入临时目录的内容文件。可以在任何地方创建此输入目录用来工作。

$ mkdir input 
$ cp $HADOOP_HOME/*.txt input 
$ ls -l input 

它会在输入目录中的给出以下文件:

total 24 
-rw-r--r-- 1 root root 15164 Feb 21 10:14 LICENSE.txt 
-rw-r--r-- 1 root root   101 Feb 21 10:14 NOTICE.txt
-rw-r--r-- 1 root root  1366 Feb 21 10:14 README.txt 

这些文件已从Hadoop安装主目录被复制。为了实验,可以有不同大型的文件集。

第1步

让我们启动Hadoop进程计数在所有在输入目录中可用的文件的单词总数,具体如下:

$ hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduceexamples-2.2.0.jar  wordcount input ouput 

第3步

步骤2 将做必要的处理并保存输出在output/part-r00000文件中,可以通过查询使用:

$cat output/* 

它会列出了所有的单词以及它们在所有输入目录中的文件提供总计数。

"AS      4 
"Contribution" 1 
"Contributor" 1 
"Derivative 1
"Legal 1
"License"      1
"License");     1 
"Licensor"      1
"NOTICE”        1 
"Not      1 
"Object"        1 
"Source”        1 
"Work”    1 
"You"     1 
"Your")   1 
"[]"      1 
"control"       1 
"printed        1 
"submitted"     1 
(50%)     1 
(BIS),    1 
(C)       1 
(Don't)   1 
(ECCN)    1 
(INCLUDING      2 
(INCLUDING,     2 
.............


 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值