ホームページ  >  記事  >  データベース  >  Hadoop的安装部署与配置

Hadoop的安装部署与配置

WBOY
WBOYオリジナル
2016-06-07 16:41:301565ブラウズ

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

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。