个人学习搭建ZookeeperHadoopHBase集群文档Word文档格式.docx

上传人:b****6 文档编号:21094577 上传时间:2023-01-27 格式:DOCX 页数:52 大小:142.70KB
下载 相关 举报
个人学习搭建ZookeeperHadoopHBase集群文档Word文档格式.docx_第1页
第1页 / 共52页
个人学习搭建ZookeeperHadoopHBase集群文档Word文档格式.docx_第2页
第2页 / 共52页
个人学习搭建ZookeeperHadoopHBase集群文档Word文档格式.docx_第3页
第3页 / 共52页
个人学习搭建ZookeeperHadoopHBase集群文档Word文档格式.docx_第4页
第4页 / 共52页
个人学习搭建ZookeeperHadoopHBase集群文档Word文档格式.docx_第5页
第5页 / 共52页
点击查看更多>>
下载资源
资源描述

个人学习搭建ZookeeperHadoopHBase集群文档Word文档格式.docx

《个人学习搭建ZookeeperHadoopHBase集群文档Word文档格式.docx》由会员分享,可在线阅读,更多相关《个人学习搭建ZookeeperHadoopHBase集群文档Word文档格式.docx(52页珍藏版)》请在冰豆网上搜索。

个人学习搭建ZookeeperHadoopHBase集群文档Word文档格式.docx

3.3.Hadoop23

3.3.1.Hadoop安装24

3.3.2.Hadoop配置(不完整,仅有基本参数说明,日后需要补充)24

3.4.Hbase32

3.4.1.Hbase安装32

3.4.2.Hbase配置(不完整,仅有基本参数说明,日后需要补充)33

4.服务启停38

4.1.Zookeeper38

4.1.1.Zookeeper启动38

4.1.2.Zookeeper停止38

4.2.Hadoop38

4.2.1.前提条件38

4.2.2.初始化39

4.2.3.hadoop启动39

4.2.4.hadoop停止40

4.3.Hbase41

4.3.1.前提条件41

4.3.2.Hbase启动41

4.3.3.Hbase停止42

5.使用43

5.1.Hadoop操作命令使用43

5.1.1.显示文件列表43

5.1.2.增加文件目录43

5.1.3.查看所有目录43

5.1.4.用put将文件从本地文件复制到HDFS中去43

5.1.5.从HDFS中取回文件43

5.1.6.删除文件43

5.1.7.杀掉任务44

5.1.8.查看任务44

5.2.Hadoop监控页面使用44

5.2.1.查看namenode44

5.2.2.查看datanode(未做过,日后需验证并修改)44

5.3.HbaseShell使用44

5.3.1.创建表44

5.3.2.显示所有表45

5.3.3.关闭shell45

5.3.4.查看表结构45

5.3.5.修改表结构45

5.3.6.删除一个列簇46

5.3.7.增加一个列簇46

5.3.8.删除表,先disable再进行删除46

5.3.9.查询表是否存在46

5.3.10.判断表是否enable46

5.3.11.判断表是否disable46

5.3.12.表中插入数据46

5.3.13.全表扫描47

5.3.14.rowkey范围查找47

5.3.15.删除一行数据47

5.3.16.获取表一个id的数据47

5.3.17.更新一条记录47

5.3.18.通过timestamp来获取一个版本的数据47

5.3.19.通过VERSIONS来获取多个版本的数据48

5.3.20.删除表某一id一个版本的一个字段48

5.3.21.删除表某一id所有版本的一个字段48

5.3.22.删除整行数据48

5.3.23.查询表中有多少行48

5.3.24.给表某一id增加一个字段并使用counter实现递增48

5.3.25.清空表48

5.3.26.查询服务器状态49

5.3.27.执行脚本文件49

5.4.Hbase监控页面使用49

5.4.1.查看MasterServer49

5.4.2.查看RegionServer49

6.运行状态检测及维护50

6.1.Zookeeper50

6.1.1.进程查看50

6.1.2.进程异常维护50

6.1.3.进程状态查看50

6.2.Hadoop50

6.2.1.进程查看50

6.2.2.Namenode状态51

6.3.Hbase51

6.3.1.进程查看51

6.3.2.进程异常维护52

7.动态扩展节点(暂未做过,需要核实并修改)53

7.1.动态扩展datanode53

7.1.1.增加节点53

7.1.2.删除节点55

7.2.HBASE动态扩展regionserver56

7.2.1.增加节点56

7.2.2.删除节点58

引言

