Hadoop112ZooKeeper及HBase的安装配置过程绝对可用Word格式文档下载.docx

上传人:b****5 文档编号:18694935 上传时间:2022-12-31 格式:DOCX 页数:14 大小:35.82KB
下载 相关 举报
Hadoop112ZooKeeper及HBase的安装配置过程绝对可用Word格式文档下载.docx_第1页
第1页 / 共14页
Hadoop112ZooKeeper及HBase的安装配置过程绝对可用Word格式文档下载.docx_第2页
第2页 / 共14页
Hadoop112ZooKeeper及HBase的安装配置过程绝对可用Word格式文档下载.docx_第3页
第3页 / 共14页
Hadoop112ZooKeeper及HBase的安装配置过程绝对可用Word格式文档下载.docx_第4页
第4页 / 共14页
Hadoop112ZooKeeper及HBase的安装配置过程绝对可用Word格式文档下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

Hadoop112ZooKeeper及HBase的安装配置过程绝对可用Word格式文档下载.docx

《Hadoop112ZooKeeper及HBase的安装配置过程绝对可用Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Hadoop112ZooKeeper及HBase的安装配置过程绝对可用Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。

Hadoop112ZooKeeper及HBase的安装配置过程绝对可用Word格式文档下载.docx

NETWORKING=yes

HOSTNAME=master

然后,运行

hostnamemaster

退出,再进入输入env|grephostname发现修改生效

∙为每个节点设置无密码ssh登录

1、在master节点上运行

ssh-keygen–trsa

2、在master节点上,首先

cat~/.ssh/id_rsa.pub>

>

~/.ssh/authorized_keys

然后

chmod644~/.ssh/authorized_keys 

3、将master节点上的~/.ssh/id_rsa.pub文件分别scp到每个slave节点上,如

scp~/.ssh/id_rsa.pubroot@slave0:

/home

4、登录每个slave节点,运行(以slave0为例)

cat/home/id_rsa.pub>

5、修改文件权限

chmod600~/.ssh/authorized_keys

6、从第3步开始循环,直至配置好每个slave节点

∙下载Hadoop

下载hadoop-1.1.2,放在/home/LTE目录下,用命令tarzxvfhadoop-1.1.2.tar.gz解压,在/home/LTE下生成目录hadoop-1.1.2

∙修改HADOOP的配置文件

修改conf/core-site.xml文件

<

configuration>

property>

name>

fs.default.name<

/name>

value>

hdfs:

//master:

54310<

/value>

/property>

hadoop.tmp.dir<

/home/LTE/hadoop/tmp<

/configuration>

在conf/hadoop-env.xml文件里增加

exportJAVA_HOME=/usr/local/java/jdk1.6.0_32

修改conf/hdfs-site.xml文件:

dfs.replication<

2<

dfs.data.dir<

/home/LTE/hadoop/data<

dfs.name.dir<

/home/LTE/hadoop/name<

修改conf/mapred-site.xml文件:

mapred.job.tracker<

master:

9001<

mapred.local.dir<

/home/LTE/hadoop/temp<

conf/masters文件

master

conf/slaves文件

slave0

slave1

slave2

slave3

slave4

从master节点上,将/home/LTE目录依次拷贝到每个slave节点的/home目录下

∙启动Hadoop

在master节点的/home/LTE/hadoop-1.1.2目录下进行HDFS的格式化

bin/hadoopnamenode–format

格式化后,HDFS中的内容会全部丢失

然后,开启Hadoop集群

bin/start-all.sh

此时,Hadoop集群已经启动,可以提交运算的作业了。

HBase的配置

安装HBase时,不仅需要HBase本身,还需要ZooKeeper来提供、管理和协调分布式服务。

在运行HBase之前,也需要先启动ZooKeeper服务。

另外,有些版本的HBase只能支持特定版本的Hadoop,如下表:

在本文中,采用了Hadoop-1.1.2,HBase-0.94.8,以及ZooKeeper-3.4.5

