Hadoop原生平台安装HA版本

举报
菜鸟级攻城狮 发表于 2021/01/26 11:35:51 2021/01/26
【摘要】 1.增加了Resourcemanager的HA,并进行测试 2.增加了Job History Serve的配置 3.增加HBase的搭建

 

Hadoop原生平台安装HA版本V3.0

 

 

1. 增加Resourcemanager的HA,进行测试

2. 增加了Job History Serve的配置

3. 增加HBase的搭建

 

 

 

                  

2018 3 27


目录

1. 软件准备 1

1.1 基础软件 1

1.2 其他软件 1

1.3 Hadoop平台系统规划 1

1.4 Hadoop平台目录及端口规划 2

2. 环境准备 3

2.1 Vmware workstation安装 3

2.2 Redhat 7 安装 7

2.3 Redhat IP及主机名配置 27

2.4 Xshell工具使用(可选) 30

2.5 Redhat 7 防火墙,Selinux配置 31

2.6 Redhat 7 目录创建 33

2.7 Redhat 7 主机名和ip对应关系 33

2.8 Redhat 7 SSH互信 34

2.9 上传软件包到redhat7 35

3. 软件安装及配置 37

3.1 环境检查 37

3.2 JDK安装及配置 40

3.3 Zookeeper安装及配置 41

3.4 Hadoop安装及配置 42

3.5 HBase安装及配置 47

4. 测试 49

4.1 zookeeper启动 50

4.2 Hadoop启动 51

4.3 HBASE的启动 56

4.4 HDFS HA测试 57

4.5 YARN HA测试 58

4.6 Hbase HA测试 59

4.7 HDFS测试 60

4.8 Hbase测试 61

4.9 Yarn2.0测试(wordcount任务) 63

5. HadoopZookeeper配置文件 65

 

 

1. 软件准备

1.1 基础软件

软件

版本

作用

Redhat系统镜像

7.0

提供Hadoop基础运行的平台

JDK

8u161-linux-x64

提供hadoop运行环境

Hadoop

2.8.3

Hadoop软件包

Zookeeper

3.3.6

提供分布式协调服务

Hbase

1.3.1

分布式数据库

备注:本实验手册基于以上软件搭建,使用其他版本可能存在少许差异。

1.2 其他软件

软件

版本

作用

Windows

7

提供物理操作系统

Vmware workstation

12.5.6

虚拟化功能实现,安装linux虚拟机

Xshell

5.0

提供windows SSH访问

Xftp

5.0

提供windows 传输文件至linux

leomoon CPU V

1.22

检查CPU及操作系统是否支持虚拟化功能

备注:以上软件可使用类似软件或其他版本代替,本实验手册仅保证上述软件上述版本能搭建成功,其他软件或其他版本可能存在少许差异。

1.3 Hadoop平台系统规划

系统

主机名

Ip

部署服务

运行Hadoop用户

Redhat7.0

Hadoop1

192.168.10.30

Namenode

DFSZKFailoverController

datanode ResourceManager Nodemanager

JournalNode

QuorumPeerMain

JobHistoryServer

HMaster

HRegionServer

root

Redhat7.0

Hadoop2

192.168.10.40

Namenode 

ResourceManager

DFSZKFailoverController

Datanode

Nodemanager

JournalNode

QuorumPeerMain

HMaster

HRegionServer

root

Redhat7.0

Hadoop3

192.168.10.50

Datanode Nodemanager JournalNode

QuorumPeerMain

HRegionServer

root

备注:上述平台规划请根据自己需求进行规划。

QuorumPeerMainzookeeper的服务

运行Hadoop用户为任意可登录用户都可以,本实验手册所有运行都是以root用户执行。

1.4 Hadoop平台目录及端口规划

主机

目录

权限

作用

Hadoop1

/hadoop/soft

755

Hadoop软件安装目录

/hadoop/nn

755

namenode文件存放目录,可单独挂盘

/hadoop/dn

755

Datanode文件存放目录,可单独挂盘

/hadoop/tmp

755

Hadoop临时文件目录

/hadoop/zookeeper

755

Zookeeper文件存放路径

/hadoop/JN

755

JournalNode文件存放路径

Hadoop2

/hadoop/soft

755

Hadoop软件安装目录

/hadoop/nn

755

namenode文件存放目录,可单独挂盘

/hadoop/dn