编写目的

系统介绍

总体说明

SDFS产品的虚拟存储服务是以HBASE未存储介质的,所以这里个人学习了HBASE的安装部署。

软件版本

1)hadoop-2.7.1

2)hbase-1.1.1

3)zookeeper-3.4.5

4)jdk-8u45

网络与部署结构

主机

JPS查看结果

磁盘大小

内存大小

服务名称

附属组件

描述

DRM006

(192.168.56.136)

QuorumPeerMain

zookeeper

40G

1G

JournalNode

hadoop

NameNode

DataNode

DFSZKFailoverController

HRegionServer

hbase

ThriftServer

DRM007

(192.168.56.137)

QuorumPeerMain

NameNode

DataNode

DFSZKFailoverController

NodeManager

HRegionServer

ThriftServer

DRM008

(192.168.56.138)

DataNode

HRegionServer

HMaster

此Hbase集群、Hadoop集群、zookeeper集群搭建在个人的虚拟机中,由于本人的电脑配置较低(8G内存、500G硬盘),所以只启动三台虚拟机(CentOS6.2)进行混搭而成的。

Hbase集群中有1个HMaster和3个RegionServer。

最优是3台HMaster,一主2备,主机宕机,2备中自动产生新的主备,有充分的时间恢复原主机。

集群中RegionServer的数量取决于数据量。

Hadoop集群中有2个NameNode和3个DataNode。

最优3个。

DataNode的数量取决于主机挂载的磁盘容量、数据量和副本数。

Zookeeper集群3台,由于Zookeeper集群需要奇数台,3台是最少的具备高可用的配置,一台宕机不影响使用。

其他组件,比如安徽所使用的iDFS,北京实验室所使用的Tez,我个人都没有使用,由于是初次接触hadoop及hbase,所以,暂时没有使用这些可以提高性能的组件(个人也不太了解)。

注意:

集群各机器必须保证网络稳定,否则会因为网速或带宽降低导致集群中某些节点失效。

虚拟机信息

本人电脑有线IP:

172.21.140.137,由于是动态获取的,有可能会变动。

从开始到目前编写文档,已搭建的虚拟机信息如下

虚拟机IP

Root口令

主用户

22对外端口

系统

内存

大小

用途

192.168.56.129

zjg

22222

SUSE11

60G

2G

单机版测试用

192.168.56.130

30130

CentOS6.2

6G

512M

130、131、132一起的第一次集群搭建,按照安徽的e3base文档进行搭建

192.168.56.131

30131

同上

192.168.56.132

30132

192.168.56.133

30133

20G

133、134、135一起的第二次集群搭建,比对实验室的配置所搭建

192.168.56.134

30134

192.168.56.135

30135

192.168.56.136

30136

130、131、132一起的第三次集群搭建,失败

192.168.56.137

30137

130、131、132一起的第三次集群搭建

192.168.56.138

30138

192.168.56.139

30139

备用

由于个人在第一次搭建时,发觉还没有启用hbase,磁盘就占用满了,在进行虚拟机扩展时,格式化新添加的磁盘总是失败,所以暂时不使用了。

这个以后可以启动单独作为zookeeper集群。

第二次搭建时,经验还是少,所以启动hadoop的namenode失败,不过,原因已经找到,修改配置及重新进行格式化,且扩展下这三台的内存大小,能正常使用,目前未修改,保留着第二次失败的状态。

第三次搭建是为了编写文档,需要重新搭建,所以并没有在第二次的虚拟机组进行搭建,又重新弄了三台虚拟机来。

将来个人弄个16G内存,及大一点的磁盘,就可以同时开启6台虚拟机,进行生产线最小集群的机组部署实验了。

目前开启136-138这三台,本机电脑打开其他软件,8G内存的使用率为70%-80%之间。

CPU使用率一般,基本无压力,主要瓶颈还是在内存这里。

SDFS产品的组件还有一套分布式内存库DMDB,我想如果在虚拟机上启动这个DMDB,同时运行SDFS,可能会比较吃力点,这点日后待补充。

对于虚拟机对外端口,由于目前只是基于个人的测试练习用,所以并没有设置所部署的集群的对外端口,只设置了虚拟机对外连接的端口。

软件安装目录

软件

目录内容

路径

Java

JAVA_HOME

/usr/java

HADOOP_HOME

/home/zjg/hadoop

HADOOP日志目录

/home/zjg/hadoop/xx/logs

HADOOP数据目录

/home/zjg/hadoop/xx/tmp

