Mac 使用paralles 从零搭建hadoop集群

news2025/2/27 2:35:09

目录

1. 虚机的安装与配置

1.1 安装parallels

1.2 安装fedora系统

1.3 fedora的配置

1.3.1 内存和硬盘配置

1.3.2 网络配置

1.3.3 共享文件夹

1.4 虚拟机克隆 与 加载

2. 免密登录

2.1 分别查看master, slave01,slave02 的ip

2.2 查看各虚机的hostname

​编辑

 ​编辑

2.3 设置DNS,在3太机器的“/etc/hosts”文件中,均加入以下内容

2.4 ssh服务设置

3. Jdk 和 hadoop的安装和配置

4. hadoop集群验证

5. 参考链接

6. 可能出现的一些问题

6.1 jps comment not found

6.2 防火墙问题

6.2.1 fedora34 开启http server发现无法访问,需要关闭防火墙

6.2.2 hadoop fs -put 出错

6.3 Hadoop yarn nodemanager启动提示 Retrying connect to server: 0.0.0.0/0.0.0.0:8031.

6.3 虚拟内存不够

6.4 程序有问题

6.5 其它定位问题的方法:


1. 虚机的安装与配置

1.1 安装parallels

从官网下载parallels,安装。

关于parallels的一些设置,可以右键Dock栏的Parallels Desktop图标,选择偏好设置查看。

Parallels 的试用期是14天,怎样永久使用呢?

命令行开启虚拟机:prlctl start 'master'

命令行重启虚拟机:prlctl restart 'slave01'

参考链接:https://www.youtube.com/watch?v=ZsqlVbR5aBw

1.2 安装fedora系统

打开parallels,直接在引导页面下载 fedora系统(该系统下载时间会比较长)

1.3 fedora的配置

安装好fedora系统后,右键Dock栏的Parallels Desktop图标,点击“控制中心”,可以看到刚才下载的fedora系统。

点击fedora虚机,进行配置(注意:关机后,才可以更改虚拟机的各种配置)

 

 

1.3.1 内存和硬盘配置

虚拟机的内存和硬盘默认即可,后续可以随时动态调整

 

1.3.2 网络配置

网络选择默认的Shared Network

1.3.3 共享文件夹

开启文件夹共享(但仍需要配合Paralles Tools才能实现真正的文件夹共享)

 

此时,/media/psf/Home 下面就可以看到宿主机的文件了

1.4 虚拟机克隆 与 加载

参考链接:克隆虚拟机

(1) 在控制中心内,选择要克隆的虚拟机(必须处于关闭状态),然后依次选择 文件> 克隆

(2) 选择所需的克隆虚拟机存储位置。

默认情况下,Parallels Desktop 会将克隆的虚拟机存储在“文档”>“Parallels”文件夹中。

(3) 点击 保存 以开始克隆虚拟机。

加载刚刚保存的虚拟机

 

 

我构建的是一个master,两个slave。(master,slave是我自己修改的名字,可以在配置里修改)

2. 免密登录

2.1 分别查看master, slave01,slave02 的ip

Ifconfig

注:如果master,slave01,slave02 的ip是一样的,要重新修改一下ip

master

 

slave01

slave02

 

2.2 查看各虚机的hostname

 

 

  • 修改hostname的方法

如果hostname显示有误,以为master机器为例,可以通过

Vi ~/.bashrc 添加 hostname master

 

在vim中,保存退出,执行bash,观察当前机器的hostname已经修改。

2.3 设置DNS,在3太机器的“/etc/hosts”文件中,均加入以下内容

10.21.55.7 master

10.21.55.8 slave01

10.21.55.9 slave02

 

slave01 和 slave02 同样操作

2.4 ssh服务设置

ssh服务开启,参考链接:https://blog.csdn.net/rs_network/article/details/8043109

A.确认是否已安装ssh服务

]# rpm -qa | grep openssh-server

openssh-server-5.3p1-19.fc12.i686 (这行表示已安装)

若未安装ssh服务,可输入:

#yum install openssh-server

