vmWare虚拟环境centos7安装Hadoop 伪分布式实践

背景:近期在研发大数据中台,需要研究Hadoop hive 的各种特性,需要搭建一个Hadoop的虚拟环境,本来想着使用dock ,但突然发现docker 公共仓库的镜像 被XX 了,无奈重新使用vm 搭建虚拟机。
大概经历了6个小时完成hadoop 3.3.6 环境的搭建,分享步骤给大家,需要搭建好的虚拟机镜像私信联系,提供百度网盘下载链接。(需要请一杯奶茶)。
在这里插入图片描述

操作系统版本:centos 7

本次实践实践2024年,未来2年内有效。

一、准备工作:

1、安装vmware

vmware 已经免费,个人在官方下载自行安装即可。

2、centos配置固定IP

首先找到/etc/sysconfig/network-scripts/下的ifcfg-ens33配置文件

vi /etc/sysconfig/network-scripts/ifcfg-ens33

把 BOOTPROTO = “dhcp” 改成 BOOTPROTO = “static” 表示静态获取,然后把 UUID 注释掉,把 ONBOOT 改为 yes,表示开机自动静态获取,然后在最后追加比如下面的配置:

IPADDR=192.168.226.129  #自己的ip地址
NETMASK=255.255.255.0
GATEWAY=192.168.226.2
DNS1=8.8.8.8

重启网络服务

centos6的网卡重启方法:service network restart
centos7的网卡重启方法:systemctl restart network

关闭防火墙

查看防火墙状态: systemctl status firewalld.service

执行关闭命令: systemctl stop firewalld.service

执行开机禁用防火墙自启命令 : systemctl disable firewalld.service

修改主机名(永久更改)

方法一:

可以通过命令 hostnamectl set-hostname “主机名” 来永久修改主机名

[root@hadoop ~]# hostnamectl set-hostname hadoop 

方法二:

使用 vi 编辑器打开 /etc/ hostname 文件

vi /etc/hostname

删除文件中原有内容,添加主机名:hadoop,保存退出

修改IP映射

使用 vi 编辑器打开 /etc/hosts 文件 ok

vi /etc/hosts/

在文件尾部添加内容,格式:IP地址 主机名(中间用空格分隔),保存退出,,例如:

192.168.226.129 hadoop

设置完成后,重启网路服务: systemctl restart network

使用 ping 命令 ping 一下主机名,如果可以ping 通,表示设置成功。

配置免密登录

  1. 本地机器生成公私钥
  2. 上传公钥到目标机器
  3. 测试免密登录

在本地机器用 ssh-keygen 生成一个公私钥对进入. ssh 目录 cd .ssh
发起公钥请求

 ssh-keygen -t rsa

在. ssh // 目录下,会新生成两个文件:id_rsa.pub 和 id_rsa

上传公钥到目标机器

ssh-copy-id root@192.168.226.129

测试免密登录

ssh  hadoop/

二、Hadoop3.3.6 伪分布安装步骤

1、 安裝JDK

centos 本身自帶java ,仅仅是jre需要自己下载jdk 安装包,自己安装替换。

下载jdk 到服务器

推荐使用wget 下载命令,或者你下载到你的电脑,然后通过ftp 工具上传到对应服务器。
推荐使用国内的镜像下载网站,我这里使用了

https://repo.huaweicloud.com/java/jdk/8u192-b12/

自己选择一个版本

在这里插入图片描述

解压安裝jdk

tar -zxf jdk-8u212-linux-x64.tar.gz -C /usr/local/
mv /usr/local/jdk1.8.0_212/ /usr/local/java

配置 java 环境变量/etc/profile

vim /etc/profile

文件末尾添加

export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

刷新配置文件

source /etc/profile

校验Java 安装是否成功

java -version

2、hadoop 3.3.6 安装

下载Hadoop 安装包

推荐国内镜像https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/

选择Hadoop 版本,wget下载到服务器

-rw-r--r--. 1 root root  730107476 Jun 25  2023 hadoop-3.3.6.tar.gz
-rw-r--r--. 1 root root  191757099 Oct  8  2018 jdk-8u192-linux-x64.tar.gz
-rw-r--r--. 1 root root  820043264 Jul  6  2022 mysql-8.0.30-el7-x86_64.tar
-rw-r--r--. 1 7161 31415 492490461 Jul  6  2022 mysql-8.0.30-el7-x86_64.tar.gz
-rw-r--r--. 1 7161 31415  22006040 Jul  6  2022 mysql-router-8.0.30-el7-x86_64.tar.gz
-rw-r--r--. 1 7161 31415 305543348 Jul  6  2022 mysql-test-8.0.30-el7-x86_64.tar.gz

解压

sudo tar -zxf hadoop-3.3.6.tar.gz -C /usr/local/
sudo mv /usr/local/hadoop-3.3.6/ /usr/local/hadoop