HADOOP进程号目录

/home/zjg/hadoop/xx/pids

HADOOP配置目录

/home/zjg/hadoop/etc/hadoop

Journalnode信息目录

/home/zjg/hadoop/xx/jn

HBASE_HOME

/home/zjg/hbase

HBASE日志目录

/home/zjg/hbase/xx/logs

HBASE数据目录

/home/zjg/hbase/xx/pids

HBASE进程号目录

/home/zjg/hbase/xx/tmp

HBASE配置目录

/home/zjg/hbase/conf

ZOOKEEPER_HOME

/home/zjg/zookeeper

ZOOKEEPER日志

执行zookeeper的

当前路径下的zookeeper.out文件

ZOOKEEPER数据目录

/home/zjg/zookeeper/data

ZOOKEEPER配置目录

/home/zjg/zookeeper/conf

系统安装部署

系统配置

添加主机名

1.首先切换到root用户下,命令为:

$su-

2.打开/etc/hosts文件,命令为:

$vi/etc/hosts

3.添加如下主机内容:

192.168.56.130DRM000

192.168.56.131DRM001

192.168.56.132DRM002

192.168.56.133DRM003

192.168.56.134DRM004

192.168.56.135DRM005

192.168.56.136DRM006

192.168.56.137DRM007

192.168.56.138DRM008

192.168.56.139DRM009

4.检验

使用ping命令,例如pingDRM000

我通过DRM006对DRM000进行ping操作,虽然没有ping成功,但是可以看到主机名称与IP相对应了。

Ping不同的原因:

DRM000没开机,或者不在网络,或者屏蔽了Ping命令。

我这里是没开启DRM000虚拟机。

防火墙设置

由于是分布式集群,通过设置的服务端口在不同的主机进行通讯,这里我个人觉得需要将所涉及的端口添加到防火墙的安全域中,不过,此环境是基于练手及测试的,加上所参考的部署文档也是讲防火墙进行了永不启动的状态,我这里也采用这个方式,将防火墙设置为开机不启动。

可能实际运行的环境有对应的安全机制做保护吧?

不了解

1.根用户切换

$su-

2.使用chkconfig将防火墙设置为不启动

$chkconfigiptablesoff

3.查看防火墙状态

$serviceiptablesstartus

4.若当前没有关闭防火墙,则可以手动关闭,因为当前只是修改了启动项,并没有对当前已开启的防火墙进行关闭操作,所以,如果暂时不想重启,又想关闭防火墙的话,执行

$serviceiptablesstop

selinux设置

selinux是一种安全模式下的linux用户管理系统,有许多的限制,我是基于前辈们的部署文档,自己这么理解的,而这种限制有可能影响到分布式的操作。

所以,对于分布式集群的主机,需要关闭selinux模式。

1.切换根用户

2.打开/etc/selinux/config配置文件

$vi/etc/selinux/config

3.修改SELINUX的值

SELINUX=disabled

4.保存退出该文件

:

wq

5.重启系统

$reboot

6.重启后,查看selinux状态

$sestatus-v

说明:

个人不了解selinux,分不清它的不同模式,所以,虽然看了手动切换的命令,但是,在实际的部署中,我直接关闭它的启动状态,并重启电脑了。

所以这里没写手动关闭selinux的操作。

时区

由于SDFS所使用的分布式内存库,这个组件是必须要东八区才能进行安装的,而且,分布式的hadoop\hbase\zookeeper也需要保证集群的所以主机的时间一致性。

参考的部署文档中提及NTP(NetworkTimeProtocol,网络时间协议),没有弄过,暂时先不写这个。

2.将东八区(亚洲,上海)的时间文件替换当前的时区文件

$cp/usr/share/zoneinfo/Asia/Shanghai/etc/localtime

3.查看时区

$data-R

保证部署的各集群所使用的用户及组是同一个

目前所有的用户是zjg,口令zjg,组为zjg。

更改系统资源配置

1.使用ulimit–a用于查看系统进程所占用的资源,命令:

$ulimit-a

红框中的四个参数值需要注意的。

因为是分布式系统,存在大量多文件、多用户并发操作,且栈的大小的大量并发操作的瓶颈,所以需要调整来保证分布式系统在Linux下的有效操作执行。

datasegsize要求大于等于1048576

openfiles要求大于等于1024

stacksize要求大于等于131072

maxuserprocesses要求大于等于10240