B. 启动SSH服务

# systemctl start sshd.service

或者 #service sshd start

也可以用 restart 和 stop控制sshd服务

C. 设置系统启动时开启服务

# systemctl enable sshd.service

D. 同样也需开启防火墙22端口

#iptables -A INPUT -p tcp --dport 22 -j ACCEPT

也可以将上述参数加入防火墙配置中:

#vi /etc/sysconfig/iptables

加入:-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

保存后重启iptables即可

在master,slave01 和 slave02 机器上,均进行如下操作即可

2.5 ssh免密登录设置

以master为例,执行 “ssh-keygen”命令,一路回车,得到

 

然后,通过ssh-copy-id的方式进行免密配置

ssh-copy-id ~/.ssh/id_rsa.pub master

ssh-copy-id ~/.ssh/id_rsa.pub slave01

ssh-copy-id ~/.ssh/id_rsa.pub slave02

在slave01,slave02 机器上重复如上操作

在master机器上验证:

ssh slave01

3. Jdk 和 hadoop的安装和配置

(1) 将hadoop,java安装包,放到共享目录下,拷贝到master机器上,然后再将安装包同步到slave01 和 slave02 上,保证这三个机器安装的内容是一致的。故仍以master为例

Sudo cp /media/psf/Home/hadoop-2.6.5.tar.gz /usr/local/src/

Sudo cp /media/psf/Home/jdk-8u172-linux-x64.tar.gz /usr/local/src/

将hadoop 和 java 拷贝到机器slave01上

Sudo scp -rp /usr/local/src/hadoop-2.6.5.tar.gz parallels@slave01:~/

Sudo cp ~/hadoop-2.6.5.tar.gz /usr/local/src/

Sudo scp -rp /usr/local/src/jdk-8u172-linux-x64.tar.gz parallels@slave01:~/

Sudo cp ~/jdk-8u172-linux-x64.tar.gz /usr/local/src/

同理,将hadoop 和 java 拷贝到机器slave02上

(2)安装java和hadoop,以master为例,slave01 和 slave02 参考master的方法

~/.bashrc 文件如下所示

 

(3)在"/usr/local/src/hadoop-2.6.5/etc/hadoop"目录中,开始hadoop的一系列配置

hadoop-env.sh 配置JAVA_HOME

 

yarn-env.sh 配置JAVA_HOME

修改slaves文件,里面写从节点hostname

 

core-site.xml 配置

<configuration>

<property>

<name>fs.defaultFS</name>

<value>hdfs://master:9000</value>

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>/usr/local/src/hadoop-2.6.5/tmp</value>

</property>

</configuration>

mapred-site.xml 配置

cp mapred-site.xml.template 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>master</value>

</property>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>

<value>org.apache.hadoop.mapred.ShuffleHandler</value>

</property>

<property>

<name>yarn.nodemanager.vmem-check-enabled</name>

<value>false</value>

</property>

<property>

<name>yarn.nodemanager.vmem-pmem-ratio</name>

<value>5</value>

</property>

<property>

<name>yarn.resourcemanager.address</name>

<value>master:8032</value>

</property>

<property>

<name>yarn.resourcemanager.scheduler.address</name>

<value>master:8030</value>

</property>

<property>

<name>yarn.resourcemanager.resource-tracker.adderess</name>

<value>master:8031</value>

</property>

<property>

<name>yarn.resourcemanager.admin.address</name>

<value>master:8033</value>

</property>

<property>

<name>yarn.resourcemanager.webapp.address</name>

<value>master:8088</value>

</property>

</configuration>

hdfs-site.xml 配置

 

<configuration>

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>master:9001</value>

</property>

<property>

<name>dfs.namenode.name.dir</name>

<value>file:/usr/local/src/hadoop-2.6.5/dfs/name</value>

</property>

<property>

<name>dfs.namenode.data.dir</name>

<value>file:/usr/local/src/hadoop-2.6.5/dfs/data</value>

</property>

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

</configuration>

