首家大数据培训挂牌机构 股票代码:837906 | EN CN
异常解决方案—NameNode 宕机读写测试
异常解决方案—NameNode 宕机切换实验
异常解决方案—Data Node 配置
异常解决方案—Backup Node配置
异常解决方案—NameNode配置
异常解决方案—6.5.1异常情况分析
安装及配置
5NameNode安装及配置以及6BackupNode安装及配置
6.4.4虚拟机集群架设
6.4.3安装JDK
3.配置操作系统
2.创建虚拟机与安装操作系统
6.4构建实验环境
实验方案说明
故障切换机制
日志池(journal spool)机制
元数据操作情景分——BackupNode更新磁盘上的日志文件
元数据操作情景分——NameNode通过日志输出流......
元数据操作情景分——NameNode将日志写入日志文件
元数据操作情景分——NameNode更新内存镜像
元数据操作情景分——客户端执行命令流程
元数据操作情景分
Hadoop的Backup Node方案——运行机制分析(5)
Hadoop的Backup Node方案——运行机制分析(4)
Hadoop的Backup Node方案——运行机制分析(3)
Hadoop的Backup Node方案——运行机制分析(2)
Hadoop的Backup Node方案——运行机制分析(1)
Hadoop的Backup Node方案——系统架构
Hadoop的Backup Node方案—Backup Node 概述
元数据可靠性机制以及使用说明
Checkpoint 过程情景分析
元数据更新及日志写入情景分析
NameNode启动加载元数据情景分析
Hadoop的元数据备份机制的进行分析
元数据应用场景分析
Format情景分析
磁盘元数据文件
HDFS之代码分析——元数据结构
HDFS之内存元数据结构
什么是HDFS的元数据
Hadoop中DRDB方案和AvatarNode方案
Hadoop中常用各方案的对比
Hadoop的BackupNode方案
Hadoop的CheckpointNode方案
Hadoop的SecondaryNameNode方案
Hadoop的元数据备份方案
影响HDFS可用性的几个因素
什么是高可用性? 详细解析
HDFS系统架构简介
如何安装和配置Hadoop集群
如何在Windows下安装Hadoop
在MacOSX上安装与配置Hadoop
Linux下安装Hadoop的步骤
Hadoop的集群安全策略介绍
Hive的数据管理介绍
HBase的数据管理介绍
HDFS的数据管理介绍
Hadoop计算模型之 MapReduce 简介
Hadoop于分布式开发
Hadoop体系结构介绍
Hadoop的项目结构详解
一文读懂Hadoop

Linux下安装Hadoop的步骤

于2018-01-11由小牛君创建

分享到:


Hadoop的安装与配置

1 Linux上安装与配置Hadoop

Linux上安装Hadoop之前,需要先安装两个程序:

1JDK1.6(或更高版本)。Hadoop是用Java编写的程序,Hadoop的编译及MapReduce的运行都需要使用JDK。因此在安装Hadoop前,必须安装JDK1.6或更高版本。

2SSH(安全外壳协议),推荐安装OpenSSHHadoop需要通过SSH来启动Slave列表中各台主机的守护进程,因此SSH也是必须安装的,即使是安装伪分布式版本(因为Hadoop并没有区分开集群式和伪分布式)。对于伪分布式,Hadoop会采用与集群相同的处理方式,即按次序启动文件conf/slaves中记载的主机上的进程,只不过在伪分布式中Salvelocalhost(即为自身),所以对于伪分布式HadoopSSH一样是必需的。

1.1 安装JDK1.6

安装JDK1.6的具体步骤:

1)从http://www.oracle.com/technetwork/java/javase/downloads页面下载JDK1.6安装包(文件名类似jdk-***-linux-i586.bin,不建议安装JDK1.7版本,因为并不是所有软件都支持1.7版本)到JDK安装目录(本章假设IDK安装目录均为/usr/lib/jvm/jdk)。

2)手动安装JDK1.6在终端下进入JDK安装目录,并输入命令:

sudochmodu+xjdk-***-linux-i586.bin修改完权限之后就可以进行安装了,在终端输入命令:sudo-s./jdk-***-linux-i586.bin安装结束之后就可以开始配置环境变量了。

3)配置环境变量

输入命令:sudogedit/etc/profile输入密码,打开profile文件。在文件最下面输入如下内容:

#set Java Environment
Export JAVA_HOME=/usr/lib/jvm/jdk
Export CLASSPATH=".:$JAVA_HOME/lib:$CLASSPATH"
Export PATH="$JAVA_HOME/:$PATH"


这一步的意义是配置环境变量,使系统可以找到JDK

4)验证JDK是否安装成功

输入命令:

Java-version

会出现如下JDK版本信息:

Java version"1.6.0_22"
Java(TM) SE Runtime Environment (build1.6.0_22-b04)
Java HotSpot(TM) ClientVM (build 17.1-b03,mixedmode,sharing)


如果出现上述JDK版本信息,说明当前安装的JDK并未设置成Ubuntu系统默认的JDK,接下来还需要手动将安装的JDK设置成系统默认的JDK

5)手动设置系统默认JDK

在终端依次输入命令:

Sudo update-alternatives –install /usr/bin/javajava/usr/lib/jvm/jdk/bin/java 300
Sudo update-alternatives –install /usr/bin/javacjavac/usr/lib/jvm/jdk/bin/javac300
Sudo update-alternatives —config java


接下来输入java–version就可以看到所安装的JDK的版本信息了。

1.2 配置SSH免密码登录