Datasegsize是无限制的,所以不用担心,而其他三项需要修改,直接执行ulimit命令,会在当前环境下暂时修改,但是重新启动系统后,又会恢复原来的(暂时没找ulimit所读取的信息来自哪里,以下步骤是一种修改方式)

2.切换到根用户

3.打开/etc/bash_profile文件

$vi/etc/bash_profile

4.添加三条ulimit执行命令

#ulimit

ulimit-n65535

ulimit-s131072

ulimit-u10240

5.保存退出

6.执行source,使配置起效

$source/etc/profile

7.检验效果

执行ulimit-a发现的确修改了。

8.重启检验效果

执行reboot重启电脑

$reboot

待重启后,执行ulimit-a,发现起效。

所有集群所在的主机,都需要这个部分的操作。

SSH无密码访问配置

HBASE、HDFS和ZOOKEEPER,hbase集群、hadoop集群之间需要无密码访问,因此集群之前需要完成集群对应主从节点之间的SSH无密码访问配置。

可以通过一次生成ssh密钥多个拷贝的方式实现集群间所有主机之间用户的无密码访问。

具体操作方式如下

1.使用zjg用户登录任意一台主机,如192.168.56.136(主机名为DRM006,执行ssh-keygen-trsa-P“”命令(-P后面是一对单引号或者双引号),看到提示就回车,然后会在/home/zjg/.ssh下生成一对公钥(id_rsa.pub)和密钥(id_rsa)文件。

2.执行cat~/.ssh/id_rsa.pub>

>

~/.ssh/authorized_keys命令,建立本机该用户之间的无密码登陆。

3.执行chmod600~/.ssh/authorized_keys命令,设置authorized_keys文件权限,这步重要,有时操作还需要密码的时候,往往是这个文件无权限所导致的。

4.完成配置后,对本机进行测试,首次连接需要输入密码,之后直接可以建立连接不在需要输密码,这样表示设置成功。

5.然后通过foriin`seq78`;

doscp-r~/.sshDRM00$i:

~/;

done

因为我操作的主机是DRM006,往DRM007\DRM008两台进行复制的,所以seq中只写了7、8两台的结尾序号。

6.拷贝完成后,进行集群主机间无密码访问验证。

通过ssh+主机名进行验证。

不需要密码直接可以访问说明配置成功。

7.记得退出已登陆的主机,可以ifconfig来确定目前所在的主机是那一台,使用who来查看还有那些终端连接着该主机。

JAVA安装

JAVA主要设置三个全局变量JAVA_HOME,CLASSPATH,PATH。

我这里使用的是jdk-8u45-linux-x64.gz的tar包,不是bin的执行包,所以需要手动解压。

1.切换root用户

2.查看/usr/java是否存在

$ll/usr/java

如过有的话,则需要进一步确认该主机的环境。

3.解压java的tar包

$tarxvf/home/zjg/packet/jdk-8u45-linux-x64.gz-C/usr/

5.java文件夹重命名,因为解压后的java目录名称不单单是java,而是“jdk1.8.0_45”,所以需要修改下

$mv/usr/jdk1.8.0_45//usr/java

6.打开/etc/profile文件

$vi/etc/profile

7.添加java的全局变量

#jdk

exportJAVA_HOME=/usr/java/

exportCLASSPATH=$CLASSPATH:

$JAVA_HOME/lib:

$JAVA_HOME/jre/lib

exportPATH=$JAVA_HOME/bin:

$JAVA_HOME/jre/bin:

$PATH:

$HOME/bin

8.保存退出/etc/profile文件

9.让配置即时生效

10.检验是否安装成功

$java-version

添加环境变量

在zjg用户下,使用vi打开~/.bash_profile文件,添加如下环境变量

exportLANG=zh_CN.GB18030

exportPS1='

[\h@\u]$'

#hadoop

exportHADOOP_HOME=/home/zjg/hadoop

exportPATH=$HADOOP_HOME/sbin:

$HADOOP_HOME/bin:

$PATH

#Hbase

exportHBASE_HOME=/home/zjg/hbase

exportPATH=$HBASE_HOME/bin:

#zookeeper

exportZOOKEEPER_HOME=/home/zjg/zookeeper

aliaszkServerStart='

$ZOOKEEPER_HOME/bin/zkServer.shstart'

aliaszkServerStatus='

$ZOOKEEPER_HOME/bin/zkServer.shstatus'

aliaszkServerStop='

$ZOOKEEPE

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

当前位置:首页 > PPT模板 > 节日庆典

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

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