当前位置:Gxlcms > mysql > Hadoop的安装部署与配置

Hadoop的安装部署与配置

时间:2021-07-01 10:21:17 帮助过:34人阅读

注:pdf版下载:http://pan.baidu.com/s/1GKGkf 一、实验环境准备 本机配置 CPU : IntelCorei5-3317,1.7GHz Memory : 8G OS : WIN8 VMware 及 Ubuntu12.04 VMware 的安装略。 先安装一个虚拟机(本实验安装的是 Ubuntu12.04LST64bit ) JDK 安装 JDK 下载

注:pdf版下载:http://pan.baidu.com/s/1GKGkf

 width=

一、实验环境准备

本机配置

CPUIntel Core i5-3317,1.7GHz

Memory8G

OSWIN8

VMwareUbuntu12.04

VMware的安装略。

先安装一个虚拟机(本实验安装的是Ubuntu 12.04LST 64bit

JDK安装

JDK下载

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

提升管理员权限、解压:

 width=

编辑 /ect/profile 配置JDK环境变量

 width=

/etc/profile 文件中添加以下内容

 width=

测试配置是否正确

 width=

Hadoop安装

下载http://mirrors.cnnic.cn/apache/hadoop/common/

我下载的是1.2.1版本,解压下载的hadoop/opt目录下

 width=

 width=

/etc/profile 添加

 width=

让配置文件生效:

 width=

然后在hadoop-env.sh 中配置好java的目录

 width=

 width=

编辑/conf 下的core-site.xml

 width=

在这里添加了一个 hadoop.tmp.dir变量,主要是默认的hadoop目录是个tmp文件,容易被系统删除,所以重新指定了一个目录,然后在terminal下新建该目录并赋予完全访问权限。

mkdir /home/tianjun/hadoop

chown 777 /home/tianjun/hadoop

 width=

然后再编辑hdfs-site.xml

 width=

保存后再编辑mapred-site.xml

 width=

最后需要做的是在hadoop安装目录下添加logs文件夹并赋予完全访问权(不然后面有点麻烦)

主要命令是

sudo mkdir /opt/hadoop/logs

chown 777 /opt/hadoop/logs

然后就可以看到以下()

 width=

至此在单个机器上的环境已配置好。

二、复制多个虚拟机并相互通信

 width=

选完全克隆:

 width=

复制完成后:

 width=

查询IP地址

分别在3台虚拟机上运行 ifconfig 查看ip 如果不是该格式的话查看 Vmware自带的工具(Virtual Network Editor

 width=

 width=

 width=

分别在三台虚拟机上编辑hosts文件 添加 masterslave1slave2 IP地址

 width=

SSH免密码登陆(以下在每台电脑上设置)

分别在三台虚拟机上运行 ssh-keygen, ~/.ssh目录下会生成公钥和密钥,然后将公钥复制为authorized_keys

 width=

由于Ubuntu下没有预装openssh-client 需要自己联网安装:

Sudo apt-get install openssh-server

然后本地测试ssh localhost

 width=

在三台虚拟机上都完成以上步骤后,分别在slave1slave2上运行以下命令(scp),主要是将master上的公钥复杂到本地然后加入authorized_keys,从而master可以无障碍访问slave1slave2

 width=

然后在master上测试

 width=

多试几次,第一次要确认,退出后再连几次。然后就直接连上了。(很遗憾的一点是,由于三台虚拟机复制后的hostname是一样的,都是Ubuntu,所以截图里分不清到底是哪台计算机的terminal,截图的时候没意识到这个问题,囧...

三、测试及报错

运行hadoop

首先格式化(在master主机上):

Hadoop namenode -format(这个只要格式化一次就够了,以后启动hadoop就只运行start-all.sh , 停止就运行 stop-all.sh

然后运行 start-all.sh

 width=

在主机上运行jps查看是否有如下进程:

 width=

slave1slave2下运行jps查看是否有如下进程:

 width=

最后在任意一虚拟机的浏览器上打开 master:50030 master:50070

 width=

 width=

搞定。下周再完成mapreduce部分。敬请期待。

关于出错

以我的经验来看,出错几乎是难以避免的,大致分为两类:要么是执行命令时出现权限问题(这类问题要注意命令行的输出,比如 permission denied 之类的,cannot mkdir 之类的还有access denied之类的);要么是hadoop配置文件写错之类的(这类问题要注意查看hadoop/losgs文件夹下的相关log,比如jps执行后如果没有namenode就查看namenodelog文件,重点看 Fatal 或者是 ERROR那一行,然后google之一般都能找到解决方案)。

Goodluck

四、参考文档

Hadoop Beginners Guide.pdf(主要讲的是伪分布式)

http://pan.baidu.com/s/15Sph9

hadoop学习之hadoop完全分布式集群安装

http://blog.csdn.net/ab198604/article/details/8250461

Hadoop The Definitive Guide(3rd).pdf

http://pan.baidu.com/s/1BXTDa

五、HBase下载

 width=

下载并解压到Hadoop所在目录

 width=

接下来配置Hbase-env.sh

 width=

 width=

再编辑 hbase-site.xml

 width=

最后编辑regionserver

 width=

然后将修改后的整个hbase文件夹复制到slave1slave2

然后运行 start-hbase.sh

接下来运行jps检测进程:

 width=

最后运行 hbase shell

 width=

这样,整个过程就完成了。

人气教程排行