Hadoop环境的安装
如ubuntu 直接安装Linux Window下安装Linux虚拟机 SSH(Secure Shell) 主要用于远程管理Hadoop节点以及Hadoop节点间的安全共享访问 Java 如JDK 1.7
Hadoop系统的安装方式
单机方式
在一台运行Linux或Windows下虚拟Linux的单机上安装运行Hadoop系统 单机伪分布方式 在一台运行Linux或Window下虚拟Linux的单机上,用伪分布方式,用不同 的java进程模拟分布运行中的NameNode、DataNode、JobTracker、 TaskTracker等各类节点 集群分布模式 在一个真实的集群环境下安装运行Hadoop系统,集群的每个节点可以运 行Linux或Window下的虚拟Linux。 单机和伪分布模式下编写调试完成的程序不需修改即可在真实的分布式 Hadoop集群下运行(但通常需要修改配置)
9.2. 运行测试:将文件复制到HDFS文件系统中 [hadoop@ ubuntu: ~/file]$ hadoop fs –mkdir input [hadoop@ ubuntu: ~/file]$ hadoop fs –put ~/file/file*.txt input 运行hadoop安装包中自带的WorldCount程序进行测试: [hadoop@ Master ~]$ hadoop jar hadoop-0.21.0-examples.jar wordcount test-in test-out
什么是SSH?
SSH(Secure Shell),是建立在应用层和传输层基础上的安全协议。 传统的网络服务程序,如FTP、POP和Telnet本质上都是不安全的; 它们在网络上用明文传送数据、用户帐号和用户口令,很容易受 到中间人(man-in-the-middle)攻击方式的攻击。 而SSH是目前较为可靠的、专为远程登录会话和其他网络服务提 供安全性的协议。利用SSH协议可以有效防止远程管理过程中的 信息泄露问题。通过SSH可以对所有传输的数据进行加密,也能 够防止DNS欺骗和IP欺骗。 SSH另一项优点是其传输的数据是经过压缩的,所以可以加快传 输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、 POP、PPP提供一个安全的登陆会话“通道”。 Hadoop使用SSH保证在远程管理Hadoop节点和节点间用户共享访 问时的安全性。
11. 停止HDFS和MapReduce
执行以下命令启动HDFS和MapReduce
[hadoop@ubuntu:/opt/hadoop]$ ./stop-all.sh
单机和单机伪分布式安装过程
9. 运行测试
wordcount是一个简单而却能直观体现mapreduce编程思想一 个示例程序,可以在hadoop的安装包下找到,主要功能就是 在一系列文本中统计出每个单词的出现次数。
单机和单机伪分布方式安装过程
Hadoop版本信息
根据Apache Hadoop官方提供的release,目前有以下版本可下载: 0.20.x.x :hadoop-0.20.2/,hadoop-0.20.203.0/,hadoop-0.20.204.0/,hadoop-0.20.205.0/ 0.21.x, 0.22.x, 0.23.x:hadoop-0.21.0/,hadoop-0.22.0/,hadoop-0.23.0/,hadoop-0.23.1/ 1.0版本:hadoop-1.0.0/,hadoop-1.0.1/ 2.0版本:hadoop-2.4.0/, hadoop-2.3.0/, hadoop-2.2.0/ …. 其中0.20.203.0 是目前最稳定的版本之一,发布于2011年5月11日,官方的说明是: “It is stable and has been deployed in large (4,500 machine) production clusters”。 1.2.1是目前最新的稳定版本,发布于2013年8月1日 Hadoop-1.2.1 的API可以参考/docs/r1.2.1/api/index.html 或者参考所下载的Hadoop包中docs文件夹下的内容
[hadoop@ubuntu : /opt/hadoop/bin]$ ./hadoop namenode -format
如果格式化成功,会返回一堆有关NameNode的启动信息,其 中会有一句“…. has been successfully formatted.”
单机和单机伪分布方式安装过程
8. 启动HDFS和MapReduce
第三步、配置环境变量 打开/etc/environment文件 在文件中追加红色框内的内容
使配置生效
如果有默认JDK:
第四步、配置默认JDK版本 改变系统bin默认java的指向,这个意思是把/usr/bin/java下的java命 令 指向/usr/lib/jvm/java-7-sun/bin/java并设置优先级为300(优先级 最高的为默认的程序使用路径).
单机和单机伪分布式安装过程
9.1. 运行测试:创建文件
在Linux文件系统下(如/home/hadoop/file)创建两个文本文件: file1.txt:hello NCUT hello Bruce file2.txt:hello China wo zai yunjisuan shiyanshi
其中test-out只能由程序创建,不能事先存在
单机和单机伪分布式安装过程
9.3. 运行wordcount [hadoop@ ubuntu: ~]$ hadoop jar /opt/hadoop/hadoop-examples.1.1.1.jar wordcount input output
[hadoop@ubuntu : ~]$ mkdir file
[hadoop@ubuntu : ~]$ cd file [hadoop@ubuntu : ~/file]$ vi file1.txt [hadoop@ubuntu : ~/file]$ vi file2.txt
单机和单机伪分布式安装过程
基本安装步骤
安装JDK 下载安装Hadoop 配置SSH 配置Hadoop的环境 格式化HDFS文件系统 启动Hadoop环境 运行程序测试 查看集群状态
单机和单机伪分布方式安装过程
1. 单机操作系统安装
在单机上安装Linux或Window下虚拟Linux,手册以操作系统Linux Ubuntu 12.10为例(VMware下安装ubuntu,并实现与windows共享文件,请参看) 2. 安装JDK 第一步、下载JDK FOR LINUX 下载地址: /technetwork/java/javase/downloads/index.ht ml 第二步、指定目录,解压安装。 当前目录下解压 以最高权限拷贝到安装目录 可按照个人习惯改名
6.2 修改hadoop配置文件hdfs-site.xml
单机和单机伪分布方式安装过程
6.2 修改hadoop配置文件mapred-site.xml
单机和单机伪分布方式安装过程
7.格式化NameNode
首先需要格式化HDFS,需要运行的主要脚本位于 HADOOP_HOME(hadoop解压后的根目录)/bin目录下, 在此目录下进行格式化,执行Hadoop的bin文件夹中的格式化 命令:
单机和单机伪分布方式安装过程
使hadoop应用能够实现无码登陆 生成一个公钥和私钥对,即id_dsa和id_dsa.pub两个文件,位于 ~/.ssh/authorized_keys文件夹下。
可以在默认目录下看到两个密钥 配置密钥,使得hadoop用户能够无须输入密码,通过SSH访问 localhost。 到此,SSH配置完毕,可以通过ssh localhost验证是否配置成功, 即无须密码可以直接登陆localhost。如果成功,测试结果如下,
单机和单机伪分布方式安装过程
5. 解压安装Hadoop
到Hadoop官网下载hadoop,实验手册中是hadoop-1.1.1-bin.tar.gz 解压缩到/opt/hadoop目录下 更改根目录名称:
[hadoop@ubuntu:/opt]$ sudo mv hadoop-1.1./ hadoop 将hadoop文件夹的own改为用户hadoop [hadoop@ubuntu:~]$ sudo chown –R hadoop:hadoop /opt/hadoop 解压好以后,所有的hadoop相关的配置文件都可以在/opt/hadoop/conf 下找到,下面主要针对以下四个文件进行配置,分别是core-site.xml, hadoop-env.sh, hdsf-site.xml, mapred-site.xml。
单机和单机伪分布方式安装过程
6.1. 修改hadoop配置文件hadoop-env.sh,设置JAVA_HOME
将
改为
单机和单机伪分布方式安装过程
6.2 修改hadoop配置文件core-site.xml
在hadoop文件夹下建立tmp文件夹。 修改core-site.xml内容如下,
单机和单机伪分布方式安装过程
执行以下命令启动HDFS和MapReduce
[hadoop@ubuntu:/opt/hadoop]$ ./start-all.sh
用JPS命令检查一下是否正常启动:
[hadoop@ubuntu ~]$ jps 显示以下各进程信息则说明HDFS和MapReduce都已正常启动:
4706 JobTracker 4582 SecondaryNameNode 4278 NameNode 4413 DataNode 4853 TaskTracker 488
第五步、或者直接删除UBUNTU自带的OPENJDK(如果有OPENJDK, 第四步与第五步选其一即可,否则第四步必选)