3.修改环境变量

sudo gedit /etc/profile

文件末尾添加:

export PATH=$JAVA_HOME/bin:$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin

source /etc/profile

修改 hadoop 配置文件

配置core-site.xml
vim /usr/local/hadoop/etc/hadoop/core-site.xml
<configuration>
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://hadoop:9000</value>
	</property>
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/home/huangqifa/data/hadoop/tmp</value>
	</property>
</configuration>

配置hdfs-site.xml

vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml
<configuration>
	<property>
		<name>dfs.replication</name>
		<value>1</value>
	</property>
	<property>
		<name>dfs.namenode.name.dir</name>
		<value>/home/huangqifa/data/hadoop/namenode</value>
	</property>
	<property>
		<name>dfs.datanode.data.dir</name>
		<value>/home/huangqifa/data/hadoop/datanode</value>
	</property>
</configuration>

配置hadoop-env.sh

vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh
#文档末尾添加
export JAVA_HOME=/usr/local/java

启动hadoop

格式化 namenode

hadoop namenode -format  

3、启动集群

sh /usr/local/hadoop/sbin/start-all.sh   

启动 namenode 和 datanode

hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode

4、 查看服务

jps

在这里插入图片描述

5、验证文件存储

存储文件

[root@hadoop /]# cd data/
[root@hadoop data]# ls
[root@hadoop data]# touch demo.txt
[root@hadoop data]# ls
demo.txt
[root@hadoop data]# vim demo.txt 
[root@hadoop data]# ls
demo.txt
[root@hadoop data]# hdfs dfs -put demo.txt /user
[root@hadoop data]# hdfs dfs -ls /
Found 1 items
drwxr-xr-x   - root supergroup          0 2024-11-17 03:33 /user
[root@hadoop data]# hdfs dfs -ls /user
Found 1 items
-rw-r--r--   1 root supergroup         12 2024-11-17 03:33 /user/demo.txt

hdfs dfs -put demo.txt /user

查看文件

hdfs dfs -ls /user

6、浏览器查看Hadoop

http://192.168.226.129:9870/dfshealth.html#tab-datanode

在这里插入图片描述

参考资料:https://blog.youkuaiyun.com/qq_52584391/article/details/127450206

### 配置Hadoop伪分布式环境 在CentOS 6上配置Hadoop伪分布式环境涉及几个关键步骤,包括SSH密钥生成、Hadoop安装以及核心文件的修改。以下是详细的说明: #### SSH无密码登录设置 为了实现节点间的通信,在Hadoop环境中通常会启用SSH无密码登录功能。通过创建SSH密钥对来完成这一操作。 ```bash [hadoop@master ~]$ cd ~/.ssh [hadoop@master .ssh]$ ls -l 总用量 20 -rw-------. 1 hadoop hadoop 1675 7月 29 13:44 id_rsa -rw-r--r--. 1 hadoop hadoop 395 7月 29 13:44 id_rsa.pub -rw-r--r--. 1 hadoop hadoop 391 7月 29 13:36 known_hosts ``` 上述命令展示了`.ssh`目录下的私钥(`id_rsa`)和公钥(`id_rsa.pub`)文件[^1]。如果这些文件不存在,则需要运行以下命令生成它们: ```bash ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 0600 ~/.ssh/authorized_keys ``` 完成后测试本地主机是否可以免密码访问自己: ```bash ssh localhost ``` 如果没有提示输入密码即表示成功。 #### 安装Hadoop并调整配置文件 下载适合版本的Hadoop二进制包,并解压到指定位置。由于提到的是CentOS 6平台,建议选择稳定版而非RPM格式以减少依赖冲突风险[^2]。 编辑以下几个主要配置文件位于`$HADOOP_HOME/etc/hadoop/`路径下: ##### core-site.xml 定义HDFS默认FS URI和其他全局参数。 ```xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> ``` ##### hdfs-site.xml 设定副本数量及其他存储选项。 ```xml <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration> ``` ##### mapred-site.xml 切换至YARN作为MapReduce执行框架。 ```xml <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> ``` ##### yarn-site.xml 配置ResourceManager地址以及其他YARN相关属性。 ```xml <configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration> ``` 最后启动服务前初始化NameNode元数据: ```bash $hadoop namenode -format ``` 依次开启各组件的服务进程: ```bash start-dfs.sh start-yarn.sh ``` 验证集群状态可用JPS工具检查各个守护线程是否存在。 --- ### 注意事项 Apache Hadoop是一个强大的开源项目,专为大规模数据集提供可靠的分布式存储与高效并行计算能力[^3]。然而实际部署过程中可能遇到兼容性问题特别是较老的操作系统像CentOS 6时更需谨慎对待每一个细节[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值