Hadoop伪分布式搭建

版本

本教程基于hadoop 2.7.7、java 1.8、CentOS 8.3

基本配置顺序相同,有区别处会标明

使用此教程之前确保虚拟机安装完毕,并且可以连接Xshell

1. 基础配置

关闭防火墙

systemctl stop firewalld

禁止防火墙开机自启

systemctl disable firewalld.service

更改时区

timedatectl set-timezone Asia/Shanghai

安装vim

yum install vim

2. 安装jdk

进入安装包目录

cd /usr/local/software/

解压jdk压缩包

tar -xzf jdk-8u202-linux-x64.tar.gz
// 或者
tar -xzvf jdk-8u202-linux-x64.tar.gz

注:参数也可添加v两者的区别是v参数可以查看解压过程信息

重命名,并将文件夹放入/usr/local下

mv jdk1.8.0_202/ /usr/local/jdk

配置系统环境变量

vim /etc/profile

添加

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

使配置生效

source /etc/profile

查看java版本

java -version

3. SSH

首先配置hosts文件注:把ip修改为自己的ip

vim /etc/hosts
192.168.43.24 master

设置本地ssh

ssh master

cd ~/.ssh
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

设置后测试

ssh master

4. Hadoop安装

进入安装包目录

cd /usr/local/sortware/

解压hadoop压缩包

tar -zxf hadoop-2.7.7.tar.gz

重命名并改变位置

mv hadoop-2.7.7 /usr/local/hadoop

查看hadoop版本信息

cd /usr/local/hadoop
./bin/hadoop version

配置系统环境变量

vim /etc/profile

添加

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

使配置生效

source /etc/profile

5. Hadoop配置

编辑hadoop-env.sh环境配置文件,找到export JAVA_HOME=${JAVA_HOME},将该语句修改为

cd /usr/local/hadoop/etc/hadoop
vim hadoop-env.sh

export JAVA_HOME=/usr/local/jdk

编辑 core-site.xml

vim core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>

<property>
<name>hadoop.tmp.dir</name>
<value>/root/hadoopData/tmp</value>
</property>

编辑 hdfs-site.xml

vim hdfs-site.xml
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/root/hadoopData/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/root/hadoopData/data</value>
</property>

<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>

通过yarn在单节点中管理MapReduce任务,配置 mapred-site.xml

由于没有mapred-site.xml 文件,需要从模板文件复制一个注:使用ls查看文件,如果有那就不用复制

jobhistroy服务不是必选项,如果后期学mapreduce,有jobhistroy服务更方便一点。

cp mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

<property>
<name>mapreduce.application.classpath</name>
<value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
</property>

<!-- 以下两项为启动jobhistory服务设置项,后面用到mapreduce 时需要 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>

配置 yarn-site.xml

vim yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSP
ATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>

初始化

hadoop namenode -format

启动

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

debug:

启动时可能会报错:Attempting to operate on hdfs namenode as root

这句报错是因为你用root用户启动hadoop,解决方法也很简单。

在/hadoop/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

修改后重启

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

开启 jobhistoryserver

/usr/local/hadoop/sbin/mr-jobhistory-daemon.sh start historyserver

最后使用jps命令查看服务是否都打开

jps

6. 测试运行

进入网页Web页面,分别在主机浏览器地址栏输入以下地址(用自己ip)

50070:HDFS WEB UI端口
8088 : Yarn 的WEB UI 接口
19888:jobhistory WEB UI端口

注:对于50070,如果hadoop版本为3.X,进入端口为9870

192.168.34.56:50070
192.168.34.56:8088
192.168.34.56:19888

运行mapreduce实例,结果为4.000000

cd /usr/local/hadoop/share/hadoop/mapreduce/
hadoop jar hadoop-mapreduce-examples-2.7.7.jar pi 2 3
posted @ 2021-12-06 21:08  xxxchik  阅读(111)  评论(0编辑  收藏  举报