由于ZooKeeper采用了Paxos算法来进行选举,因此实际能够有效参与选举的节点数量是奇数。

所以,我们在安装HBase和ZooKeeper时,只采用奇数个节点(本文采用5个节点,分别为master、slave0、slave1、slave2、slave3)。

安装ZooKeeper

将zookeeper-3.4.5.tar.gz在/home/LTE下解压,生成zookeeper-3.4.5目录。

在/home/LTE/zookeeper-3.4.5/conf中,有zoo_sample.cfg文件,使用命令cpzoo_sample.cfgzoo.cfg命令生成zoo.cfg配置文件。

编辑zoo.cfg的内容,如下:

[html]viewplaincopyprint?

The 

number 

of 

milliseconds 

each 

tick 

tickTime=2000 

ticks 

that 

the 

initial 

synchronization 

phase 

can 

take 

initLimit=10 

pass 

between 

sending 

request 

and 

getting 

an 

acknowledgement 

syncLimit=5 

directory 

where 

snapshot 

is 

stored. 

do 

not 

use 

/tmp 

for 

storage, 

here 

just 

example 

sakes. 

dataDir=/home/LTE/zookeeper 

port 

at 

which 

clients 

will 

connect 

clientPort=2181 

server.1=master:

2888:

3888 

server.2=slave0:

server.3=slave1:

server.4=slave2:

server.5=slave3:

Be 

sure 

to 

read 

maintenance 

section 

administrator 

guide 

before 

turning 

on 

autopurge. 

http:

//zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance 

snapshots 

retain 

in 

dataDir 

#autopurge.snapRetainCount=3 

Purge 

task 

interval 

hours 

Set 

"

0"

disable 

auto 

purge 

feature 

#autopurge.purgeInterval=1 

#Thenumberofmillisecondsofeachtick

tickTime=2000

#Thenumberofticksthattheinitial

#synchronizationphasecantake

initLimit=10

#Thenumberofticksthatcanpassbetween

#sendingarequestandgettinganacknowledgement

syncLimit=5

#thedirectorywherethesnapshotisstored.

#donotuse/tmpforstorage,/tmphereisjust

#examplesakes.

dataDir=/home/LTE/zookeeper

#theportatwhichtheclientswillconnect

clientPort=2181

3888

#

#Besuretoreadthemaintenancesectionofthe

#administratorguidebeforeturningonautopurge.

#http:

//zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance

#ThenumberofsnapshotstoretainindataDir

#autopurge.snapRetainCount=3

#Purgetaskintervalinhours

#Setto"

todisableautopurgefeature

#autopurge.purgeInterval=1

为了让系统能够识别zoo.cfg中的server.id=host:

port:

port中的server.id,在master节点的/home/LTE/zookeeper中创建一个文件myid,里面只有一个数字1;

同理,在slave0节点的/home/LTE/zookeeper中创建一个文件myid,里面只有一个数字2;

以此类推….直至slave3节点。

注意,这里id的范围是1~255。

以上配置(zookeeper以及zookeeper-3.4.5)要复制到集群中的每一个节点上去。

在/etc/profile的最后添加:

export 

HBASE_HOME=/home/LTE/hbase-0.94.8 

HADOOP_HOME=/home/LTE/hadoop-1.1.2 

ZK_HOME=/home/LTE/zookeeper-3.4.5 

JAVA_HOME=/usr/local/java/jdk1.6.0_32 

CLASSPATH=$CLASSPATH:

$HBASE_HOME/lib:

$JAVA_HOME/lib 

PATH=$JAVA_HOME/bin:

$HBASE_HOME/bin:

$ANT_HOME/bin:

$HADOOP_HOME/bin:

$ZK_HOME/bin:

$PATH 

exportHBASE_HOME=/home/LTE/hbase-0.94.8

exportHADOOP_HOME=/home/LTE/hadoop-1.1.2

exportZK_HOME=/home/LTE/zookeeper-3.4.5

exportCLASSPATH=$CLASSPATH:

$JAVA_HOME/lib

