使用Paralles Desktop,在虚拟机环境中搭建hadoop集群(2主3从5节点)

准备工作

虚拟机:Paralles Desktop 14 for Mac Business Edition
Linux系统:CentOS-7-x86_64-Minimal-1908.iso官方镜像
JDK:jdk-8u241-linux-x64.tar.gz
Hadoop:hadoop-2.10.0.tar.gz
Zookeeper:apache-zookeeper-3.6.0-bin.tar.gz

第一步、准备虚拟机环境

	1、虚拟机系统建议一个一个安装,我的电脑是8核、64G内存,同时安装3个Centos系统风扇就转很快了,效率也没有提高多少,安装一个虚拟系统也只需要2分钟。
	2、虚拟机的内存和硬盘默认即可,后续可以随时动态调整。

在这里插入图片描述
3、网络选择默认的Shared Network,开启文件夹共享(但仍需要配合Paralles Tools才能实现真正的文件夹共享)
在这里插入图片描述
4、注意在安装系统界面,选择配置网络----打开网络。避免安装完系统后再手动配置网络。
5、我创建的用户账户为 hadoop:hadoop,所有的操作,除非必要,会使用root账户,其他操作都尽可能使用hadoop账户。
6、进入系统后,首先安装Paralles Tools,可以实现宿主机和虚拟机之间的文件共享。安装Paralles Tools实际上是为Centos系统挂载了一个cdrom。

cd /media
mkdir cdrom
mount -o exec /dev/cdrom /media/cdrom
cd /media/cdrom
./install

然后就可以在/media/psf下看到宿主机的Home目录(这里的Home目录是我之前配置的)
6、关闭防火墙
6.1、修改/etc/selinux/config,SELINUX=enforcing
6.2、systemctl disable firewalld.service #禁用
7、安装常用的软件,如vim之类的
8、修改配色,由于Centos中文件夹是蓝色,在黑色背景下很难看清楚,可以修改/etc/DIR_COLORS文件,找到DIR 01;35,将35改为32,这里32代表绿色,默认35代表蓝色。

第二步、配置ssh免密登陆

	当5台虚拟机都初步安装完成后,开始配置ssh免密登陆,然后就可以在宿主机使用iterm2终端来操作了,会极大提升我们的效率。
	1、每台机器分别生成ssh密钥
	ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
	cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
	chmod 600 ~/.ssh/authorized_keys
	ssh localhost

	2、在每台机器分别将自己的公钥cat到其他机器的authorized_keys中
	首先将宿主机的公钥添加到各个虚拟机中,然后各个虚拟机再添加其他机器的公钥,这样就能实现宿主机与虚拟机、虚拟机之间的免密登陆。
	cat ~/.ssh/id_rsa.pub | ssh hadoop@hdp-master1 'cat >> .ssh/authorized_keys && echo "Key copied"'
	cat ~/.ssh/id_rsa.pub | ssh hadoop@hdp-master2 'cat >> .ssh/authorized_keys && echo "Key copied"'
	cat ~/.ssh/id_rsa.pub | ssh hadoop@hdp-slave1 'cat >> .ssh/authorized_keys && echo "Key copied"'
	cat ~/.ssh/id_rsa.pub | ssh hadoop@hdp-slave2 'cat >> .ssh/authorized_keys && echo "Key copied"'
	cat ~/.ssh/id_rsa.pub | ssh hadoop@hdp-slave3 'cat >> .ssh/authorized_keys && echo "Key copied"'

第三步、安装jdk、hadoop、zookeeper

	这里就直接放一段脚本。
#!/bin/bash
cp /media/psf/Home/Downloads/hadoop-2.10.0.tar.gz /usr/local/src
cp /media/psf/Home/Downloads/jdk-8u241-linux-x64.tar.gz /usr/local/src
cp /media/psf/Home/Downloads/apache-zookeeper-3.6.0-bin.tar.gz /usr/local/src
cd /usr/local/src
tar zxf jdk-8u241-linux-x64.tar.gz
tar zxf hadoop-2.10.0.tar.gz
tar zxf apache-zookeeper-3.6.0-bin.tar.gz
mv apache-zookeeper-3.6.0-bin zookeeper-3.6.0

echo -e  "\n\n\n\n" >> /etc/profile
cat >> /etc/profile << EOF
export JAVA_HOME=/usr/local/src/jdk1.8.0_241
export HADOOP_HOME=/usr/local/src/hadoop-2.10.0
EOF
echo 'export PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin' >> /etc/profile
echo 'export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib' >> /etc/profile

source /etc/profile

有可能需要执行完脚本后再执行一次source /etc/profile

1、修改hadoop配置(/usr/local/src/hadoop-2.10.0/etc/hadoop)
core-site.xml

<configuration>
        <property>
                <name>fs.defaultFS</name
