Hadoop集群配置2

目录

思维导图:

(一)配置Hadoop集群

(1)Hadoop环境配置文件 - hadoop-env.sh

​(2)Hadoop核心配置文件 - core-site.xml

(3)HDFS配置文件 - hdfs-site.xml

(4)MapReduce配置文件 - mapred-site.xml

(5)yarn配置文件 - yarn-site.xml

(6)workers文件确定数据节点

2、在slave1虚拟机上安装配置hadoop

(1)将master虚拟机上的hadoop分发到slave1虚拟

(2)将master虚拟机上环境配置文件分发到slave1虚拟机

(3)在slave1虚拟机上让环境配置生效

3、在slave2虚拟机上安装配置hadoop

(1)将master虚拟机上的hadoop分发到slave2虚拟机

(2)将master虚拟机上环境配置文件分发到slave2虚拟机

(3)在slave2虚拟机上让环境配置生效

(二)格式化文件系统

(三)启动和关闭Hadoop集群

1、主节点上启动hadoop集群

(1)启动hdfs服务

​(2)启动yarn服务

2、主节点上停止Hadoop集群


思维导图:


(一)配置Hadoop集群

配置文件功能描述
hadoop-env.sh配置Hadoop运行所需的环境变量
yarn-env.sh配置Yarn运行所需的环境变量
core-site.xmlHadoop核心全局配置文件,可在其他配置文件中引用
hdfs-site.xmlHDFS配置文件,继承core-site.xml配置文件
mapred-site.xmlMapReduce配置文件,继承core-site.xml配置文件
yarn-site.xmlYarn配置文件,继承core-site.xml配置文件
workers配置从节点文件


(1)编辑Hadoop环境配置文件 - hadoop-env.sh

  • 执行命令:cd $HADOOP_HOME/etc/hadoop,进入hadoop配置目录

  • 执行命令:vim hadoop-env.sh,添加三条环境变量配置(注意添加环境变量的位置位置)

 

1.export JAVA_HOME=/usr/local/jdk1.8.0_341 
2.export HADOOP_HOME=/usr/local/hadoop-3.3.4
3.export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

  • 存盘退出后,执行命令source hadoop-env.sh,让配置生效

  • 查看三个配置的三个环境变量
  • 命令: echo $JAVA_HOME $HADOOP_HOME $HADOOP_CONF_DIR


(2)编辑Hadoop核心配置文件 - core-site.xml

  • 执行命令:vim core-site.xml

1.<configuration>
2.    <!--用来指定hdfs的老大-->
3.   <property>
4.        <name>fs.defaultFS</name>
5.      <value>hdfs://master:9000</value>
6.    </property>
7.    <!--用来指定hadoop运行时产生文件的存放目录-->
8.    <property>
9.       <name>hadoop.tmp.dir</name>
10.        <value>/usr/local/hadoop-3.3.4/tmp</value>
11.    </property>    
12.</configuration>
 

  • 由于配置了IP地址主机名映射,因此配置HDFS老大节点可用hdfs://master:9000,否则必须用IP地址hdfs://192.168.1.100:9000

(3)编辑HDFS配置文件 - hdfs-site.xml

  • 执行命令:vim hdfs-site.xml

  • 可以不用设置名称节点的目录、数据节点的目录以及辅助名称节点

<configuration>
    <!--设置名称节点的目录-->
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/usr/local/hadoop-3.3.4/tmp/namenode</value>
    </property>
    <!--设置数据节点的目录-->
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/usr/local/hadoop-3.3.4/tmp/datanode</value>
    </property>
    <!--设置辅助名称节点-->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>master:50090</value>
    </property>
    <!--hdfs web的地址,默认为9870,可不配置-->
    <!--注意如果使用hadoop2,默认为50070-->
    <property>
        <name>dfs.namenode.http-address</name>
        <value>0.0.0.0:9870</value>
    </property>
    <!--副本数,默认为3,可不配置-->
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <!--是否启用hdfs权限,当值为false时,代表关闭-->
    <property>
        <name>dfs.permissions.enabled</name>
        <value>false</value>
    </property>
