02_Hadoop集群部署+HA(2.9版本)

0. 安装说明

0.1 部署准备

linux(centos7+jdk1.8+ssh免密登入+关闭防火墙)+hadoop-2.9.2.tar.gz

0.2 安装模式

1.单机模式:不能使用HDFS,只能使用MapReduce,所以单机模式最主要的目的是在本机调试mapreduce代码
2.伪分布式模式:用多个线程模拟多台真实机器,即模拟真实的分布式环境
3.完全分布式模式:用多台机器(或启动多个虚拟机)来完成部署集群

0.3 安装包目录说明

bin目录:命令脚本
etc/hadoop:存放hadoop的配置文件
lib目录:hadoop运行的依赖jar包
sbin目录:启动和关闭hadoop等命令都在这里
libexec目录:存放的也是hadoop命令,但一般不常用
share目录:存放的用户指南、部署手册,建议多看(官方部署手册路径:hadoop-3.1.3\share\doc\hadoop\index.html)

0.4 节点部署配置

1. hadoop安装包下载

apache下载地址http://www.apache.org/dyn/closer.cgi/hadoop/common/

下载注意:下载是记得要现在稳定版本

2. 准备安装环境

2.1 支撑平台(linux-centos7)

2.2  环境设置

  1.配置免密登入 #可以去看这里

  2.关闭防火墙 #可以去看这里

2.3 所需软件

2.4.1 安装jdk

1.版本兼容性 请查看https://cwiki.apache.org/confluence/display/HADOOP/Hadoop+Java+Versions

2.解压jdk+配置环境变量 #可以去看这里

2.4.2  安装ssh、pdsh

  $ sudo apt-get install ssh
  $ sudo apt-get install pdsh

3.上传、解压hadoop安装包

tar -xvf  hadoop-2.9.2.tar.gz

4.修改相关配置文件

4.1 配置 etc/hadoop/hadoop-env.sh

#指定jdk路径
export JAVA_HOME=/home/software/jdk1.8
source /etc/hadoop/hadoop-env.sh

4.2 配置 etc/hadoop/core-site.xml

<configuration>
    <!-- 配置文件说明:配置数据上传和下载所用的端口,rpc协议+指定namenode所在主机和端口 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://app2:9000</value>
    </property>
    <!-- 指定临时目录:默认为/tmp/hadoop-${user.name},风险是机器重启或关机后会清空 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/hadoop-2.9</value>
    </property>
</configuration>

4.3 配置 etc/hadoop/hdfs-site.xml

 
<!--指定hdfs保存数据副本的数量,默认为3,伪分布式模式设置为1-->
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

 

6.格式化namenode

$ bin/hdfs namenode -format

7.启动hdfs

7.1启动命令

 $ sbin/start-dfs.sh

7.2如果启动失败时报错(but there is no HDFS_NAMENOD_USER defined...)

1.需要在start-dfs.sh和stop-dfs.sh文件中添加下列参数:

#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

7.3 测试hdfs命令

1.创建目录
bin/hdfs dfs -mkdir /user

2.上传文件
bin/hdfs dfs -put 文件名称 /user

7.4 登入Namenode管理界面

默认地址与端口:http:// localhost:9870 / (确保防火墙关闭或端口开放)

7.5 查看hdfs相关进程


8.停止hdfs

$ sbin/stop-dfs.sh

9.开启yarn(如果不开启,mr在本地运行)

9.1 配置 etc/hadoop/mapred-site.xml

<!--指定mr运行在yarn上 -->
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.application.classpath</name>
        <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
    </property>
</configuration>

9.2 配置 etc/hadoop/yarn-site.xml

<!--NodeManager获取数据的方式 -->
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
</configuration>

9.3 启动yarn

$ sbin/start-yarn.sh

9.4 启动报错(but there is no YARN_RESOURCEMANAGER_USER defined. Aborting operation)

#对于start-yarn.sh和stop-yarn.sh文件,添加下列参数:

#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

9.5 登入yarn管理界面

默认地址 ResourceManager - http://localhost:8088/ (确保防火墙关闭或端口开放)

9.6 查看yarn相关进程

 

 

  

 

猜你喜欢

转载自www.cnblogs.com/bajiaotai/p/12932403.html