exportPATH=$JAVA_HOME/bin:

$PATH

然后,source/etc/profile

这个操作要在集群的每一个节点上进行

启动ZooKeeper

在每一个节点的/home/LTE/zookeeper-3.4.5/bin中执行命令:

./zkServer.sh 

start

这样就启动了zookeeper集群中的各个节点。

输入命令./zkServer.sh 

status

可以查看当前节点在zookeeper集群中的角色是leader还是follower

安装HBase

将/home/LTE/hbase-0.94.8.tar.gz解压,生成/home/LTE/hbase-0.94.8。

在hbase-0.94.8/lib中,原来有一个hadoop-core-1.0.4.jar文件,但是我们用的Hadoop的版本是hadoop-1.1.2,所以需要将hbase-0.94.8/lib/hadoop-core-1.0.4.jar替换成hadoop-1.1.2/hadoop-core-1.1.2.jar,否则会有冲突。

打开conf/hbase-env.sh文件,将其中最后一行改为:

export 

HBASE_MANAGES_ZK=false

这表示我们不使用hbase-0.94.8自带的zookeeper,而是使用我们刚才自己安装的zookeeper-2.3.4(具体指定使用哪个zookeeper是通过/etc/profile中的ZK_HOME变量来指定的)。

下面,打开conf/hbase-site.xml文件,添加以下内容:

1.<

2. 

3. 

hbase.rootdir<

4. 

54310/hbase<

5. 

6. 

7. 

hbase.cluster.distributed<

8. 

true<

9. 

10. 

11. 

12. 

3<

13. 

14. 

15. 

hbase.zookeeper.quorum<

16. 

master,slave0,slave1,slave2,slave3<

17. 

18. 

19. 

hbase.zookeeper.property.dataDir<

20. 

/home/LTE/zookeeper/dataDir<

21. 

22.<

其中,我们需要通过hbase.rootdir指定HDFS的一个namenode节点,并让HBase将数据写入HDFS中的一个目录(本例中就是hdfs:

54310/hbase);

hbase.zookeeper.quorum指定了哪些节点运行QuorumPeer(即QuorumPeerMain进程),个数需为奇数。

下面,打开文件conf/regionservers,添加以下内容:

1.slave0 

2.slave1 

3.slave2 

4.slave3 

该文件指定了HRegionServer进程将在哪些节点上运行。

以上配置需要在HBase的每一个节点中生效。

启动HBase

OK,现在HBase集群配置好了。

我们来启动HBase。

进入$HBASE_HOME/bin目录下,输入命令

./start-hbase.sh

在HBase集群启动之后,键入命令

./hbase 

shell

启动HBase的控制台界面

我们可以在浏览器中查看HBase系统的运行状态,地址为http:

//172.16.38.213:

60010/master-status,其中172.16.38.213是master所在节点的IP.

常见问题

1、HBase中的某个节点无法启动

这很可能是因为集群中各个节点的系统时间不一致(时间差超出了某个阈值),这是我们需要将几台机器间的时间调整一致。

我们可以将master作为时间服务器,让其他机器与master进行对时。

首先,在master上键入命令 

servicentpdstart 

来开启master上的时间服务器。

等待几分钟后,在其他每一台机器上键入命令ntpdate 

master 

来与master进行对时

2、由于缺少一些jar包引起的异常

在HBase上运行一些Hadoop的MR程序时,可能会报以下异常:

[plain]viewplaincopyprint?

1.Exception 

thread 

main"

java.lang.NoClassDefFoundError:

com/google/protobuf/Message 

2..... 

... 

3.Caused 

by:

java.lang.ClassNotFoundException:

com.google.protobuf.Message 

4..... 

Exceptioninthread"

java.lang.NoClassDefFoundError:

com/google/protobuf/Message

.......

Causedby:

java.lang.ClassNotFoundException:

com.google.protobuf.Message

或者

org/apache/zookeeper/KeeperException 

org.apache.zookeeper.KeeperException 

org/apache/zookeeper/KeeperExcepti

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1