Hadoop伪分布式在Linux上的搭建教程
目录
前言
本篇博客主要讲解如何在Linux虚拟机上搭建Hadoop的伪分布式
如果您是Linux小白,请先阅读
Hadoop配置教程的前期准备-CSDN博客,如果您有一定Linux基础可以在命令报错后自行解决,那么您可以直接阅读本教程。
前期工具准备
VMware版本可以任意选择,其他资源版本建议保持一致或相近
VMware:VMware Workstation Pro v16.1.2(版本可以任意)
Ubuntu:ubuntu-22.04.4-desktop-amd64.iso
JDK:jdk-8u171-linux-x64.tar.gz
Hadoop:hadoop-3.4.0.tar.gz
jdk:Index of java-local/jdk/8u171-b11
Hadoop:Index of /apache/hadoop/common/hadoop-3.4.0
一、JDK、Hadoop的安装
新手建议直接在root用户下进行安装,可以省去很多权限不足的问题。
njh@hadoop-1:~$ sudo su #进入root用户
[sudo] njh 的密码: #输入密码
root@hadoop-1:/home/njh#
1.1下载JDK压缩包
wget https://repo.huaweicloud.com/java/jdk/8u171-b11/jdk-8u171-linux-x64.tar.gz
mkdir /app #在根目录下新建app文件
tar -zxvf jdk-8u171-linux-x64.tar.gz -C /app #将jdk解压到app文件中
1.3.下载Hadoop压缩包
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.4.0/hadoop-3.4.0.tar.gz
1.4解压Hadoop
tar -zxvf hadoop-3.4.0/hadoop-3.4.0.tar.gz -C /app
1.5检查解压后的JDK、Hadoop
ls /app
“有时第一次解压会失败,在/app目录下查看不到解压后的文件,这时重新解压即可”
二、JDK配置
2.1配置环境变量
在下载和解压完JDK后,我们需要在/etc/profile文件中添加jdk的环境变量
vim /etc/profile
在文件末尾添加以下内容:
JAVA_HOME=/app/jdk1.8.0_171
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
2.2.使配置文件生效
source /etc/profile
2.3查看Java版本
成功配置JDK后,查看java版本会出现以下信息:
root@hadoop-1:/home/njh# java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
三、Hadoop配置文件
需要修改的配置文件有:
hadoop-env.sh
yarn-env.sh
core-site.xml
hdfs-site.xml
yarn-site.xml
mapred-site.xml
首先进入Hadoop安装路径下的/etc/hadoop-3.4.0/etc/hadoop目录下,然后依次编辑上述文件。
cd /app/hadoop-3.4.0/etc/hadoop
3.1编辑hadoop-env.sh
在hadoop-env.sh文件中添加以下代码:
# The java implementation to use.
#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/app/jdk1.8.0_171
3.2编辑yarn-env.sh
在yarn-env.sh文件中添加以下代码:
export JAVA_HOME=/app/jdk1.8.0_171
3.3编辑core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
<description>HDFS的URI,文件系统://namenode标识:端口号</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop/tmp</value>
<description>namenode上本地的hadoop临时文件夹</description>
</property>
</configuration>
3.4编辑hdfs-site.xml
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/usr/hadoop/hdfs/name</value>
<description>namenode上存储hdfs名字空间元数据 </description>
</property>
<property>
<name>dfs.data.dir</name>
<value>/usr/hadoop/hdfs/data</value>
<description>datanode上数据块的物理存储位置</description>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>localhost:9870</value>
</property>
</configuration>
3.5编辑yarn-site.xml
这里的192.168.147.101要填你虚拟机自己的IP地址
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>192.168.147.101:8099</value>
<description>这个地址是mr管理界面的</description>
</property>
</configuration>
3.6编辑mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
3.7配置环境变量
在配置环境变量之前,由于我们在配置文件中用到了一些没有创建的文件夹路径,所以我们先来创建文件夹
mkdir -p /usr/hadoop/tmp
mkdir /usr/hadoop/hdfs
mkdir /usr/hadoop/hdfs/data
mkdir /usr/hadoop/hdfs/name
将Hadoop添加到/etc/profile环境变量中
vim /etc/profile
export HADOOP_HOME=/app/hadoop-3.4.0
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
3.8使文件生效
source /etc/profile
四、修改hadoop启动、停止文件
首先进入Hadoop的sbin目录下
cd /app/hadoop-3.4.0/sbin
在start-dfs.sh,stop-dfs.sh两个文件顶部添加以下参数:
#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
在start-yarn.sh,stop-yarn.sh顶部添加以下参数:
#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
五、启动hadoop
5.1hadoop格式化
首次启动需要对hadoop进行格式化(以后启动都不再需要),输入命令:
hadoop namenode -format
格式化完成以后,输入命令start-all.sh来启动hadoop的各个节点
start-all.sh
最后输入命令 jps 验证,出现以下界面代表启动成功:
或者也可以登陆localhost:9870查看网页端,能够访问表示hadoop启动成功
六、总结
以上就是本文要讲的内容,主要涉及JDK、Hadoop的安装和配置,感谢您的阅读!
需要注意的几点:
1.source /etc/profile使文件生效每次关闭虚拟机重启后都需要使文件生效一次,因为这里的配置文件是临时生效并不是永久生效,如果想要永久配置环境变量,需要在~/.bashrc中添加环境变量
2.hadoop namenode -format只需首次启动时进行格式化,如果多次格式化可能导致namenode或datanode启动失败,这是由于多次格式化以后两者的CLUSTID不一致导致的。如果出现这样的问题,有两种解决方法:
(1)删除namenode、datanode和tmp存储的文件,新建它们并重新格式化。
(2)查看/usr/hadoop/hdfs下的data和name文件,将手动两者文件中的VERSION文件中的CLUSTERID改成一样的,然后重启hadoop。
标签:xml,教程,app,hadoop,yarn,Hadoop,sh,分布式 From: https://blog.csdn.net/n04j04h06/article/details/143833569