(大数据方向)分布式实验二:搭建完全分布式

本文详细介绍了如何在多台虚拟机上搭建Hadoop的完全分布式环境,包括克隆虚拟机、网络配置、时间同步、主机名更改、免密钥登陆、Hadoop配置等步骤,最终实现通过Web查看分布式系统状态。

  前言:

        这篇博客时基础的完全分布式搭建,并没有采用高可用搭建,下一篇会专门写采用简单的高可用搭建的步骤,如果有错,希望大家及时指正,谢谢各位啦

目录

分布式相关概念:

(1)什么是分布式文件系统:

(2)分布式文件系统的结构:

(3)主,从节点各自的职责:

 (4)大致物理结构图:

Hadoop 完全分布式搭建

搭建需知

第一步:拍摄快照并克隆虚拟机

 第二步:对这四台虚拟机进行网络配置

 第三步:同步时间并更改四台虚拟机的主机名

 第四步:设置免密钥登陆

 第五步:hadoop配置

(1)core-site.xml

(2)hdfs-site.xml

(3)slaves

 (4)传输文件

(5)格式化

(6)启动

 第六步:通过web查看



分布式相关概念:

(1)什么是分布式文件系统:

        分布式文件系统:通过网络实现文件在多台主机上进行分布式存储的文件系统

         1.分布式系统一定是由多个节点组成的系统。其中,节点指的是计算机服务器,而且这些节点一般不是孤立的,而是互通的。

        2.这些连通的节点上部署了我们的节点,并且相互的操作会有协同。   

(2)分布式文件系统的结构:

分布式文件系统在物理结构上是由计算机集群的多个节点构成的。

一般来说分为两类:1.主节点(Master Node)或者叫做“名称节点”(NameNode)

                                 2.从节点(Slave Node) 或者叫做“数据节点”(DataNode)

(3)主,从节点各自的职责:

主节点(名称节点):①负责文件,目录的创建,删除,重命名等操作;

                                    ②管理数据节点和文件快的映射关系

导致--->客户端只有访问名称节点,才能找到请求的文件块所在的位置,

             进而到相应位置读取所需文件快。

从节点(数据节点):①负责数据的存储和读取操作;

存储时:由名称节点分配存储位置——>由客户端把数据直接写入相应的数据节点

读取时:客户端从名称节点获得 数据节点和文件块的映射关系——>即可到相应位置访问文件块。

                                    ②根据名称节点的命令创建删除和复制数据块。

 (4)大致物理结构图:

Hadoop 完全分布式搭建

搭建需知

        此处的完全分布式搭建是基于博主上一篇博客(伪分布式搭建)的基础上进行的搭建,会省略克隆虚拟机后JDK下载,环境变量配置,hadoop-2.6.5的安装配置的相关步骤,详情请参考上篇博客:

搭建大数据完全分布式平台通常涉及多个组件,以常见的 Hadoop 和 Spark 为例,下面介绍搭建方法。 ### 前期准备 - **节点规划**:确定集群中各个节点的角色,如 NameNode、DataNode、ResourceManager、NodeManager 等。通常需要 3 个或以上节点以实现高可用性和容错性。 - **系统安装**:在所有节点上安装相同版本的 Linux 操作系统,如 CentOS 7。 - **网络配置**:确保所有节点之间可以通过网络相互通信,设置静态 IP 地址,并配置好主机名和 `/etc/hosts` 文件。 - **用户创建**:在所有节点上创建相同用户名和密码的用户,例如 `hadoop` 用户,并为其赋予 sudo 权限。 - **SSH 免密登录**:配置所有节点之间的 SSH 免密登录,方便后续操作。 ### 安装 Java JavaHadoop 和 Spark 运行的基础,需要在所有节点上安装。以 OpenJDK 为例: ```bash sudo yum install -y java-1.8.0-openjdk-devel ``` 然后配置环境变量,编辑 `/etc/profile` 文件: ```bash export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk export PATH=$PATH:$JAVA_HOME/bin ``` 使环境变量生效: ```bash source /etc/profile ``` ### 安装 Hadoop 1. **下载和解压**:从 Hadoop 官方网站下载合适版本的 Hadoop,例如 Hadoop 3.3.1: ```bash wget https://downloads.apache.org/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz tar -zxvf hadoop-3.3.1.tar.gz -C /usr/local cd /usr/local mv hadoop-3.3.1 hadoop ``` 2. **配置环境变量**:编辑 `/etc/profile` 文件,添加以下内容: ```bash export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin ``` 使环境变量生效: ```bash source /etc/profile ``` 3. **配置 Hadoop 文件**: - `core-site.xml`: ```xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://namenode:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/hadoop/tmp</value> </property> </configuration> ``` - `hdfs-site.xml`: ```xml <configuration> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/usr/local/hadoop/hdfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/usr/local/hadoop/hdfs/datanode</value> </property> </configuration> ``` - `mapred-site.xml`: ```xml <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> ``` - `yarn-site.xml`: ```xml <configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>resourcemanager</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration> ``` - `slaves` 文件:列出所有 DataNode 节点的主机名。 4. **分发配置文件**:将配置好的 Hadoop 目录分发到所有节点。 5. **格式化 NameNode**:在 NameNode 节点上执行: ```bash hdfs namenode -format ``` 6. **启动 Hadoop 集群**:在 NameNode 节点上执行: ```bash start-dfs.sh start-yarn.sh ``` ### 安装 Spark 1. **下载和解压**:从 Spark 官方网站下载合适版本的 Spark,例如 Spark 3.2.0: ```bash wget https://downloads.apache.org/spark/spark-3.2.0/spark-3.2.0-bin-hadoop3.2.tgz tar -zxvf spark-3.2.0-bin-hadoop3.2.tgz -C /usr/local cd /usr/local mv spark-3.2.0-bin-hadoop3.2 spark ``` 2. **配置环境变量**:编辑 `/etc/profile` 文件,添加以下内容: ```bash export SPARK_HOME=/usr/local/spark export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin ``` 使环境变量生效: ```bash source /etc/profile ``` 3. **配置 Spark 文件**: - `spark-env.sh`: ```bash export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop export SPARK_MASTER_HOST=master export SPARK_MASTER_PORT=7077 ``` - `slaves` 文件:列出所有 Worker 节点的主机名。 4. **分发配置文件**:将配置好的 Spark 目录分发到所有节点。 5. **启动 Spark 集群**:在 Master 节点上执行: ```bash start-all.sh ``` ### 验证安装 - **Hadoop 验证**:通过浏览器访问 `http://namenode:9870` 查看 HDFS 管理界面,访问 `http://resourcemanager:8088` 查看 YARN 管理界面。 - **Spark 验证**:通过浏览器访问 `http://master:8080` 查看 Spark 管理界面。 ### 相关问题
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java从跨平台到跨行业

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值