755

Datanode文件存放目录,可单独挂盘

/hadoop/tmp

755

Hadoop临时文件目录

/hadoop/zookeeper

755

Zookeeper文件存放路径

/hadoop/JN

755

JournalNode文件存放路径

Hadoop3

/hadoop/soft

755

Hadoop软件安装目录

/hadoop/dn

755

Datanode文件存放目录,可单独挂盘

/hadoop/tmp

755

Hadoop临时文件目录

/hadoop/zookeeper

755

Zookeeper文件存放路径

/hadoop/JN

755

JournalNode文件存放路径

 

主机

端口

作用

192.168.10.30

50070

外部访问hdfsweb界面端口

8088

外部访问yarnweb界面端口

16010

外部访问Hbaseweb界面端口

192.168.10.40

50070

外部访问hdfsweb界面端口

8088

外部访问yarnweb界面端口

16010

外部访问Hbaseweb界面端口

备注:该处列出的为外部访问,服务与服务之间还有其他端口未列出。

2. 环境准备

  •  

2.1 Vmware workstation安装

  • 请确保使用的物理机打开虚拟化功能(Inter VTAMD V),如不确认可使用leomoon CPU V检测,如检测结果如下图,则表示CPU及操作都支持虚拟化,如不通过,则无法正常安装和使用Vmware workstation

 

),该软件无需安装解压运行即可查看结果。

  • 下载Vmware workstation,双击运行如下。(安装路径可以默认也可以自己设置,需要设置的点击更改即可设置。)

 

 

 

  

 

 

2.2 Redhat 7 安装

  • Redhat 7采用虚拟化环境安装,虚拟化平台为Vmware Workstation
  • 虚拟安装安装如下图进行。

  

 

 

  • 磁盘保持默认即可

  

至此一个虚拟机创建完成

  • 首先对Vmware workstation进行简单设置,然后编辑虚拟机。如下图。

 

 

  • 0 虚拟机开机,并选择安装 rhel7.0

 

  • 安装过程语言选择英语。(推荐使用英语,也可以选择中文。 如果选择英语, 安装完系统后, 默认语言也将为英文。)

 

 

  • 区域选择亚洲,城市选择上海。

 

  • 软件包选择 server with gui,安装图形界面

 

  • 选择手动进行分区。

 

 

  • 网络配置

 

  • 配置完成后,开始安装

 

  • 设置root密码,并创建一个普通账户,并设置密码。

 

  • 完成安装后,重启,接受许可证,并关闭kdump

 

  • 选择我将下次注册,并单击完成。

 

  • 重启后,redhat需要创建一个普通账户,如在安装时候未创建,则输入用户名和密码登录 0 系统, 到此, rhel7.0 操作系统安装完成。

 

2.3 Redhat IP及主机名配置

  • 根据规划配置ip及主机名,打开虚拟机。

 

  • 使用root登录主机,右键选择Open in Terminal

 

  • 打开一个控制台,输入ifconfig查看现有网卡和ip

 

  • 使用cd /etc/sysconfig/network-scripts/,进入网卡配置目录,查看当先目录是否存在一个ifcfg-enoxxxxxxx(不同的虚拟机该名字可能不一样,根据ifconfig显示的网卡名找到该网卡的配置文件)
  • Vim ifcfg-eno16777736,编辑网卡配置文件。结果如下图:

 

  • 使用systemctl restart nework.service重启网卡,使用ifconfig查看配置,正确输出如下图

 

  • 根据规划修改主机名,如安装系统时已设置可忽略
  • 执行hostnamectl set-hostname hdoop1,修改主机名并写入配置文件,使用hostname查看当前生效的主机名,使用cat /etc/hostname查看下次启动生效的主机名。

 

2.4 Xshell工具使用(可选)

  • 使用xshell前提为,在安装操作系统时已正确配置ip,并且运行xshell的机器能ping通该ip
  • 双机打开xshell软件,输入ssh168.10.30 ip为规划的Ip,并已配置在操作系统上),选择接受并保存,输入帐号密码,即可登录linux主机。

 

 

 