</configuration>


(4)编辑MapReduce配置文件 - mapred-site.xml

  • 执行命令:vim mapred-site.xml

 

<configuration>
    <!--配置MR资源调度框架YARN-->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>yarn.app.mapreduce.am.env</name>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>
    <property>
        <name>mapreduce.map.env</name>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>
    <property>
        <name>mapreduce.reduce.env</name>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>
</configuration>

  • 后三个属性如果不设置,在运行Hadoop自带示例的词频统计时,会报错:Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster

(5)编辑yarn配置文件 - yarn-site.xml

  • 执行命令:vim yarn-site.xml

 

<configuration>
    <!--配置资源管理器:集群master-->
    <property>        
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>
    <!--配置节点管理器上运行的附加服务-->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <!--关闭虚拟内存检测,在虚拟机环境中不做配置会报错-->
    <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
    </property>
</configuration>


(6)编辑workers文件确定数据节点

  • hadoop-2.x里配置slaves文件,hadoop-3.x里配置workers文件
  • 通过workers文件定义数据节点,根据集群规划,三个节点都要作为数据节点
  • 执行命令:vim workers

 

  • 这样集群总共有3个数据节点,正好跟副本数配置的3一致。

2、在slave1虚拟机上安装配置hadoop

(1)将master虚拟机上的hadoop分发到slave1虚拟

  • 执行命令:scp -r $HADOOP_HOME root@slave1:$HADOOP_HOME

  • 在slave1虚拟机上查看分发的hadoop(命令:ll /usr/local

(2)将master虚拟机上环境配置文件分发到slave1虚拟机

  • 执行命令:scp /etc/profile root@slave1:/etc/profile

(3)在slave1虚拟机上让环境配置生效

  • 切换到slave1虚拟机,执行命令:source /etc/profile

3、在slave2虚拟机上安装配置hadoop

(1)将master虚拟机上的hadoop分发到slave2虚拟机

  • 执行命令:scp -r $HADOOP_HOME root@slave2:$HADOOP_HOME

  • 在slave2虚拟机上查看分发的hadoop(命令:ll /usr/local

(2)将master虚拟机上环境配置文件分发到slave2虚拟机

  • 执行命令:scp /etc/profile root@slave2:/etc/profile

(3)在slave2虚拟机上让环境配置生效

  • 切换到slave2虚拟机,执行命令:source /etc/profile

(二)格式化文件系统

  • 初次启动HDFS集群时,必须对主节点进行格式化处理。
  • 执行命令:hdfs namenode -format

 

  • 查看名称节点格式化成功的信息

(三)启动和关闭Hadoop集群

1、主节点上启动hadoop集群

  • 执行start-all.sh命令,一起启动hdfs和yarn服务,也可以分开启动两种服务

(1)启动hdfs服务

  • 执行命令:start-dfs.sh

 如果大家安装jdk版本是其他版本,会出现警告!大家可以在网上搜寻解决方法!

  • 查看master虚拟机上的进程(命令:jps

 

 

  • 查看slave1虚拟机上的进程(命令:jps

 

  • 查看slave2虚拟机上的进程(命令:jps


(2)启动yarn服务

  • 执行命令:start-yarn.sh

 

  • 启动了YARN守护进程;一个资源管理器(resourcemanager)在master虚拟机上,三个节点管理器(nodemanager)在master、slave1与slave2虚拟机上 
  • 执行命令jps查看master虚拟机的进程

  • 查看slave1和slave2上的进程,只有NodeManager和DataNode

  

2、主节点上停止Hadoop集群

  • 在master虚拟机上执行命令:stop-all.sh相当于同时执行了stop-dfs.sh与stop-yarn.sh

 

 分享结束!此章暂且完结。撒花..........

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值