背景:近期在研发大数据中台,需要研究Hadoop hive 的各种特性,需要搭建一个Hadoop的虚拟环境,本来想着使用dock ,但突然发现docker 公共仓库的镜像 被XX 了,无奈重新使用vm 搭建虚拟机。
大概经历了6个小时完成hadoop 3.3.6 环境的搭建,分享步骤给大家,需要搭建好的虚拟机镜像私信联系,提供百度网盘下载链接。(需要请一杯奶茶)。
操作系统版本:centos 7
本次实践实践2024年,未来2年内有效。
目录
- 一、准备工作:
- 1、安装vmware
- 2、centos配置固定IP
- 重启网络服务
- 关闭防火墙
- 修改主机名(永久更改)
- 修改IP映射
- 配置免密登录
- 二、Hadoop3.3.6 伪分布安装步骤
- 1、 安裝JDK
- 下载jdk 到服务器
- 解压安裝jdk
- 配置 java 环境变量/etc/profile
- 2、hadoop 3.3.6 安装
- 修改 hadoop 配置文件
- 配置core-site.xml
- 配置hdfs-site.xml
- 配置hadoop-env.sh
- 启动hadoop
- 格式化 namenode
- 3、启动集群
- 启动 namenode 和 datanode
- 4、 查看服务
- 5、验证文件存储
- 存储文件
- 查看文件
- 6、浏览器查看Hadoop
一、准备工作:
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 文件
vi /etc/hosts
在文件尾部添加内容,格式:IP地址 主机名(中间用空格分隔),保存退出,,例如:
192.168.226.129 hadoop
设置完成后,重启网路服务: systemctl restart network
使用 ping 命令 ping 一下主机名,如果可以ping 通,表示设置成功。
配置免密登录
- 本地机器生成公私钥
- 上传公钥到目标机器
- 测试免密登录
在本地机器用 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.csdn.net/qq_52584391/article/details/127450206