2.5 Redhat 7 防火墙,Selinux配置

  • 防火墙及Selinux会导致后面实验出现问题,在此将其关闭。具体步骤如下。
  • 默认redhat安装了firewall防火墙,并开机自动启动。
  • 使用systemctl status firewalld.service查看防火墙状态

 

  • 使用systemctl stop firewalld.service停止防火墙。
  • 使用systemctl disable firewalld.service关闭开机自动启动防火墙。

 

  • 使用systemctl status firewalld.service查看防火墙状态,下图表示firewall防火墙停止并开机不启动。

 

  • systemctl status iptables.service检查iptables防火墙是否启动(redhat7默认使用firewall防火墙,如出现iptabls防火墙启动也需要关闭,关闭步骤同firewall
  • 关闭redhat7selinux,使用getenforce查询selinux状态,使用setenforce 0,临时关闭selinux

 

  • 为保证下次selinux的永久关闭,需要修改配置,使用vim /etc/selinux/config,修改为如下结果。

备注:enforcingselinux启动并运行

      permissiveselinux只打印警告不阻止

disabled为彻底关闭selinux

2.6 Redhat 7 目录创建

  • 使用root登录hadoop1,使用mkdir /hadoop创建目录,使用ls  -dl /hadoop,查看目录结果如下

 

  • 如规划的运行用户不为root,请使用root创建/hadoop后使用chown 运行用户 /hadoop,修改/hadoop的所有者,并切换到运行用户再在/hadoop下创建目录(可选)
  • 使用cd /hadoop,在/hadoop下根据规划创建相应目录(如不创建也可以运行,在格式化的时候也会自动创建

2.7 Redhat 7 主机名和ip对应关系

  • 使用vim /etc/hosts编辑主机名和ip对应关系

 

2.8 Redhat 7 SSH互信

  • ssh免密码登录如不配置,在启动集群时候需要输入每个节点的密码方可启动,未避免多次输入密码,可配置ssh免密码登录。
  • 免密码登录只需要配置主节点到其余各节点即可。
  • hadoop1上使用ssh-keygen生成一对公私密钥(敲3个回车)
  • 使用ssh-copy-id拷贝公钥到需要被免密码的主机上,ssh-copy-id后面接需要免密码登录的ip(例如需要免密码登录168.10.40,输入ssh-copy-id 192.168.10.40,根据提示输入yes,再输入192.168.10.40的密码。使用ssh 192.168.10.40,检查免密码登录是否成功,如图,登录192.168.10.40无需输入密码即可登录)

 

 

2.9 上传软件包到redhat7

  • 使用xftp上传软件包到168.10.30,双击打开xftp。设置如下,点击确认,输入redhat7.0的帐号密码(建议使用hadoop的运行账户)

 

  • 打开本机需要上传软件所在目录,从左边拖到右边即开始上传。上传完成后可在右边看到上传的文件。

 

3. 软件安装及配置

  •  
  •  
  •  
  •  
  •  
  •  

3.1 环境检查

  • 本环境检查近针对本实验手册规划的主机名及ip进行检   查。
  • 主机名检查,使用hostname检查主机名,保证和规划的一下,hadoop1正确输出如下图。(每个节点都需要检查)

 

  • IP检查,使用ifconfig检查现在ip,保证和规划的一下,hadoop1正确输出如下图。(每个节点都需要检查)  
  • 时间检查,使用date检查现在时间,保证所有节点一致,hadoop1输出如下图。(可选择安装配置NTP服务,保证集群中所有节点时间一致)(每个节点都需要检查)

 

  • 防火前检查,使用systemctl status firewalld.service检查防火墙状态及运行情况,hadoop1正确输出如下图。(每个节点都需要检查)

 

  • Selinux检查,使用getenforce检查现在selinux状态,hadoop1正确输出如下。(每个节点都需要检查)

 

  • 节点网络连通性检查,使用ping命令,ping其他节点ip及主机名,保证能正常解析,正确输出如下图。(每个节点都需要检查)

 

  • 本机主机名和ip对应关系,保证能正常解析,正确输出如下图。(每个节点都需要检查)

 

 

  • ssh互信检查,使用ssh命令检查从168.10.30到所有节点免密码登录是否成功,正确输出如下。(在hadoop1节点需要检查,保证能ssh 到规划的所有ip都不需要密码,包括本节点)

 

  • 目录检查,使用ls –dl 目录的路径,hadoop1输出如下(每个节点都需要检查)

 

  • 软件包检查,使用tar–tvf 文件名1>/dev/null检查压缩包完整性,hadoop1正确输出如下(hadoop1需要检查)

 

 

3.2 JDK安装及配置

  • 使用tar -zxvf jdk-8u161-linux-x64.gz -C /hadoop/soft解压jdk到指定目录。
  • 使用chown -R root:root /hadoop/soft/jdk1.8.0_161修改jdk目录的所有者和所属组
  • 检查jdk目录,正确输入如下图

 

  • 配置root用户的环境变量,切换的家目录,使用vim .bash_profile编辑环境变量。添加如下内容。

(备注$JAVA_HOME/bin必须在$PATH前面,默认操作已经安装过一个java)

 

  • 使用source.bash_profile重新加载环境变量,使用java –version查看现在java的版本,结果如下

 

  • 使用scp–pr /hadoop/soft/jdk1.8.0_161 192.168.10.40:/haoop/soft scp –pr /hadoop/soft/jdk1.8.0_161 192.168.10.50:/haoop/soft,拷贝jdk到其他两个节点,并登录其他两个节点按照步骤e配置环境变量并使用java –version查看现在java的版本。

3.3 Zookeeper安装及配置

  • 使用tar -zxvf zookeeper-3.3.6.tar.gz -C /hadoop/soft解压jdk到指定目录。

 

  • 进入zookeeper的配置文件目录
  • 默认情况下zookeeperconf目录下只有cfg,无zookeeper的配置文件,使用cp zoo_sample.cfg zoo.cfg,然后使用vim zoo.cfg编辑该配置文件,配置如下

 

  • 使用scp -rp zookeeper-3.3.6 192.168.10.40:/hadoop/soft/scp -rp zookeeper-3.3.6 192.168.10.50:/hadoop/soft/ 复制软件到其他节点指定目录下。
  • 配置zookeeper环境变量,在运行用户家目录下,使用vim .bash_profile 编辑该文件,内容如下。(所有节点均要添加)
  • 使用root用户登录Hadoop1进入dataDir指定的目录,cd /hadoop/zookeeper,执行echo 1 > myid

 

  • 使用root用户登录Hadoop2进入dataDir指定的目录,cd /hadoop/zookeeper,执行echo 2 > myid
  • 使用root用户登录Hadoop3进入dataDir指定的目录,cd /hadoop/zookeeper,执行echo 3 > myid

3.4 Hadoop安装及配置

  • 使用tar -zxvf jdk-8u161-linux-x64.gz -C /hadoop/soft解压jdk到指定目录。
  • 使用chown -R root:root /hadoop/soft/hadoop-2.8.3修改jdk目录的所有者和所属组
  •  
  • 使用cd /hadoop/soft/hadoop-2.8.3/etc/hadoop/进入hadoop配置文件目录。

 

  • 需要编辑hadoop-env.shcore-site.xmlhdfs-site.xmlmapred-site.xmlyarn-site.xmlslaves
  • 使用vim编辑hadoop-env.sh结果如下

 

  • 使用vim编辑core-site.xml结果如下

 

<property>

<name>fs.defaultFS</name>

<value>hdfs://hahadoop</value>

</property>

<property>

<name>Hadoop.tmp.dir</name>

<value>/hadoop/tmp/</value>

</property>

<property>

<name>ha.zookeeper.quorum</name>

<value>hadoop1:2181,hadoop2:2181,hadoop3:2181</value>

</property>

  • 使用vim编辑hdfs-site.xml结果如下图

  

<configuration>

 <property>

  <name>dfs.nameservices</name>

  <value>hahadoop</value>

 </property>

 <property>

  <name>dfs.ha.namenodes.hahadoop</name>

  <value>nn1,nn2</value>

 </property>

 <property>

  <name>dfs.namenode.rpc-address.hahadoop.nn1</name>

  <value>hadoop1:8020</value>

 </property>

 <property>

  <name>dfs.namenode.rpc-address.hahadoop.nn2</name>

  <value>hadoop2:8020</value>

 </property>

 <property>

  <name>dfs.namenode.http-address.hahadoop.nn1</name>

  <value>hadoop1:50070</value>

 </property>

 <property>

  <name>dfs.namenode.http-address.hahadoop.nn2</name>

  <value>hadoop2:50070</value>

 </property>

 <property>

  <name>dfs.namenode.shared.edits.dir</name>

  <value>qjournal://hadoop1:8485;hadoop2:8485;hadoop3:8485/hahadoop</value>

 </property>

 <property>

  <name>dfs.journalnode.edits.dir</name>

  <value>file:///hadoop/jn</value>

 </property>

 <property>

  <name>dfs.ha.automatic-failover.enabled</name>

  <value>true</value>

 </property>

 <property>

  <name>dfs.client.failover.proxy.provider.hahadoop</name>

  <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>

 </property>

 <property>

  <name>dfs.ha.fencing.methods</name>

  <value>sshfence</value>

 </property>

 <property>

  <name>dfs.ha.fencing.ssh.private-key-files</name>

  <value>/root/.ssh/id_rsa</value>

 </property>

 <property>

  <name>dfs.ha.fencing.ssh.connect-timeout</name>

  <value>30000</value>

 </property>

 <property>

  <name>dfs.namenode.name.dir</name>

  <value>file:///hadoop/nn</value>

 </property>

 <property>

  <name>dfs.datanode.data.dir</name>

  <value>file:///hadoop/dn</value>

 </property>

 <property>

  <name>dfs.replication</name>

  <value>3</value>

 </property>

 <property>

  <name>dfs.webhdfs.enabled</name>

  <value>true</value>

 </property>

</configuration>

  • 由于默认没有mapred-site.xml文件,只有一个mapred-site.xml.template,使用cpmapred-site.xml.template  mapred-site.xml,并使用vim编辑mapred-site.xml结果如下图

 

<configuration>

 <property>

  <value>yarn</value>

 </property>

 <property>

  <name>mapreduce.jobhistory.address</name>

  <value>hadoop1:10020</value>

 </property>

 <property>

  <name>mapreduce.jobhistory.webapp.address</name>

  <value>hadoop1:19888</value>

 </property>

</configuration>

  • 使用vim编辑yarn-site.xml 结果如下图

 

<configuration>

 

<!-- Site specific YARN configuration properties -->

 <property>

    <name>yarn.resourcemanager.connect.retry-interval.ms</name>

    <value>30000</value>

  </property>

 <property>

    <name>yarn.resourcemanager.ha.enabled</name>

    <value>true</value>

 </property>

 <property>

    <name>yarn.resourcemanager.ha.automatic-failover.enabled</name>

    <value>true</value>

  </property>

 <property>

    <name>yarn.resourcemanager.ha.automatic-failover.embedded</name>

    <value>true</value>

  </property>

  <property>

    <name>yarn.resourcemanager.cluster-id</name>

    <value>yarn-rm-cluster</value>

  </property>

  <property>

    <name>yarn.resourcemanager.ha.rm-ids</name>

    <value>rm1,rm2</value>

  </property>

  <property>

    <name>yarn.resourcemanager.hostname.rm1</name>

    <value>hadoop1</value>

  </property>

  <property>

    <name>yarn.resourcemanager.hostname.rm2</name>

    <value>hadoop2</value>

  </property>

  <property>

    <name>yarn.resourcemanager.recovery.enabled</name>

    <value>true</value>

  </property>

  <property>

    <name>yarn.resourcemanager.zk-address</name>

    <value>hadoop1:2181,hadoop2:2181,hadoop3:2181</value>

  </property>

  <property>

    <name>yarn.resourcemanager.address.rm1</name>

    <value>hadoop1:8032</value>

  </property>

  <property>

    <name>yarn.resourcemanager.scheduler.address.rm1</name>

    <value>hadoop1:8034</value>

  </property>

  <property>

    <name>yarn.resourcemanager.webapp.address.rm1</name>

    <value>hadoop1:8088</value>

  </property>

  <property>

    <name>yarn.resourcemanager.address.rm2</name>

    <value>hadoop2:8032</value>

  </property>

  <property>

    <name>yarn.resourcemanager.scheduler.address.rm2</name>

    <value>hadoop2:8034</value>

  </property>

  <property>

    <name>yarn.resourcemanager.webapp.address.rm2</name>

    <value>hadoop2:8088</value>

  </property>

  <property>

    <name>yarn.nodemanager.aux-services</name>

    <value>mapreduce_shuffle</value>

  </property>

  <property>

    <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>

    <value>org.apache.hadoop.mapred.ShuffleHandler</value>

   </property>

</configuration>

  • 使用vim编辑slaves结果如下图

 

记得编辑hadoop-env.shyarn-env.sh

  • 配置root用户的环境变量,切换的家目录,使用vim .bash_profile编辑环境变量,添加如下内容。使用source .bash_profile加载环境变量。(所有节点均要添加)

 

  • 使用hadoop version查询hadoop版本,正确输出如下

 

  • 使用scp–pr /hadoop/soft/hadoop-2.8.3 192.168.10.40:/haoop/soft  scp –pr /hadoop/soft/hadoop-2.8.3 192.168.10.50:/haoop/soft拷贝配置好的hadoop到其他两个节点,并按照步骤I编辑环境变量,使用hadoop version查看hadoop的版本,结果如下

 

3.5 HBase安装及配置

  • 使用root登录进入软件包所在目录使用tar-zxvf hbase-1.3.1-bin.tar.gz -C /Hadoop/soft/ 解压Hbase安装目录。
  • 进入Hbase配置文件目录,Hbase安装需要修改hbase-env.shhabse-site.shregionservers
  • 编辑hbase-env.sh,需要修改jdk的位置,由于使用的jdk1.8,需要注释PerSize,由于Hbase默认使用的自带的zookeeper,在这里我们需要启用外部zookeeper,需要将HBASE_MANAGES_ZK设置为false

 

 

 

  • 编辑hbase-site.sh,最少要配置以下选项。

 

  • 编辑regionservers,列出了你希望运行的全部 HRegionServer,一行写一个host(就像Hadoop里面的 slaves 一样). 列在这里的server会随着集群的启动而启动,集群的停止而停止。

 

  • 创建并编辑backup-mastersbackup-masters里面指定备份的Hmaster

 

  • 由于Hbase依赖于hdfs,为保证hbase的副本数和hdfs一致,需要集群运行hdfs-site.xml复制到habseconf目录下。

 

  • 为保证在任何位置可以使用hbase的命令,需要配置root的环境变量,编辑/root/.bash_profile。添加HBASE_HOMEPATH
  •  
  • 使用scp–pr /hadoop/soft/habse-1.3.1 root@hadoop2:/haoop/soft  scp –pr /hadoop/soft/ habse-1.3.1 root@hadoop3:/haoop/soft拷贝配置好的Hbase到集群其他两个节点,并按照步骤I编辑root的环境变量,至此基本的hbase已经配置成功。

4. 测试

  •  
  •  

4.1 zookeeper启动

  • 由于Hadoop依赖于zookeeperzookeeper必须先于Hadoop启动否则启动Hadoop会出现异常
  • 使用sh start启动zookeeper,需要在每个运行zookeeper服务的节点上运行该命令,正确输出如下。
  • 使用使用sh status查看zookeeper的状态,可在每个节点上都运行该命令,正确输出如下,三个节点其中一个leader另外另个为follower

 

 

4.2 Hadoop启动

  • 使用root登录hadoop1hadoop2hadoop3使用hadoop-daemon.sh start journalnode启动journalnode,并使用jps成功输出如下
  • hadoop1使用hdfs namenode –format格式化hdfs文件系统,正确输出如下。(仅在第一次启动之前需要格式化,后面启动不需要格式化)
  • 在节点1启动namenodehadoop-daemon.sh start namenode),然后让第二个节点namenode去同步第一个节点的namenode。使用root登录第二个namenodehadoop2,使用hdfs namenode -bootstrapStandby,(这里需要输入一个Y)同步第一个namenode生成元信息,正确输出如图。(如果不进行这一步备namenode由于缺少元信息无法启动,在hadoop2namnode日志中会出现ERROR namenode.NameNode: Failed to start namenode.

org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /hadoop/nn is in an inconsistent state: storage directory does not exist or is not accessible.)。昨晚同步之后然后在第二节点启动namenode

 

  • hadoop1上,使用hdfs zkfc–formatZK用来格式化zkfc,无报错及为成功(仅在第一次启动之前需要格式化,后面启动不需要格式化)。(如果不进行这一步,会出现namenode无法向zookeeper注册,会出现两个namenode都为备的状态。

 

  • 使用start-all.sh可同时启动hdfsYarn,启动截图如下。(如果没有配置ssh互信,启动时候需要输入每一台机器的密码),可能节点二的resourcemanager没有启动,必须要手动启动

 

  • hadoop1使用mr-jobhistory-daemon.sh start historyserver启动JobHistoryServer,这样mapreduce运行历史任务可以查看。(可选)
  • 启动成功可运行jps查看每个节点上运行的进程,正常情况如下

 

  • 使用hdfs haadmin -getServiceState nn1hdfs haadmin -getServiceState nn2查看准备namenode的状态,如下图。
  • 访问hdfsweb界面,使用浏览器打开http://192.168.10.30:50070http://192.168.10.40:50070结果如下图能看到datanode的数据和启动datanode相同,表示启动成功。

 

  • 使用yranrmadmin -getServiceState rm1查看准备resourcemanager的状态,如下图。
  •  
  • 在确认hadoop1resourcemanager成功启动且为激活状态,登录hadoop2使用yarn-daemon.sh start resourcemanager启动备用resourcemanager,并在hadoop2上使用yarn rmadmin -getServiceState rm2查看resourcemanager的状态如图。
  • 访问yarnweb界面,使用浏览器打开http://192.168.10.30:8088,结果如下图,表示yarn正常正常启动。(如果resourcemanager是主备部署,登录备resourcemanager时候会自动跳转到主。

 

4.3 HBASE的启动

  • hbase依赖于zookeeper以及hdfs,需要保证hdfszookeeper已经正常运行,才可以开始启动hbase
  • 使用start-hbase.sh启动habseHMasterRegionServer

 

  • 使用jps确保每个节点上对应的进程已成功启动。

 

 

4.4 HDFS HA测试

  • 本实验手册为搭建HDFSHA环境,现测试HDFSHA
  • 查看hadoop1active,杀掉hadoop1namenodehadoop2namenode自动升级为active,如下图。

 

 

4.5 YARN HA测试

  • 查看hadoop1ResourceManageractive,杀掉hadoop1ResourceManagerhadoop2ResourceManager自动升级为active,如下图。

 

 

  • hadoop1使用yarn-daemon.sh start resourcemanager启动resourcemanager

 

4.6 Hbase HA测试

  • 打开hbaseweb界面,查看主备的hbase

 

  • 登录hadoop1使用jps查看HMaster的进程id,并使用kill杀掉HMaster

 

  • 使用web界面查看备用HMaster的状态,如下图,备用Hmaster已经成功提升为主Hmaster

4.7 HDFS测试

  • hadoop1上使用hdfs 命令上传文件到hdfs文件系统,执行hdfs dfs -put /etc/passwd / 上传文件到hdfs的跟目录,使用hdfs dfs –ls /  查看hdfs跟下面的文件,正确结果如下图。
  • hadoop2上使用hdfs dfs -get /passwd/root/ 下载刚刚上传的文件到家目录

 

4.8 Hbase测试

  • 使用hbaseshell进入hbaseshell命令行。(上述会有一个jar冲突的警告,如果需要消除,需要删除hbase上那个jar包即可)
  • 查看集群状态和节点数量,使用status

 

  • 创建表,create‘test’,‘c1’ hbase创建表create命令语法为:表名、列名1、列名2、列名3……
  • 查看表,list
  • 给表写入数据,put 'test','rowkey','c1','test'导入数据的命令put的语法为表名、行值、列名(列名可加冒号,表示这个列簇下面还有子列)、列数据
  • 全表扫描数据(scan 'test'
  • 查询表的数据(get‘test’,’rowkey’),根据条件查询,查询test表中rowrowkey的值。
  • 删除表,在删除表之前需要先让表失效才能删除。使用disable‘test’,使表失效。drop ‘test’删除表。

 

 

4.9 Yarn2.0测试(wordcount任务)

  • 原文件位于本机,执行hadoop jar /hadoop/soft/hadoop-2.8.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.3.jar wordcount file:///etc/passwd /wordcount任务完成如下图。
  • 使用hdfs dfs -cat hdfs://192.168.10.30:8020/wordcount/part-r-00000,查看输出结果,如下图
  • 将文件上传到hdfs,使用hdfsdfs -put /etc/passwd hdfs://192.168.10.30/ 执行hadoop jar /hadoop/soft/hadoop-2.8.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.3.jar wordcount passwd  /wordcountpasswd,运行如下
  • 使用hdfs dfs -cat hdfs://192.168.10.30:8020/wordcountpasswd/part-r-00000,查看输出结果,如下图

 

5. HadoopZookeeper配置文件

 

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。