在HADOOP_HOME(/usr/local/src/hadoop-2.6.5)下,创建3个空目录

mkdir tmp

mkdir -p dfs/name

mkdir -p dfs/data

配置已全部配好,然后将所有配置,同步到slave01,slave02(可以使用scp)

4. hadoop集群验证

进行hdfs集群格式化,中间会提示Y or N,这里直接Y回车就好

cd /usr/local/src/hadoop-2.6.5/bin

./hdfs namenode -format

启动集群

cd /usr/local/src/hadoop-2.6.5

./sbin/start-all.sh

 

在master上观察进程

在slave01上观察进行

同理,在slave02上观察进程

 

关闭集群

cd /usr/local/src/hadoop-2.6.5

./sbin/stop-all.sh

5. 参考链接

(1)https://zhuanlan.zhihu.com/p/507297549

(2)使用Paralles Desktop,在虚拟机环境中搭建hadoop集群(2主3从5节点)_山海王子的博客-CSDN博客_hadoop 二主三从

(3)http://www.sunnyos.com/article-show-78.html

6. 可能出现的一些问题

6.1 jps comment not found

(1) 查看是否安装java

java -version

若安装,则会看到java版本;若未安装,则安装

(2)若安装java,在~/.bash_profile 中加入jdk路径。

export PATH=$PATH:/usr/local/java/jdk1.8.0_172/bin/

source ~/.bash_profile

参考博客:解决jps command not found

6.2 防火墙问题

6.2.1 fedora34 开启http server发现无法访问,需要关闭防火墙

fedora34 关闭防火墙

临时停止防火墙

$ sudo systemctl stop firewalld

永久禁止防火墙

$ sudo systemctl disable firewalld

查看防火墙状态

$ systemctl status firewalld

参考链接:https://insidelinuxdev.net/article/a0bf3j.html

6.2.2 hadoop fs -put 出错

在master机器上执行 hadoop fs -put 出现如下错误

“put:call from master/192.168.44.128 to master:9000 failed on connection exception:java.net connect Exception 拒绝链接”

错误信息里面还给了一个链接 ConnectionRefused - HADOOP2 - Apache Software Foundation

在slave机器上执行hadoop fs -put 出现如下错误

“put:No route to host from slave/192.168.44.129 to master:9000 failed on socket timeout exception:java.net. NoRouteToHostException 没有到主机的路由”

错误信息里也给了一个链接NoRouteToHost - HADOOP2 - Apache Software Foundation

解决方法

关闭防火墙,重启。

Centos 7 关闭防火墙

  1. 开启命令: systemctl start firewalld.

  2. 临时关闭命令: systemctl stop firewalld.

  3. 永久关闭命令: systemctl disable firewalld.

也可试着使用 service iptables stop/start 关闭/打开防火墙

6.3 Hadoop yarn nodemanager启动提示 Retrying connect to server: 0.0.0.0/0.0.0.0:8031.

https://blog.csdn.net/cl723401/article/details/82949139

原因,是因为 nodemanager 找不到 resourcemanager

在yarn-site.xml中添加

<property>

<name>yarn.resourcemanager.hostname</name>

<value>master</value>

</property>

6.3 虚拟内存不够

参考链接

https://blog.csdn.net/ztx22555/article/details/125918895

关于Hadoop集群物理及虚拟内存的检测的设置说明_7&的博客-CSDN博客

6.4 程序有问题

Error: java.lang.RuntimeException: PipeMapRed.waitOutputThreads(): subprocess failed with code 1

Running a job using hadoop streaming and mrjob: PipeMapRed.waitOutputThreads(): subprocess failed wi

https://stackoverflow.com/questions/17037300/running-a-job-using-hadoop-streaming-and-mrjob-pipemapred-waitoutputthreads

6.5 其它定位问题的方法:

(1)注意看log

(2)根据log,看可能有哪些问题。比如 log中显示slave 找不到resourcemanager,而resourcemanager是在master上的一个服务,所以,就需要查看,master上相应的服务是否开启等。

