搭建完全分布式Hadoop

文章目录

一、Hadoop集群规划

二、在主节点上配置Hadoop

(一)登录虚拟机

  • 登录三个虚拟机

(二)设置主机名

(三)主机名与IP地址映射

  • 执行命令:vim /etc/hosts

(四)关闭与禁用防火墙

(五)配置免密登录

(六)配置JDK

shell 复制代码
export JAVA_HOME=/usr/local/jdk1.8.0_231
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

(七)配置Hadoop

1、上传安装包

  • 上传hadoop安装包
  • 查看hadoop安装包

2、解压缩安装包

  • 执行命令:tar -zxvf hadoop-3.3.4.tar.gz -C /usr/local
  • 查看解压后的目录

3、配置环境变量

  • 执行命令:vim /etc/profile
shell 复制代码
export HADOOP_HOME=/usr/local/hadoop-3.3.4
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
  • 存盘退出,执行命令:source /etc/profile,让配置生效
  • 查看hadoop版本,执行命令:hadoop version

4、编辑Hadoop环境配置文件 - hadoop-env.sh

  • 进入hadoop配置目录,执行命令:cd $HADOOP_HOME/etc/hadoop
  • 执行命令:vim hadoop-env.sh
shell 复制代码
export JAVA_HOME=/usr/local/jdk1.8.0_231
export HADOOP_HOME=/usr/local/hadoop-3.3.4
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
  • 存盘退出,执行命令:source hadoop-env.sh,让配置生效

5、编辑Hadoop核心配置文件 - core-site.xml

  • 执行命令:vim core-site
xml 复制代码
<configuration>
    <!--用来指定hdfs的老大-->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    <!--用来指定hadoop运行时产生文件的存放目录-->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/hadoop-3.3.4/tmp</value>
    </property>
</configuration>

6、编辑HDFS配置文件 - hdfs-site.xml

  • 执行命令:vim hdfs-site.xml
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.x,默认为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>

7、编辑MapReduce配置文件 - mapred-site.xml

  • 执行命令:vim mapred-site.xml
xml 复制代码
<configuration>
    <!--配置MR资源调度框架YARN-->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

8、编辑YARN配置文件 - yarn-site.xml

  • 执行命令:vim yarn-site.xml
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>

9、编辑数据节点文件 - workers

  • 执行命令:vim workers

三、从主节点分发到从节点

(一)从master节点分发到slave1节点

1、分发JDK

  • 执行命令:scp -r $JAVA_HOME root@slave1:$JAVA_HOME(注意,拷贝目录,一定要加-r选项)
  • 在slave1节点上查看拷贝的JDK目录

2、分发Hadoop

3、分发环境配置文件

4、刷新环境配置文件

5、查看jdk和Hadoop版本

6、分发主机名IP地址映射文件

(二)从master节点分发到slave2节点

1、分发JDK

2、分发Hadoop

3、分发环境配置文件

4、刷新环境配置文件

5、查看jdk和Hadoop版本

6、分发主机名IP地址映射文件

四、格式化名称节点

五、启动Hadoop集群

六、初试HDFS Shell

七、查看Hadoop WebUI

八、运行MR应用 - 词频统计

九、关闭Hadoop集群

相关推荐
BYSJMG1 小时前
计算机毕设选题做什么好?基于大数据的用户健身行为数据分析与可视化系统,Hadoop+Spark处理
大数据·人工智能·hadoop·数据分析·spark·课程设计
知见漫记5 小时前
AI 桌面 Agent 本地执行能力技术对照:沙箱机制与权限模式拆解
大数据·人工智能
kruptos6 小时前
分布式系统怎么“选主“?Raft 共识一次讲清
开发语言·分布式·php·共识算法
xcl09257 小时前
幼儿托育系统开发实战:从需求分析到上线全流程指南
java·大数据·需求分析
cspttty7 小时前
国际经济与贸易专业考什么证对就业有帮助
大数据
足球魅力7 小时前
哪款足球软件能分析凯利指数大数据?
大数据·业界资讯
xwz小王子8 小时前
机器人的“最后一毫米”: 新加坡南洋理工大学Facet-0如何教会基础模型“感受”自己的动作?
大数据·人工智能·机器人
腾视科技-AI8 小时前
腾视科技AIBOX双版本重磅发布!本地安全与全球适配,解锁视频智能新可能
大数据·人工智能·科技·安全·大模型·腾视科技·ai算力盒
小智老师PMP8 小时前
2026深度解析|PMP第八版与NPDP核心侧重点本质区别(管理类证书怎么选)
开发语言·分布式·算法·职场和发展·产品经理
姜穆澜9 小时前
OneID 从 0 到 1 完整生产案例(五)
大数据·notepad++