Heim  >  Artikel  >  Datenbank  >  Hadoop的安装部署与配置

Hadoop的安装部署与配置

WBOY
WBOYOriginal
2016-06-07 16:41:301595Durchsuche

注: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

    style=

一、实验环境准备

本机配置

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

提升管理员权限、解压:

    style=

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

    style=

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

    style=

测试配置是否正确

    style=

Hadoop安装

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

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

    style=

    style=

在 /etc/profile 添加

    style=

让配置文件生效:

    style=

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

    style=

    style=

编辑/conf 下的core-site.xml

    style=

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

mkdir /home/tianjun/hadoop

chown 777 /home/tianjun/hadoop

    style=

然后再编辑hdfs-site.xml

    style=

保存后再编辑mapred-site.xml

    style=

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

主要命令是

sudo mkdir /opt/hadoop/logs

chown 777 /opt/hadoop/logs

然后就可以看到以下()

    style=

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

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

    style=

选完全克隆:

    style=

复制完成后:

    style=

查询IP地址

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

    style=

    style=

    style=

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

    style=

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

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

    style=

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

Sudo apt-get install openssh-server

然后本地测试ssh localhost

    style=

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

    style=

然后在master上测试

    style=

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

三、测试及报错

运行hadoop

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

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

然后运行 start-all.sh

    style=

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

    style=

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

    style=

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

    style=

    style=

搞定。下周再完成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下载

    style=

下载并解压到Hadoop所在目录

    style=

接下来配置Hbase-env.sh

    style=

    style=

再编辑 hbase-site.xml

    style=

最后编辑regionserver

    style=

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

然后运行 start-hbase.sh

接下来运行jps检测进程:

    style=

最后运行 hbase shell

    style=

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn