自动化运维之hadoop——大数据平台

自动化运维之hadoop——大数据平台目录一、hadoop的下载及安装二、hadoop的使用模式1、本地(独立)模式——StandaloneOperation2、伪分布模式——Pseudo-DistributedOperation官方网站:ApacheHadoophttps://hadoop.apache.org/一、hadoop的下载及安装下载网站:ApacheDownloadsHomepageofTheApacheSoftwareFoundationhttps://www.a

目录

一、hadoop简介

二、hadoop的下载及安装

三、hadoop的使用模式及平台搭建

1、本地(独立)模式——Standalone Operation

2、伪分布模式——Pseudo-Distributed Operation

 3、完全分布模式——Fully-Distributed Mode

1、master和worker节点的部署

(2)worker节点的扩容(Datanode节点的扩容)

(3)yarn管理器的使用

四、hadoop高可用平台部署——hdfs的高可用

五、hadoop高可用平台部署——yarn的高可用

 六、hadoop高可用平台部署——Hbase分布式部署


一、hadoop简介

自动化运维之hadoop——大数据平台

自动化运维之hadoop——大数据平台

 自动化运维之hadoop——大数据平台

 自动化运维之hadoop——大数据平台

 自动化运维之hadoop——大数据平台

自动化运维之hadoop——大数据平台 

 官方网站:

Apache Hadoop自动化运维之hadoop——大数据平台https://hadoop.apache.org/

二、hadoop的下载及安装

下载网站:

Apache DownloadsHome page of The Apache Software Foundation自动化运维之hadoop——大数据平台https://www.apache.org/dyn/closer.cgi/hadoop/common/

hadoop部署安装网教程:

Apache Hadoop 3.3.2 – Hadoop: Setting up a Single Node Cluster.自动化运维之hadoop——大数据平台https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html

为了方便实验,先创建一个hadoop用户,以下所有操作都在hadoop用户中实现。

1、解压

hadoop需要jdk至支持,因此需要找到合适版本的jdk。为方便起见,对这两个目录创建个软链接

[hadoop@server1 ~]$ tar zxf hadoop-3.2.1.tar.gz 
[hadoop@server1 ~]$ tar zxf jdk-8u181-linux-x64.tar.gz 

[hadoop@server1 ~]$ ln -s hadoop-3.2.1 hadoop
[hadoop@server1 ~]$ ln -s jdk1.8.0_181/ java

2、配置hadoop的环境变量

#编辑hadoop用到的java环境目录
[hadoop@server1 hadoop]$ vim /home/hadoop/hadoop/etc/hadoop/hadoop-env.sh
     54 export JAVA_HOME=/home/hadoop/java

3、运行hadoop

hadoop的运行命令就在刚才解压的文件中的</bin/hadoop>

[hadoop@server1 ~]$ /home/hadoop/hadoop/bin/hadoop

三、hadoop的使用模式及平台搭建

1、本地(独立)模式——Standalone Operation