比如可以使用netstat 查看一下网络的状态,具体用法详见:Linux netstat命令 | 菜鸟教程

使用 netstat -tunlp 得到如下结果

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/39346.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于mpy电压采集模块的那些事儿(ads1256 ads8688 ad7606)

先来个人生碎碎念&#xff0c;越狱第三次失败了&#xff0c;而且第四次也可能失败&#xff0c;没错就是这么尴尬&#xff0c;绝对越狱的事件还有917天&#xff0c;其实比较麻木了&#xff0c;越狱成功与否都无所谓了&#xff0c;其实现在出去&#xff0c;外头的疫情&#xff0c…

【学生网页设计作业源码】基于HTML+CSS+JavaScript简单的大学生书店(13个页面) 二手书店电子商务网站模板源码

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

常见的数据结构基本介绍

文章目录常见的数据结构介绍栈和队列的介绍数组数据结构链表数据结构二叉树和二叉查找树平衡二叉树红黑树结构常见的数据结构介绍 数据结构是计算机底层存储、组织数据的方式。是指数据相互之间是以什么方式排列在一起的。 通常情况下&#xff0c;精心选择的数据结构可以带来更…

应用ceph文件系统存储(ceph-13.2.10)

记录&#xff1a;333 场景&#xff1a;在CentOS 7.9操作系统上&#xff0c;部署ceph-13.2.10集群。应用ceph文件系统(ceph file system)&#xff1b;主要是创建ceph文件系统、客户端挂载ceph文件系统等操作。 版本&#xff1a; 操作系统&#xff1a;CentOS 7.9 ceph版本&am…

JS获取音频的总时长,解决audio.duration 为 NaN || Infinity 问题

目录一、需求分析二、发现问题1.使用浏览器内置播放器<audio>无法显示时长2.获取总时长为 NaN || Infinity三、疑惑点四、解决方案一、需求分析 后端的接口中包含音频链接&#xff0c;前端需要自定义一个播放器播放音频。 二、发现问题 1.使用浏览器内置播放器<audi…

JPA 中使用 @OneToMany 、@ManyToOne 等关系映射注解