<think>嗯,用户想在Mac上使用Termius搭建Hadoop,我需要根据提供的引用资料来整理步骤。首先,用户提到之前尝试过VMware Fusion和Paralles但遇到问题,转用Docker,但现在可能还是想用虚拟机方法。不过引用3说M1 Mac可能无法使用这些虚拟机,所以可能需要考虑ARM架构的Linux系统,或者Docker方案。但用户明确提到Termius,所以可能还是倾向于虚拟机步骤。 引用1里提到安装VMware Fusion和Termius,然后在CentOS 7中配置Hadoop。用户需要的是教程步骤。首先需要安装虚拟机软件,比如VMware Fusion,但M1可能不支持,所以可能需要用UTM或者其他支持ARM的虚拟化工具。但引用3中提到用户无法使用VMware Fusion,所以可能需要调整步骤,建议使用Docker,但用户可能还是想用虚拟机。 可能用户使用的是Intel Mac,所以可以继续VMware步骤。按照引用1的步骤,安装CentOS 7虚拟机,配置网络,复制多个虚拟机作为集群节点。然后使用Termius连接这些虚拟机。配置SSH免密登录,时间同步,Hadoop的配置文件如core-site.xml、hdfs-site.xml等,设置环境变量,最后启动集群。 引用4提到了在/etc/profile.d/my_env.sh中添加Hadoop环境变量,这需要包括HADOOP_HOME和PATH。同时需要配置hadoop-env.sh和yarn-env.sh中的JAVA_HOME路径,确保Java环境正确。 可能的问题包括网络配置,比如nat.conf中的设置(引用2),确保虚拟机的网络互通。SSH免密登录需要生成密钥并分发到各个节点,避免每次手动输入密码。时间同步服务如ntpd或chrony需要配置,保证集群时间一致。 最后,启动Hadoop集群可能需要格式化HDFS,然后使用start-dfs.sh和start-yarn.sh,或者通过一键启动脚本。用户可能遇到的问题包括权限问题、端口冲突、防火墙设置等,需要检查这些方面。 总结步骤:安装虚拟机软件,创建多个CentOS虚拟机,配置网络和机名,安装Java和Hadoop,配置SSH免密登录,修改Hadoop配置文件,设置环境变量,启动集群使用Termius管理SSH连接。</think>### 在Mac上使用Termius搭建Hadoop集群教程 #### 一、环境准备 1. **安装虚拟化工具** - 若使用Intel芯片Mac,可安装$VMware\ Fusion$创建虚拟机[^3]; - 若为M1/M2芯片,建议使用$UTM$或$Docker$(需选择支持ARM架构的Linux镜像)[^3]。 - 示例:通过VMware Fusion安装CentOS 7,需注意网络配置(如`nat.conf`中的子网设置)[^2]。 2. **配置虚拟机集群** - 创建3台CentOS虚拟机(例如:`master`, `s1`, `s2`),分别配置独立IP和机名[^1]。 - 确保虚拟机间网络互通,可通过`ping`命令验证。 3. **安装Termius客户端** - 在Mac上下载Termius,添加3虚拟机的SSH连接配置(IP、端口、用户名/密码)[^1]。 #### 二、基础配置 1. **SSH免密登录** - 在`master`节点生成密钥:`ssh-keygen -t rsa` - 将公钥分发到所有节点: ```bash ssh-copy-id master ssh-copy-id s1 ssh-copy-id s2 ``` 2. **时间同步** 所有节点安装并启动时间同步服务: ```bash sudo yum install -y ntp sudo systemctl start ntpd ``` #### 三、Hadoop安装与配置 1. **安装Java与Hadoop** - 在所有节点安装JDK 8+,并配置`JAVA_HOME`环境变量。 - 下载Hadoop 3.x,解压到`/opt/module/`目录[^4]。 2. **修改环境变量** 编辑`/etc/profile.d/my_env.sh`,添加以下内容: ```bash export HADOOP_HOME=/opt/module/hadoop-3.1.3 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin ``` 执行`source /etc/profile`生效[^4]。 3. **配置Hadoop核心文件** - **`core-site.xml`**:设置HDFS地址与临时目录 ```xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/opt/data/hadoop-tmp</value> </property> </configuration> ``` - **`hdfs-site.xml`**:配置副本数与数据目录 - **`yarn-site.xml`**:指定ResourceManager地址 - **`workers`**:添加子节点机名`s1`和`s2`。 #### 四、启动集群 1. **格式化HDFS**(仅在首次启动时执行) ```bash hdfs namenode -format ``` 2. **一键启动服务** ```bash start-dfs.sh && start-yarn.sh ``` 3. **验证集群状态** - 访问`http://master:9870`查看HDFS - 访问`http://master:8088`查看YARN #### 五、Termius使用技巧 - 通过**标签分组**管理多个节点连接 - 使用**SFTP功能**上传配置文件(如`hadoop-env.sh`) - 开启**多会话窗口**同时操作所有节点
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值