一、Hadoop单机版环境搭建

1、上传JDK至服务器

创建tools目录,用于存放文件

mkdir /opt/tools

切换tools目录,rz上传JDK安装包

jdk-8u361-linux-x64.tar.gz (文章结尾附安装包链接)

2、解压JDK安装包

创建server目录,用于存放JDK解压后的文件

mkdir /opt/server

解压至server目录

tar -zvxf jdk-8u131-linux-x64.tar.gz -C /opt/server

3、配置JDK环境变量

编辑 /etc/profile 文件

vim /etc/profile
# 文件末尾增加
export JAVA_HOME=/opt/server/jdk1.8.0_361
export PATH=${JAVA_HOME}/bin:$PATH

执行source命令,使配置立即生效

source /etc/profile

检查是否安装成功

java -version

在这里插入图片描述

4、配置免密登录

Hadoop 组件之间需要基于 SSH 进行通讯,配置免密登录后不需要每次都输入密码

更改当前用户名为server,reboot后生效

echo "server" > /etc/hostname

配置映射,配置 ip 地址和主机名映射

vim /etc/hosts
# 文件末尾增加
192.168.1.153 server

生成公钥私钥

ssh-keygen -t rsa

进入 ~/.ssh 目录下,查看生成的公匙和私匙,并将公匙写入到授权文件

cd ~/.ssh
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys

5、下载并解压Hadoop

切换/opt/tools目录下,rz上传Hadoop安装包

hadoop-3.3.4.tar.gz

解压Hadoop至server目录

tar -zvxf hadoop-3.3.4.tar.gz -C /opt/server/

6、配置Hadoop

(1)修改配置文件

进入/opt/server/hadoop-3.3.4/etc/hadoop 目录下,修改以下配置:

修改hadoop-env.sh文件,设置JDK的安装路径

vim hadoop-env.sh
export JAVA_HOME=/opt/server/jdk1.8.0_361

修改core-site.xml文件,分别指定hdfs 协议文件系统的通信地址及hadoop 存储临时文件的目录

<configuration>
    <property>
        <!--指定 namenode 的 hdfs 协议文件系统的通信地址-->
        <name>fs.defaultFS</name>
        <value>hdfs://server:8020</value>
    </property>
    <property>
        <!--指定 hadoop 数据文件存储目录-->
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/data</value>
    </property>
</configuration>

修改hdfs-site.xml,指定 dfs 的副本系数

<configuration>
    <property>
        <!--由于我们这里搭建是单机版本,所以指定 dfs 的副本系数为 1-->
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

修改workers文件,配置所有从属节点

vim workers
# 配置所有从属节点的主机名或 IP 地址,由于是单机版本,所以指定本机即可:
server
(2)初始化并启动HDFS

关闭防火墙,不关闭防火墙可能导致无法访问 Hadoop 的 Web UI 界面

# 查看防火墙状态
sudo firewall-cmd --state
# 关闭防火墙:
sudo systemctl stop firewalld
# 禁止开机启动
sudo systemctl disable firewalld

第一次启动 Hadoop 时需要进行初始化,进入 /opt/server/hadoop-3.1.0/bin目录下,执行以下命令:

cd /opt/server/hadoop-3.1.0/bin

./hdfs namenode -format

在这里插入图片描述

Hadoop 3中不允许使用root用户来一键启动集群,需要配置启动用户

cd /opt/server/hadoop-3.1.0/sbin/
# 编辑start-dfs.sh、stop-dfs.sh,在顶部加入以下内容
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

启动HDFS,进入/opt/server/hadoop-3.3.4/sbin/ 目录下,启动 HDFS:

cd /opt/server/hadoop-3.3.4/sbin/

./start-dfs.sh

验证是否启动

方式一:执行 jps 查看 NameNode 和 DataNode 服务是否已经启动:

[root@server sbin]# jps
1696 NameNode
2067 SecondaryNameNode
1863 DataNode
2183 Jps

方式二:查看 Web UI 界面,端口为 9870:

在这里插入图片描述

配置环境变量,方便启动

vim /etc/profile
export HADOOP_HOME=/opt/server/hadoop-3.3.4
export PATH=$PATH:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin
source /etc/profile

7、Hadoop(YAEN)环境搭建

(1)修改配置文件

进入/opt/server/hadoop-3.3.4/etc/hadoop 目录下,修改以下配置

修改mapred-site.xml文件

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>yarn.app.mapreduce.am.env</name>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>
    <property>
        <name>mapreduce.map.env</name>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>
    <property>
        <name>mapreduce.reduce.env</name>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>
</configuration>

修改yarn-site.xml文件,配置 NodeManager 上运行的附属服务

<configuration>
    <property>
        <!--配置NodeManager运行的附属服务。需要配置成mapreduce_shuffle后才可以在Yarn上运行MapRedvimuce程序-->
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>
(2)启动服务

Hadoop 3中不允许使用root用户来一键启动集群,需要配置启动用户

# start-yarn.sh stop-yarn.sh在两个文件顶部添加以下内容
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

进入 ${HADOOP_HOME}/sbin/ 目录下,启动 YARN

./start-yarn.sh

验证是否启动成功

方式一:执行 jps 命令查看 NodeManager 和 ResourceManager 服务是否已经启动

[root@server sbin]# jps
1696 NameNode
2401 ResourceManager
2067 SecondaryNameNode
1863 DataNode
2856 Jps
2537 NodeManager

方式二:查看 Web UI 界面,端口为 8088

在这里插入图片描述

所需安装包链接:
链接:https://pan.baidu.com/s/1bw2PaENbWVBNt6JcrMO-BA?pwd=k7xj 
提取码:k7xj
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