[hadoop@server1 ~]$ cd hadoop
[hadoop@server1 hadoop]$  mkdir input
[hadoop@server1 hadoop]$  cp etc/hadoop/*.xml input
#实现数据的过滤功能
[hadoop@server1 hadoop]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar grep input output 'dfs[a-z.]+'
[hadoop@server1 hadoop]$ cat output/*

2、伪分布模式——Pseudo-Distributed Operation

(1)设置分布式的master

#设置分布式的master
[hadoop@server1 hadoop]$ vim etc/hadoop/core-site.xml
 19 <configuration>
 20     <property>
 21         <name>fs.defaultFS</name>
 22         <value>hdfs://localhost:9000</value>        //设置master
 23     </property>
 24 </configuration>

(2)设置副本数

#设置副本数为1
[hadoop@server1 hadoop]$ vim etc/hadoop/hdfs-site.xml
 18 <configuration>
 19     <property>
 20         <name>dfs.replication</name>
 21         <value>1</value>                    //副本数
 22     </property>
 23 </configuration>

(3)对localhost实现免密访问

#添加密钥
[hadoop@server1 ~]$ ssh-keygen 
[hadoop@server1 ~]$ ssh-copy-id localhost
#免密访问本机
[hadoop@server1 ~]$ ssh localhost
Last login: Fri Apr  1 10:37:14 2022

(4)对namenode实现初始化并启动dfs

[hadoop@server1 ~]$ cd hadoop
#初始化namenode
[hadoop@server1 hadoop]$ bin/hdfs namenode -format
#启动dfs
[hadoop@server1 hadoop]$ sbin/start-dfs.sh

(5)将java目录下的bin指令添加到系统环境变量

添加完成后就可以使用java的命令了

[hadoop@server1 ~]$ vim .bash_profile 

[hadoop@server1 ~]$ source .bash_profile 

自动化运维之hadoop——大数据平台

 (6)测试

伪分布式安装完成后,会在localhost上开启一个9870端口,可以通过浏览器直接访问

自动化运维之hadoop——大数据平台

#创建用户目录
[hadoop@server1 hadoop]$ bin/hdfs dfs -mkdir /user
[hadoop@server1 hadoop]$ bin/hdfs dfs -mkdir /user/hadoop
#上传input目录
[hadoop@server1 hadoop]$ bin/hdfs dfs -put input

上传完成后,在浏览器可以看到已经上传到分布式文件系统的文件 

自动化运维之hadoop——大数据平台

(7)再次测试: 

执行这条命令时,它的“input”直接是从上一步中的分布式文件系统取的,而不是本地的;并且输出的“output”也是在分布式文件系统中的

#统计input中的数据量
[hadoop@server1 hadoop]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar wordcount input output

自动化运维之hadoop——大数据平台

8、分布式文件系统的使用

“伪分布式模式”下的数据都存放在分布式文件系统中,本地操作只是一个客户端,无论输入还是输出都在分布式文件系统,因此可能会面临查看数据,下载数据等操作。

#查看hadoop用户下的文件
[hadoop@server1 hadoop]$ bin/hdfs dfs -ls
    Found 2 items
    drwxr-xr-x   - hadoop supergroup          0 2022-04-01 11:09 input
    drwxr-xr-x   - hadoop supergroup          0 2022-04-01 11:15 output

#查看output下的数据
[hadoop@server1 hadoop]$ bin/hdfs dfs -cat output/*

#下载output到本地
[hadoop@server1 hadoop]$ bin/hdfs dfs -get output

关闭“伪分布式”及重新初始化。hadoop的数据默认存储在</tmp/*>下,删除后可以重新进行初始化。

#关闭“伪分布式”
[hadoop@server1 hadoop]$ sbin/stop-dfs.sh 

#初始化hadoop
[hadoop@server1 hadoop]$ rm -fr /tmp/*

 3、完全分布模式——Fully-Distributed Mode

实验环境:用server1做master(NameNode节点),server2/3做worker节点(Datanode节点),server4作为测试用的扩容节点(还是weoker节点、Datanode节点)

并通过nfs网络文件系统实现数据共享,可以很方便地部署分布式节点

在server1上
[root@server1 ~]# yum install -y nfs-utils                    //安装nfs
[root@server1 ~]# systemctl enable --now nfs                    //开机启动nfs
[root@server1 ~]# vim /etc/exports                            //编辑nfs的共享目录
 1 /home/hadoop	*(rw,anonuid=1000,anongid=1000)
[root@server1 ~]# exportfs -rv                                //重新载入nfs的配置

在server2/3上    
[root@server2 ~]# yum install -y nfs-utils                     //安装nfs
[root@server2 ~]# useradd hadoop                                //创建hadoop用户
[root@server2 ~]# mount 172.25.254.1:/home/hadoop/ /home/hadoop/    //挂载server1的网络文件系统到本地

1、master和worker节点的部署

 (1)设置分布式的master(只在server1中执行)

#设置分布式的master
[hadoop@server1 ~]$ cd hadoop
[hadoop@server1 hadoop]$ vim etc/hadoop/core-site.xml
 19 <configuration>
 20     <property>
 21         <name>fs.defaultFS</name>
 22         <value>hdfs://172.25.254.1:9000</value>        //设置master
 23     </property>
 24 </configuration>

(2)设置副本数(只在server1中执行)

#设置副本数为1
[hadoop@server1 ~]$ cd hadoop
[hadoop@server1 hadoop]$ vim etc/hadoop/hdfs-site.xml
 18 <configuration>
 19     <property>
 20         <name>dfs.replication</name>
 21         <value>1</value>                    //副本数为2,设置server2/3作为worker节点
 22     </property>
 23 </configuration>

(3)添加workers节点(只在server1中执行)

[hadoop@server1 hadoop]$ vim etc/hadoop/wokers    //添加workers节点名称
[hadoop@server1 hadoop]$ cat etc/hadoop/wokers 
    server2
    server3

自动化运维之hadoop——大数据平台

(4)初始化并启动dfs(只在server1中执行)

# bin/hdfs namenode -format            //初始化
# sbin/start-dfs.sh                     //启动dfs

(5)测试:向分布式存储创建目录并上传文件

#创建用户目录
[hadoop@server1 hadoop]$ bin/hdfs dfs -mkdir /user
[hadoop@server1 hadoop]$ bin/hdfs dfs -mkdir /user/hadoop
#在上一目录下创建input目录
[hadoop@server1 hadoop]$ bin/hdfs dfs -mkdir input

#上传文件
[hadoop@server1 hadoop]$ bin/hdfs dfs -put etc/hadoop/*.xml input        //上传到input目录下
[hadoop@server1 hadoop]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar grep input output 'dfs[a-z.]+'            //从input目录中过滤数据并上传到output目录下

#查看output目录下的文件
[hadoop@server1 hadoop]$ bin/hdfs dfs -cat output/*

自动化运维之hadoop——大数据平台

(2)worker节点的扩容(Datanode节点的扩容)

第一步:新节点的准备工作

    1  yum install -y nfs-utils                    //安装nfs插件
    2  useradd hadoop                                //创建hadoop用户
    3  showmount -e 172.25.254.1                      //在server1中查找nfs设备
    4  mount 172.25.254.1:/home/hadoop/ /home/hadoop/        //挂载nfs设备到本地

第二步:在master节点上添加新节点名称

#添加新节点名称
[hadoop@server1 ~]$ cd hadoop
[hadoop@server1 hadoop]$ vim etc/hadoop/workers
[hadoop@server1 hadoop]$ cat etc/hadoop/workers
    server2
    server3
    server4

第三步:在srever4上执行加入集群的命令

[hadoop@server4 ~]$ cd hadoop
[hadoop@server4 hadoop]$ bin/hdfs --daemon start datanode        //加入集群并作为datanode
[hadoop@server4 hadoop]$ jps                        //查看java进程状态
4102 Jps
4042 DataNode

(3)yarn管理器的使用

第一步:添加mapred配置

[hadoop@server1 hadoop]$ vim etc/hadoop/mapred-site.xml
 19 <configuration>
 20     <property>
 21         <name>mapreduce.framework.name</name>
 22         <value>yarn</value>
 23     </property>
 24     <property>
 25         <name>mapreduce.application.classpath</name>
 26         <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
 27     </property>
 28 </configuration>

#添加hadoop环境变量(上一步中设置的变量需要全局定义)
[hadoop@server1 hadoop]$ vim etc/hadoop/hadoop-env.sh 
 59 export HADOOP_MAPRED_HOME=/home/hadoop/hadoop

第二步:添加yarn配置

[hadoop@server1 hadoop]$ vim etc/hadoop/yarn-site.xml 
 16 <configuration>
 17     <property>
 18         <name>yarn.nodemanager.aux-services</name>
 19         <value>mapreduce_shuffle</value>
 20     </property>
 21     <property>
 22         <name>yarn.nodemanager.env-whitelist</name>
 23         <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_HOME,PATH,LANG,TZ    ,HADOOP_MAPRED_HOME</value>
 24     </property>
 25 </configuration>

第三步:启动yarn管理器

启动以后,会在所有的master节点启动一个<resourcemanager>管理器,简称<rm>;在所有的worker节点启动一个<nodemanagers>管理器,简称<nm>

[hadoop@server1 hadoop]$ cd etc/hadoop/
[hadoop@server1 hadoop]$ sbin/start-yarn.sh
Starting resourcemanager
Starting nodemanagers

第四步:测试

启动后yarn管理器后,会在master节点上开启一个“8088”的端口,浏览器访问界面如下。

自动化运维之hadoop——大数据平台

四、hadoop高可用平台部署——hdfs的高可用

实验环境:在之前的基础上,总共准备5台虚拟机。其中server1/5作为master(也称NameNode),server2/3/4作为woker(也称DataNode)

节点准备:在master节点上停止hadoop服务,并删除所有节点上的hadoop数据。在server5上挂载server1的hadoop用户根目录。

#在server1上,停止hadoop服务
[hadoop@server1 ~]$ cd hadoop
[hadoop@server1 hadoop]$ sbin/stop-all.sh 

#在所有节点上执行,删除之前实验数据,避免对本实验造成影响
[hadoop@server1 hadoop]$ rm -fr /tmp/*

#在server5上
[root@server5 ~]# yum install -y nfs-utils
[root@server5 ~]# useradd hadoop
[root@server5 ~]# mount 172.25.254.1:/home/hadoop /home/hadoop 
[root@server5 ~]# su - hadoop

(1)安装并配置zookeeper集群

第一步:安装zookeeper-3.4.9

[hadoop@server1 ~]$ tar zxf zookeeper-3.4.9.tar.gz             //解压zookeeper
[hadoop@server1 ~]$ ln -s zookeeper-3.4.9 zookeeper            //创建软连接

[hadoop@server1 ~]$ cd zookeeper/conf
[hadoop@server1 conf]$ cp zoo_sample.cfg zoo.cfg            //从模板生成主配置文件

第二步:编辑主配置文件

[hadoop@server1 ~]$ cd zookeeper/conf/
[hadoop@server1 conf]$ vim zoo.cfg 
    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=/tmp/zookeeper                    //指定数据目录
    clientPort=2181
    server.1=172.25.254.2:2888:3888
    server.2=172.25.254.3:2888:3888
    server.3=172.25.254.4:2888:3888

第三步:创建数据目录并设置节点ID

#在server2/3/4上创建数据目录
[hadoop@server2 ~]$ mkdir /tmp/zookeeper

#指定各节点的id号,id号和上一步的配置文件中一致
[hadoop@server2 ~]$ echo 1 > /tmp/zookeeper/myid
[hadoop@server3 ~]$ echo 2 > /tmp/zookeeper/myid
[hadoop@server4 ~]$ echo 3 > /tmp/zookeeper/myid

第四步:启动zookeeper服务

#在server2/3/4上分别执行启动zk服务命令
[hadoop@server4 ~]$ cd zookeeper
[hadoop@server4 zookeeper]$  bin/zkServer.sh start        //启动zk服务

[hadoop@server4 zookeeper]$  bin/zkServer.sh status        //查看zk服务状态
[hadoop@server4 zookeeper]$ bin/zkServer.sh stop            //停止zk服务

(2)更改hadoop配置

 第一步:<etc/hadoop/core-site.xml>

#在server1中配置
[hadoop@server1 ~]$ cd hadoop
[hadoop@server1 hadoop]$ vim etc/hadoop/core-site.xml
 19 <configuration>
 20     <property>
 21         <name>fs.defaultFS</name>
 22         <value>hdfs://masters</value>            //这一步和以前的不一样
 23     </property>
 24 
 25 <property>
 26 <name>ha.zookeeper.quorum</name>
 27 <value>172.25.254.2:2181,172.25.254.3:2181,172.25.254.4:2181</value>
 28 </property>
 29 </configuration>

第二步: <etc/hadoop/hdfs-site.xml>

#在server1中配置
[hadoop@server1 ~]$ cd hadoop
[hadoop@server1 hadoop]$ vim etc/hadoop/hdfs-site.xml 
 18 <configuration>
 19     <property>
 20         <name>dfs.replication</name>
 21         <value>3</value>
 22     </property>
 23 
 24 <property>
 25 <name>dfs.nameservices</name>
 26 <value>masters</value>
 27 </property>
 28 
 29 <property>
 30 <name>dfs.ha.namenodes.masters</name>
 31 <value>h1,h2</value>
 32 </property>
 33 
 34 <property>
 35 <name>dfs.namenode.rpc-address.masters.h1</name>
 36 <value>172.25.254.1:9000</value>
 37 </property>
 38 
 39 <property>
 40 <name>dfs.namenode.http-address.masters.h1</name>
 41 <value>172.25.254.1:9870</value>
 42 </property>
 43 
 44 <property>
 45 <name>dfs.namenode.rpc-address.masters.h2</name>
 46 <value>172.25.254.5:9000</value>
 47 </property>
 48 
 49 <property>
 50 <name>dfs.namenode.http-address.masters.h2</name>
 51 <value>172.25.254.5:9870</value>
 52 </property>
 53 
 54 <property>
 55 <name>dfs.namenode.shared.edits.dir</name>
 56 <value>qjournal://172.25.254.2:8485;172.25.254.3:8485;172.25.254.4:8485/masters</value>
 57 </property>
 58 
 59 <property>
 60 <name>dfs.journalnode.edits.dir</name>
 61 <value>/tmp/journaldata</value>
 62 </property>
 63 
 64 <property>
 65 <name>dfs.ha.automatic-failover.enabled</name>
 66 <value>true</value>
 67 </property>
 68 
 69 <property>
 70 <name>dfs.client.failover.proxy.provider.masters</name>
 71 <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
 72 </value>
 73 </property>
 74 
 75 <property>
 76 <name>dfs.ha.fencing.methods</name>
 77 <value>
 78 sshfence
 79 shell(/bin/true)
 80 </value>
 81 </property>
 82 
 83 <property>
 84 <name>dfs.ha.fencing.ssh.private-key-files</name>
 85 <value>/home/hadoop/.ssh/id_rsa</value>
 86 </property>
 87 
 88 <property>
 89 <name>dfs.ha.fencing.ssh.connect-timeout</name>
 90 <value>30000</value>
 91 </property>
 92 
 93 </configuration>
                                                       

配置如下:

自动化运维之hadoop——大数据平台

自动化运维之hadoop——大数据平台 

自动化运维之hadoop——大数据平台 

 (3)启动hdfs集群(按顺序启动)

第一步:在三个DN节点上依次启动 journalnode(第一次启动 hdfs 必须先启动 journalnode)

#在所有DN节点(server2/3/4)上启动journalnode
[hadoop@server2 ~]$ cd hadoop
[hadoop@server2 hadoop]$ bin/hdfs --daemon start journalnode

第二步:格式化hdfs集群(在server1上)

[hadoop@server1 ~]$ cd hadoop
[hadoop@server1 hadoop]$ bin/hdfs namenode -format

Namenode 数据默认存放在/tmp,需要把数据拷贝到h2(即从server1复制到server2)

[hadoop@server1 hadoop]$ scp -r /tmp/hadoop-hadoop 172.25.254.5:/tmp

第三步:格式化 zookeeper (只需在 h1 上执行即可)

[hadoop@server1 hadoop]$ bin/hdfs zkfc -formatZK

第四步:启动 hdfs 集群(只需在 h1 上执行即可)

[hadoop@server1 ~]$ cd hadoop
[hadoop@server1 hadoop]$ sbin/start-dfs.sh

(4)测试:在浏览器访问master端

可以看到,server1为“active”是主机,server5为“standby”是备用机。

自动化运维之hadoop——大数据平台

第一步:在主机master节点(server1)上传数据

#创建目录并上传数据
[hadoop@server1 hadoop]$ bin/hdfs dfs -mkdir /user
[hadoop@server1 hadoop]$ bin/hdfs dfs -mkdir /user/hadoop
[hadoop@server1 hadoop]$ bin/hdfs dfs -mkdir input                    //创建目录
[hadoop@server1 hadoop]$ bin/hdfs dfs -put etc/hadoop/*.xml input    //上传数据

在浏览器中看到只有server1中有数据,standby的节点(server5)没有数据

自动化运维之hadoop——大数据平台

第二步:模拟server1节点故障

结束server1中的“NameNode”进程

自动化运维之hadoop——大数据平台

 通过浏览器查看server5已经成为了“activate”端,数据已经从server1切换到了server5上。

自动化运维之hadoop——大数据平台

 第三步:server1节点恢复正常

自动化运维之hadoop——大数据平台

server1节点恢复正常后,仍然只是从节点standby状态,成为了备用机。可以理解为:谁先注册zk,谁就是主master,其他节点就是备用master。

自动化运维之hadoop——大数据平台

 

五、hadoop高可用平台部署——yarn的高可用

第一步:编辑 mapred-site.xml 文件

[hadoop@server1 ~]$ cd hadoop
[hadoop@server1 hadoop]$ vim etc/hadoop/mapred-site.xml 
 19 <configuration>
 20     <property>
 21         <name>mapreduce.framework.name</name>
 22         <value>yarn</value>
 23     </property>
 24     <property>
 25         <name>mapreduce.application.classpath</name>
 26         <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
 27     </property>
 28 </configuration>

自动化运维之hadoop——大数据平台

 

第二步:编辑<etc/hadoop/yarn-site.xml>文件

[hadoop@server1 ~]$ cd hadoop
[hadoop@server1 hadoop]$ vim etc/hadoop/yarn-site.xml 
 16 <configuration>
 17     <property>
 18         <name>yarn.nodemanager.aux-services</name>
 19         <value>mapreduce_shuffle</value>
 20     </property>
 21     <property>
 22         <name>yarn.nodemanager.env-whitelist</name>
 23         <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_HOME,PATH,LANG,TZ    ,HADOOP_MAPRED_HOME</value>
 24     </property>
 25 
 26 <property>
 27 <name>yarn.resourcemanager.ha.enabled</name>
 28 <value>true</value>
 29 </property>
 30 
 31 <property>
 32 <name>yarn.resourcemanager.cluster-id</name>
 33 <value>RM_CLUSTER</value>
 34 </property>
 35 
 36 <property>
 37 <name>yarn.resourcemanager.ha.rm-ids</name>
 38 <value>rm1,rm2</value>
 39 </property>
 40 
 41 <property>
 42 <name>yarn.resourcemanager.hostname.rm1</name>
 43 <value>172.25.254.1</value>
 44 </property>
 45 
 46 <property>
 47 <name>yarn.resourcemanager.hostname.rm2</name>
 48 <value>172.25.254.5</value>
 49 </property>
 50 
 51 <property>
 52 <name>yarn.resourcemanager.recovery.enabled</name>
 53 <value>true</value>
 54 </property>
 55 
 56 <property>
 57 <name>yarn.resourcemanager.store.class</name>
 58 <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
 59 </property>
 60 
 61 <property>
 62 <name>yarn.resourcemanager.zk-address</name>
 63 <value>172.25.254.2:2181,172.25.254.3:2181,172.25.254.4:2181</value>
 64 </property>
 65 
 66 
 67 </configuration>

自动化运维之hadoop——大数据平台

自动化运维之hadoop——大数据平台 

 自动化运维之hadoop——大数据平台

 

第三步:启动yarn进程

[hadoop@server1 ~]$ cd hadoop
[hadoop@server1 hadoop]$ sbin/start-yarn.sh 

自动化运维之hadoop——大数据平台

第四步:查看启动结果

浏览器访问server1和server5的8088端口,看到server1是activate状态,server5是standby状态。

自动化运维之hadoop——大数据平台

自动化运维之hadoop——大数据平台

 第五步:server1故障测试

在server1上手动结束RM进程,查看状态.server5已经成为新的activate节点,server1无法访问了。

自动化运维之hadoop——大数据平台

自动化运维之hadoop——大数据平台

第六步:重新在server1启动RM

[hadoop@server1 hadoop]$ bin/yarn --daemon start resourcemanager

 server1在server5之后,因此只能是standby状态,只有当server5的RM也宕掉后,才会切换到server1.

自动化运维之hadoop——大数据平台

 六、hadoop高可用平台部署——Hbase分布式部署

第一步:hbase下载(在主master节点)

[hadoop@server1 ~]$ tar zxf hbase-1.2.4-bin.tar.gz 
[hadoop@server1 ~]$ ln -s hbase-1.2.4 hbase

第二步:编辑hbase的配置文件(在主master节点)

[hadoop@server1 ~]$ cd hbase
[hadoop@server1 hbase]$ vim conf/hbase-env.sh 
     27 export JAVA_HOME=/home/hadoop/java
    128 export HBASE_MANAGES_ZK=false
    129 export HADOOP_HOME=/home/hadoop/hadoop

[hadoop@server1 ~]$ cd hbase
[hadoop@server1 hbase]$ vim conf/hbase-site.xml
 23 <configuration>
 24 <property>
 25 <name>hbase.rootdir</name>
 26 <value>hdfs://masters/hbase</value>
 27 </property>
 28 
 29 <property>
 30 <name>hbase.cluster.distributed</name>
 31 <value>true</value>
 32 </property>
 33 
 34 <property>
 35 <name>hbase.zookeeper.quorum</name>
 36 <value>172.25.254.2,172.25.254.3,172.25.254.4</value>
 37 </property>
 38 
 39 <property>
 40 <name>dfs.replication</name>
 41 <value>3</value>
 42 </property>
 43 
 44 <property>
 45 <name>hbase.master</name>
 46 <value>h1</value>
 47 </property>
 48 </configuration>

自动化运维之hadoop——大数据平台

自动化运维之hadoop——大数据平台 

 添加woker节点名:

[hadoop@server1 ~]$ cd hbase
[hadoop@server1 hbase]$ vim conf/regionservers 
  1 server2
  2 server3
  3 server4

第三步:启动hbase(在主master节点)

[hadoop@server1 ~]$ cd hbase
[hadoop@server1 hbase]$ bin/start-hbase.sh 

启动完成后,查看java进程,会出现一个“HMaster”

自动化运维之hadoop——大数据平台

 第四步:添加备用机节点(在备用机节点运行)

[hadoop@server5 ~]$ cd hbase
[hadoop@server5 hbase]$ bin/hbase-daemon.sh start master

server5备用机节点hbase启动完成后,查看java进程,也是“HMaster”

自动化运维之hadoop——大数据平台

 第五步:查看hbase运行状态

HBase Master 默认端口时 16000,还有个 web 界面默认在 Master 的 16010 端口上,HBase RegionServers 会默认绑定 16020 端口,在端口 16030 上有一个展示信息的界面。

自动化运维之hadoop——大数据平台

第六步:测试

 直接进入hbase自带的shell,创建信息

[hadoop@server5 hbase]$ bin/hbase shell

自动化运维之hadoop——大数据平台

 然后人为使server5的HMaser服务停止,模拟故障

自动化运维之hadoop——大数据平台

 通过浏览器访问,在server5中创建的数据已经同步到server1中了

自动化运维之hadoop——大数据平台

重新启动server5中的hbase服务 

[hadoop@server5 hbase]$ bin/hbase-daemon.sh start master

自动化运维之hadoop——大数据平台

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/24641.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注