JPA 做 ORM(Object Relational Mapping&#xff0c;对象关系映射)时&#xff0c;为了开发效率&#xff0c;通常会在实体类上用 hibernate 的关系关联注解。 包括&#xff1a;OneToOne、 OneToMany 、ManyToOne 、ManyToMany 、JoinTable、以及 JoinColumn 以及 OrderBy&#xf…

汽车Automotive > SOME/IP应用学习

目录 SOME/IP介绍 SOME/IP主要功能 SOME/IP协议 SOME/IP服务类型 SOME/IP-举例 SOME/IP各模块协议 SOME/IP-基础元件 SOME/IP-SoAD SOME/IP-SD协议 SOME/IP-SD举例 SOME/IP-TP协议 SOME/IP-TP举例 SOME/IP介绍 SOME/IP ( Scalable service-Oriented Middleware ove…

面向大规模队列,百万并发的多优先级消费系统设计

大规模队列的核心诉求&#xff0c;不仅需要「快」&#xff0c;还需要兼顾「公平」。01 引言 HTTP是一种常用的通信协议&#xff0c;除了常见网站访问、上传下载&#xff0c;HTTP协议还经常被用在消息推送场景上。 设想你搭建了一个电商平台&#xff0c;有很多大型商家入驻了该…

Kotlin协程Flow浅析

Kotlin协程中的Flow主要用于处理复杂的异步数据&#xff0c;以一种”流“的方式&#xff0c;从上到下依次处理&#xff0c;和RxJava的处理方式类型&#xff0c;但是比后者更加强大。 Flow基本概念 Flow中基本上有三个概念&#xff0c;即 发送方&#xff0c;处理中间层&#x…

HTML+CSS大作业 (水果之家10个网页)

&#x1f380; 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

数字验证学习笔记——SystemVerilog芯片验证11 ——类的继承

一、类和继承 类的第二核心要素&#xff0c;即类的“继承”&#xff0c;继承也符合我们认识实际的观点&#xff0c;在自然界和科学界我们对世界的认识无外乎归纳法和演绎法。 归纳论证是一种由个别到一般的论证方法。它通过许多个别的事例或分论点&#xff0c;然后归纳出它们所…

17、Mybatis获取参数值的情况3(若mapper接口方法的参数为多个时,可以手动将这些参数放入map中存储)

Mybatis获取参数值的情况3&#xff08;若mapper接口方法的参数为多个时&#xff0c;可以手动将这些参数放入map中存储&#xff09; 第一步&#xff1a; 第二步&#xff1a; 第三步&#xff1a;

Linux系统tcp连接设置

目录net.ipv4.tcp_syn_retriesnet.ipv4.ip_local_port_rangenet.ipv4.tcp_net.core.somaxconnnet.ipv4.tcp_max_syn_backlognet.core.netdev_max_backlognet.ipv4.tcp_synack_retriesnet.ipv4.tcp_abort_on_overflownet.ipv4.tcp_syncookiesnet.ipv4.tcp_fastopennet.ipv4.tcp_…

兆易创新GD32 (四)FreeRTOS 移植 与 CMSIS OS2

可以完全参考STM32系列的方法 FreeRTOS 逛网下载 FreeRTOS源码 https://www.freertos.org/a00104.html GitHub地址 https://github.com/FreeRTOS/FreeRTOS-Kernel 下载后的FreeRTOS-Kernel复制到LIB文件夹下 在KEIL中添加文件&#xff0c;首先是公共部分 添加MDK移植文件CM4F…

含抽水蓄能电站系统的调峰经济调度研究matlab程序(粒子群算法)

含抽水蓄能电站系统的调峰经济调度研究matlab程序&#xff08;粒子群算法&#xff09; 参考文献&#xff1a;抽水蓄能电站的最佳调度方案研究 调峰电源的优化调度是促进电力系统安全稳定运行&#xff0c;实现可靠供电的要措施。因为目前我国的调峰电源严重不足&#xff0c;尤其…

【畅购商城】订单模块之收货人列表

目录 构建订单服务&#xff1a;8100 收货人列表 接口 后端实现&#xff1a;JavaBean 后端实现 前端实现 构建订单服务&#xff1a;8100 步骤一&#xff1a;构建项目&#xff0c;changgou4-service-orders 步骤二&#xff1a;修改pom.xml文件&#xff0c;添加依赖 <de…

Spring核心与设计思想

文章目录Spring 是什么&#xff1f;什么是容器&#xff1f;什么是IoC&#xff1f;传统程序开发控制反转式程序开发对比总结规律理解 Spring IoCDI 概念Spring 是什么&#xff1f; 我们通常所说的 Spring 指的是 Spring Framework&#xff08;Spring 框架&#xff09;&#xff…

ignite集群

ignite集群 基础知识 集群中的结点 Ignite 是一个分布式系统&#xff0c;集群是标配功能。 集群中的 节点&#xff0c;有两类&#xff1a; 服务器结点。具备完全功能的结点。 客户端结点&#xff1a;这个我没有完全理解&#xff0c;但从编程的角度&#xff0c;我初步认为这个…

Jenkins-CentOS安装jenkins

CentOS安装jenkins jenkins适配的jdk版本是17和11 第一步&#xff1a;安装jdk11 &#xff08;1&#xff09;在oracle下载jdk11 jdk-11.0.16.1_linux-x64_bin.tar,放到非root用户的家目录下 &#xff08;2&#xff09;解压&#xff0c;tar -zxvf jdk-11.0.16.1_linux-x64_bin…

校园论坛设计(Java)——介绍篇

校园论坛设计&#xff08;Java&#xff09; 文章目录校园论坛设计&#xff08;Java&#xff09;0、写在前面1、项目介绍2、项目背景3、项目功能介绍3.1 总体设计图3.2 帖子模块3.3 学习模块3.4 个人信息模块3.5 数据报表模块3.6 校园周边模块3.7 用户管理模块3.8 登录注册模块4…