Hadoop 两台物理机内部虚拟机组建集群(使用手机热点)

如果想同时启动多台虚拟机来搭建Hadoop集群,但发现一台物理机无法承受这么大的内存、硬盘、CPU消耗,则可以再拿一台物理机进行实验。

第一步:开启手机热点,让两台物理机都通过WIFI连接到该热点,目的是构建局域网

第二步:两个物理机下的所有虚拟机的网络模式要从NAT改为桥接,并且要勾上“复制物理网络连接状态”

第三步:配置虚拟机子网。如果虚拟机想访问外网就要跟手机热点处于同一个子网,并且服务器的网关和DNS都要和该子网的网关相同。这里关于手机热点的子网划分可以从物理机用ipconfig查看

但有个坏处,就是每次重启手机热点后子网都会动态改变,所以每次都要重新配置,比较麻烦,目前我的手机是米10没找到能使用静态配置手机热点IP的功能,都是DHCP分配的。

如果可以不需要访问外网,则可以自己配置每台服务器的IP地址和PREFIX(前缀),只要保证它们都处在同一个子网就可以,不需要配置DNS和网关。这里的手机热点应该起到了交换机的作用。

物理机的防火墙可以不用关,除非虚拟机内的服务器想访问物理机

物理机要访问虚拟机就要将物理机和虚拟机都设置到同一网段中

### 搭建由两台实体机器和四个虚拟机组成的 Hadoop 集群 #### 一、概述 Hadoop 是一种分布式计算框架,用于存储和处理大规模数据集。为了构建一个高效的 Hadoop 集群,可以通过 VMware 创建多个 Linux 虚拟机,并将其部署在两台物理服务器上。每台物理服务器运行两个虚拟机节点,形成一个四节点的 Hadoop 集群。 --- #### 二、准备工作 1. **硬件需求** - 两台物理服务器,每台至少有充足的 CPU、内存和磁盘空间。 - 物理服务器需连接至同一局域网。 2. **软件需求** - 安装 VMware Workstation 或其他支持虚拟化的工具。 - 下载并准备 CentOS/Ubuntu 系统镜像文件。 - 准备 Hadoop安装包以及 JDK。 3. **网络配置** - 所有的物理机虚拟机应处于同一子网下,以便通信无障碍。 --- #### 三、具体实施步骤 ##### 1. 创建虚拟机 - 使用 VMware 在每台物理服务器上分别创建两个虚拟机实例[^1]。 - 分配足够的资源给每个虚拟机(建议每个虚拟机分配至少 2GB 内存和 20GB 磁盘空间)。 - 设置虚拟机的操作系统为 CentOS 或 Ubuntu。 ##### 2. 配置虚拟机网络 - 启动 VMware 虚拟网络编辑器,确保虚拟交换机已启用桥接模式[^2]。 - 将所有虚拟机的网络适配器设置为桥接模式,使它们可以直接访问外部网络。 ##### 3. 配置 IP 地址 - 登录到每一台虚拟机中,手动为其分配静态 IP 地址,确保这些地址在同一子网内且不冲突。 - 编辑 `/etc/sysconfig/network-scripts/ifcfg-eth0` 文件(CentOS),或者使用 `netplan` 工具(Ubuntu)进行配置。 - 示例配置如下: ```bash DEVICE=eth0 BOOTPROTO=static ONBOOT=yes IPADDR=192.168.1.x NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 ``` ##### 4. 主机名与免密登录配置 - 修改各虚拟机的主机名,例如命名为 `hadoop-master`, `hadoop-slave1`, `hadoop-slave2`, 和 `hadoop-slave3`。 - 配置 SSH 密钥对,使得主节点无需密码即可访问其他从节点。 - 在主节点执行以下命令生成公私钥对并分发到各个从节点: ```bash ssh-keygen -t rsa ssh-copy-id hadoop-slave1 ssh-copy-id hadoop-slave2 ssh-copy-id hadoop-slave3 ``` ##### 5. 安装 Java 和 Hadoop - 在所有节点上安装 OpenJDK 并验证版本: ```bash sudo yum install java-1.8.0-openjdk-devel -y java -version ``` - 解压 Hadoop 压缩包并将路径添加到环境变量中: ```bash export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk export PATH=$PATH:$JAVA_HOME/bin export HADOOP_HOME=/opt/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin ``` ##### 6. 配置 Hadoop 参数 - 编辑核心配置文件 `core-site.xml`,指定 NameNode 的 URI: ```xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://hadoop-master:9000</value> </property> </configuration> ``` - 编辑 HDFS 配置文件 `hdfs-site.xml`,定义副本数量和其他参数: ```xml <configuration> <property> <name>dfs.replication</name> <value>3</value> </property> </configuration> ``` - 编辑 MapReduce 配置文件 `mapred-site.xml`,指向 YARN ResourceManager: ```xml <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> ``` - 编辑 YARN 配置文件 `yarn-site.xml`,设定 NodeManager 和 ResourceManager 的地址: ```xml <configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>hadoop-master</value> </property> </configuration> ``` ##### 7. 初始化 HDFS 文件系统 - 在主节点上初始化 HDFS 名称空间: ```bash hdfs namenode -format ``` ##### 8. 启动集群服务 - 启动 HDFS 和 YARN 服务: ```bash start-dfs.sh start-yarn.sh ``` - 验证集群状态: ```bash jps ``` ##### 9. 关闭集群 - 当不再需要时,可停止整个集群的服务: ```bash stop-all.sh ``` --- #### 四、测试与验证 - 访问 Web UI 页面查看集群健康状况: - HDFS 状态页面:http://<master-ip>:50070/ - YARN 状态页面:http://<master-ip>:8088/ - 提交简单的 WordCount 测试程序以确认集群正常工作。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值