Hadoop集群搭建

一曲冷凌霜 提交于 2019-12-16 17:01:25

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

Hadoop三种运行模式

  1. 独立模式(Local或Standalone Mode)

    默认情况下,Hadoop即处于该模式,用于开发和调试

  2. 伪分布模式(Pseudo-Distributed Mode)

    Hadoop的守护进程运行在本机机器,模拟一个小规模的集群

  3. 全分布集群模式(Fully-Distributed Mode)

    Hadoop的守护进程运行在一个集群上

伪分布式集群搭建

su root
cd /opt/software/
ll
sudo chown -R hdfs:hadoop hadoop-3.2.1/
ll
cd /opt/software/hadoop-3.2.1/etc/hadoop/
ll
vi core-site.xml
vi hdfs-site.xml
vi mapred-site.xml
vi yarn-site.xml
hdfs namenode -format
hadoop-daemon.sh start namenode
jps
yarn --daemon start resourcemanager
yarn --daemon start nodemanager
jps

成功后在浏览器输入127.0.0.1,打开datanode页面可看到节点信息 伪分布式集群搭建结果

4个配置文件内容:

  • core-site.xml
<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://127.0.0.1:9000</value>
  </property>
</configuration>
  • hdfs-site.xml
<configuration>
  <property>
    <name>dfs.nameservices</name>
    <value>zf01</value>
  </property>
  <property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>127.0.0.1:50090</value>
  </property>
  <property>
    <name>dfs.blocksize</name>
    <value>32m</value>
  </property>
  <property>
    <name>dfs.replication</name>
    <value>2</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/home/hdfs/Bigdata/data/hadoop/hdfs/nn</value>
  </property>
  <property>
    <name>fs.checkpoint.dir</name>
    <value>file:/home/hdfs/Bigdata/data/hadoop/hdfs/snn</value>
  </property>
  <property>
    <name>fs.checkpoint.edits.dir</name>
    <value>file:/home/hdfs/Bigdata/data/hadoop/hdfs/snn</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/home/hdfs/Bigdata/data/hadoop/hdfs/dn</value>
  </property>
</configuration>
  • mapred-site.xml
<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>
  • yarn-site.xml
<configuration>
  <!-- Site specific YARN configuration properties -->
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>127.0.0.1</value>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  <property>
    <name>yarn.nodemanager.local-dirs</name>
    <value>/home/hdfs/Bigdata/hadoop/data/hadoop/yarn/nm</value>
  </property>
</configuration>

全分布式集群搭建

  1. 修改主机名
sudo vi /etc/hostname
  1. 修改网络适配器,改为桥接模式
  2. 获取虚拟机ip地址
ifconfig
  1. 修改/etc/hosts配置文件
sudo vi /etc/hosts
# 注释掉127.0.1.1这一行
# 集群中所有节点(包括主节点)添加所有节点(包括主节点)的ip地址+主机名
  1. 关机重启使配置文件的修改生效
sudo reboot
  1. 进入hadoop配置目录后切换用户,编辑workers文件
cd /opt/hadoop/etc/hadoop/
su hdfs
ll
vi workers
# workers文件中存放所有从节点的主机名信息,主节点虚拟机中也需要编辑此文件
  1. 删除hdfs家目录下的Bigdata文件
cd
ll
rm -rf Bigdata
  1. 主节点格式化文件系统
hdfs namenode -format
# 格式化之后,集群中所有节点需要把4个配置文件中的ip地址修改为主节点ip
  1. 主节点启动namenode
hdfs --daemon start namenode
  1. 从节点启动datanode
hdfs --daemon start datanode
  1. 主节点启动resourcemanager
yarn --daemon start resourcemanager
  1. 从节点启动nodemanager
yarn --daemon start nodemanager
  1. 至此,全分布式集群搭建完毕,可在浏览器中输入主节点ip:9870端口,打开datanode页面可以查看到所有从节点信息 全分布式集群搭建结果

补充记录

  • 日志文件查看
cd /opt/hadoop/logs
ll
cd hadoop-hdfs-datanode-xxx.log

通过日志文件可以查看报错信息,从而快速解决问题

例如:由于刚开始设置了含下划线的非法主机名,导致错误

报错日志信息

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!