四 YARN配置和HBase配置

发布于:2025-05-01 ⋅ 阅读:(63) ⋅ 点赞:(0)

零 前置条件

  1. zookeeper已成功配置;hdfs已成功配置;FinalShell连接3个虚拟节点

  2. 先开启zookeeper,后开启hdfs,jps查看当前集群的进程,如图所示
    在这里插入图片描述

一 YARN应用

操作一 配置yarn-site.xml和mapred-site.xml文件

# yarn-site.xml
<configuration>
    <property>
        <name>yarn.resourcemanager.connect.retry-interval.ms</name>
        <value>2000</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>hadoop01</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname.rm2</name>
        <value>hadoop02</value>
    </property>
    <property>
        <name>yarn.resourcemanager.recovery.enabled</name>
        <value>true</value>
    </property>
    <property>
        <name>yarn.resourcemanager.zk.state-store.address</name>
        <value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value>
    </property>
    <property>
        <name>yarn.resourcemanager.zk-address</name>
        <value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value>
    </property>
    <property>
        <name>yarn.resourcemanager.address.rm1</name>
        <value>hadoop01:8032</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address.rm1</name>
        <value>hadoop01:8034</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address.rm1</name>
        <value>hadoop01:8088</value>
    </property>
    <property>
        <name>yarn.resourcemanager.address.rm2</name>
        <value>hadoop02:8032</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address.rm2</name>
        <value>hadoop02:8034</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address.rm2</name>
        <value>hadoop02: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>

# mapred-site.xml
<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
</configuration>

操作二 将配置文件同步到其它节点,集群启动YARN;启动备用节点RM

  1. 集群同步节点到其余节点,在目录[/home/hadoop/etc/hadoop]下执行
deploy.sh yarn-site.xml ~/app/hadoop/etc/hadoop slave 
deploy.sh mapred-site.xml ~/app/hadoop/etc/hadoop slave
  1. 启动YARN和备用节点,在[/home/hadoop/app/hadoop]目录下执行
# hadoop01
sbin/start-yarn.sh # 如果HDFS未启动,可sbin/start-all.sh (包括HDFS和YARN)

# 关闭yarn
sbin/stop-yarn.sh

在这里插入图片描述

# hadoop02启动备用节点RM,在目录[/home/hadoop/app/hadoop]下执行
sbin/yarn-daemon.sh start resourcemanager

# 关闭备用RM
sbin/yarn-daemon.sh stop resourcemanager

在这里插入图片描述

  1. 查看RM状态
bin/yarn rmadmin -getServiceState rm1
bin/yarn rmadmin -getServiceState rm2

操作三 Web查看YARN和测试YARN

1.windows系统下输入网址192.168.226.101:8088,成功开启YARN之后界面如下
在这里插入图片描述

  1. yarn自带wordcount程序,测试yarn的功能
  • 当前hdfs文件系统中/test目录下有文件1.txt,统计其中的字词数量
    在这里插入图片描述
    在这里插入图片描述

  • [home/hadoop/app/hadoop]目录下 , 执行如下命令

# 执行成功,如下图所示
bin/hadoop jar share/hadoop/mapreduce2/hadoop-mapreduce-examples-2.6.0-cdh5.10.0.jar wordcount /test/1.txt /test/output

# 查看执行结果
bin/hdfs dfs -cat /test/output/*

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注意:

  1. wordcount程序统计词频之后会产生output文件,如果当前存在output文件,再次创建output会报错;可以删除之后,再次执行wordcount程序

  2. yarn的配置文件存放在hadoop中的etc/hadoop文件下

二 HBase应用

操作一 官网下载 HBase压缩包

Apache 版本: http://archive.apache.org/dist/hbase/
CDH 版本: http://archive-primary.cloudera.com/cdh5/cdh/5/
这里选择下载 hbase-1.2.0-cdh5.10.0.tar.gz 版本的安装包,上传至主节点 app 目录。

操作二 修改4个配置文件;拷贝HDFS的2个配置文件;创建HBase日志目录

  1. 解压安装包并创建软链接
tar -zvxf  hbase-1.2.0-cdh5.10.0.tar.gz
ln -s hbase-1.2.0-cdh5.10.0.tar.gz hbase
  1. 修改hbase-site.xml、hbase-en.sh、regionservers、backup-masters配置文件
# hbase-site.xml
<configuration>
        <property>
                <name>hbase.zookeeper.quorum</name>
                <value>hadoop01,hadoop02,hadoop03</value>
                <!--指定Zookeeper集群节点-->
        </property>
        <property>
      <name>hbase.zookeeper.property.dataDir</name>
      <value>/home/hadoop/data/zookeeper/zkdata</value>
        <!--指定Zookeeper数据存储目录-->
  </property>
        <property>
                <name>hbase.zookeeper.property.clientPort</name>
                <value>2181</value>
                        <!--指定Zookeeper端口号-->
        </property>
        <property>
                <name>hbase.rootdir</name>
                <value>hdfs://cluster1/hbase</value>
                        <!--指定HBase在HDFS上的根目录-->
        </property>
        <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
                        <!--指定true为分布式集群部署-->
        </property>
</configuration>

# hbase-en.sh # 含有如下环境变量
export JAVA_HOME=/home/hadoop/app/jdk
export HBASE_LOG_DIR=/home/hadoop/data/hbase/logs
export HBASE_PID_DIR=/home/hadoop/data/hbase/pids
export HBASE_MANAGES_ZK=false

# regionservers
hadoop01
hadoop02
hadoop03

# backup-masters # 配置备用节点
hadoop02
  1. 拷贝HDFS文件系统中的hdfs-site.xml 和core-site.xml文件,[/home/hadoop/app/hadoop/etc/hadoop]下执行
cp hdfs-site.xml ~/app/hbase/conf
cp core-site.xml ~/app/hbase/conf
  1. 创建HBase日志目录
runRemoteCmd.sh 'mkdir -p ~/data/hbase/logs' all

注意:hdfs-site.xml和core-site.xml文件中的这部分保持一致
在这里插入图片描述
在这里插入图片描述

操作三 hbase-1.2.0-cdh5.10.0 同步到其他节点,并创建软链接;集群启动hbase

  1. hbase同步到其他节点
deploy.sh  hbase-1.2.0-cdh5.10.0 ~/app slave
ln -s  hbase-1.2.0-cdh5.10.0 hbase
  1. 启动hbase,在[/home/hadoop/app/hbase]目录下执行。注意,HDFS已启动
# 在哪个节点启动HBase,哪个节点就是HBase Master
bin/start-hbase.sh 

#关闭HBase
bin/stop-hbase.sh

这里在hadoop01节点启动的HBase
在这里插入图片描述

操作四 web查看hbase

Windows系统下访问地址http://master:60010

在这里插入图片描述
在这里插入图片描述

注意

  1. 开机先开zk,再开dfs,再开hbase; 关机先关hbase,再关dfs,再关zk

  2. 在Hadoop集群中,在哪个节点上启动HBase,那个节点就会成为HBase Master,成为Master候选,而在多Master配置下,最终活跃Master由ZooKeeper选举决定;单Master配置下则没有选举过程


网站公告

今日签到

点亮在社区的每一天
去签到