同样以Ubuntu为例,假设用户名为u

1)确认已经连接上互联网,然后输入命令:

Sudo apt-get install ssh

2)配置为可以免密码登录本机。首先查看在u用户下是否存在.ssh文件夹(注意ssh前面有“.”,这是一个隐藏文件夹),输入命令:

Ls –a /home/u

一般来说,安装SSH时会自动在当前用户下创建这个隐藏文件夹,如果没有,可以手动创建一个。接下来,输入命令(注意下面命令中不是双引号,是两个单引号):

ssh-keygen –t dsa –P '' -f ~/. ssh/id_dsa

ssh-keygen代表生成密钥;-t(注意区分大小写)表示指定生成的密钥类型;dsadsa密钥认证的意思,即密钥类型;-P用于提供密语;-f指定生成的密钥文件。

Ubuntu中,~代表当前用户文件夹,此处即/home/u

这个命令会在.ssh文件夹下创建id_dsaid_dsa.pub两个文件,这是SSH的一对私钥和公钥,类似于钥匙和锁,把id_dsa.pub(公钥)追加到授权的key中去。输入命令:

cat~//.ssh/id_dsa.pub>>~//.ssh/authorized_keys

这条命令的功能是把公钥加到用于认证的公钥文件中,这里的authorized_keys是用于认证的公钥文件。至此免密码登录本机已配置完毕。

3)验证SSH是否已安装成功,以及是否可以免密码登录本机。

输入命令:

Ss –version


显示结果:

OpenSSH_5.8p1 Debian-7ubuntu1, OpenSSL 1.0.0e 6 Sep 2011
Bad escape character 'rsion'.

显示SSH已经安装成功了。输入命令:

Ssh localhost

会有如下显示:

The authenticity of host 'localhost(::1)' can't be established. RSA key fingerprint is 8b:c3:51:a5:2a:31:b7:74:06:9d:62:04:4f:84:f8:77.
Are you sure you want to continue connecting (yes/no)?yes
Warning: Permanently added' localhost'(RSA) to the list of known hosts. Linux master 2.6.31-14-generic #48-Ubuntu SMP Fri Oct 16 14:04:26 UTC 2011 i686 To access of ficial Ubuntu documentation, please visit:
http://help.ubuntu.com/
Last login: Sat Feb 18 17:12:40 2012 from master admin@Hadoop:~$


这说明已经安装成功,第一次登录时会询问是否继续链接,输入yes即可进入。实际上,在Hadoop的安装过程中,是否免密码登录是无关紧要的,但是如果不配置免密码登录,每次启动Hadoop都需要输入密码以登录到每台机器的DataNode上,考虑到一般的Hadoop集群动辄拥有数百或上千台机器,因此一般来说都会配置SSH的免密码登录。


1.3 安装并运行Hadoop

Hadoop分别从三个角度将主机划分为两种角色。第一,最基本的划分为MasterSlave,即主人与奴隶;第二,从HDFS的角度,将主机划分为NameNodeDataNode(在分布式文件系统中,目录的管理很重要,管理目录相当于主人,而NameNode就是目录管理者);第三,从MapReduce的角度,将主机划分为JobTrackerTaskTracker(一个Job经常被划分为多个Task,从这个角度不难理解它们之间的关系)。

Hadoop有官方发行版与cloudera版,其中cloudera版是Hadoop的商用版本,这里先介绍Hadoop官方发行版的安装方法。

Hadoop有三种运行方式:单机模式、伪分布式与完全分布式。乍看之下,前两种方式并不能体现云计算的优势,但是它们便于程序的测试与调试,所以还是很有意义的。

你可以在以下地址获得Hadoop的官方发行版:

http://www.apache.org/dyn/closer.cgi/Hadoop/core/

下载hadoop-1.0.1.tar.gz并将其解压。

1)单机模式配置方式

安装单机模式的Hadoop无须配置,在这种方式下,Hadoop被认为是一个单独的Java进程,这种方式经常用来调试。

2)伪分布式Hadoop配置可以把伪分布式的Hadoop看做只有一个节点的集群,在这个集群中,这个节点既是Master,也是Slave;既是NameNode,也是DataNode;既是JobTracker,也是TaskTracker。伪分布式的配置过程也很简单,只需要修改几个文件。

进入conf文件夹,修改配置文件。

指定JDK的安装位置:

Hadoop-env.sh:

Export JAVA_HOME=/usr/lib/jvm/jdk

这是Hadoop核心的配置文件,这里配置的是HDFSHadoop的分布式文件系统)的地址及端口号。

conf/core-site.xml:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>


以下是HadoopHDFS的配置,配置的备份方式默认为3,在单机版的Hadoop中,需要将其改为1

conf/hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value> 
</property>
</configuration>


以下是HadoopMapReduce的配置文件,配置JobTracker的地址及端口。

conf/mapred-site.xml:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>


接下来,在启动Hadoop前,需要格式化Hadoop的文件系统HDFS。进入Hadoop文件夹,输入命令:

bin/Hadoop NameNode –format

格式化文件系统,接下来启动Hadoop

输入命令,启动所有进程:

bin/start-all.sh

最后,验证Hadoop是否安装成功。

打开浏览器,分别输入网址:

http://localhost:50030(MapReduceWeb页面)

http://localhost:50070(HDFSWeb页面)

如果都能查看,说明Hadoop已经安装成功。

对于Hadoop来说,启动所有进程是必须的,但是如果有必要,你依然可以只启动HDFSstart-dfs.sh)或MapReducestart-mapred.sh)。