Hadoop 单机版环境搭建 - 在云服务器上

本贴最后更新于 730 天前,其中的信息可能已经斗转星移

一、前置条件

Hadoop 的运行依赖 JDK,需要预先安装,安装步骤见:

Linux 手动安装 jdk

二、配置免密登录

Hadoop 组件之间需要基于 SSH 进行通讯。

2.1 配置映射

配置 ip 地址和主机名映射:
ip 地址是你的内网 ip 云服务器可以在服务器商的控制台看
在这里插入图片描述
虚拟机的一般就是 ifconfig 后 192 开头的

vim /etc/hosts
# 文件末尾增加
192.168.43.202  node

2.2 生成公私钥

执行下面命令行生成公匙和私匙:

ssh-keygen -t rsa

3.3 授权

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

[root@VM-16-8-centos hadoop]# cd ~/.ssh
[root@VM-16-8-centos .ssh]# ll
total 8
-rw------- 1 root root 1679 Jul  5 16:21 id_rsa
-rw-r--r-- 1 root root  401 Jul  5 16:21 id_rsa.pub

写入公匙到授权文件

[root@VM-16-8-centos .ssh]# cat id_rsa.pub >> authorized_keys
[root@VM-16-8-centos .ssh]# chmod 600 authorized_keys

三、Hadoop(HDFS)环境搭建

3.1 下载并解压

下载 Hadoop 安装包,这里我下载的是 CDH 版本的,下载地址为:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.10.1/hadoop-2.10.1.tar.gz

# 下载
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.10.1/hadoop-2.10.1.tar.gz
# 解压
tar -zvxf hadoop-2.10.1.tar.gz
# 重命名
mv hadoop-2.10.1 hadoop2101

3.2 配置环境变量

vim /etc/profile

配置环境变量:

export HADOOP_HOME=/king/hadoop/hadoop2101
export PATH=${HADOOP_HOME}/bin:$PATH

执行 source 命令,使得配置的环境变量立即生效:

source /etc/profile

3.3 修改 Hadoop 配置

进入 ${HADOOP_HOME}/etc/hadoop/ 目录下,修改以下配置:

1. hadoop-env.sh

# JDK安装路径
export  JAVA_HOME=/usr/java/jdk1.8.0_201/

2. core-site.xml

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

3. hdfs-site.xml

指定副本系数和临时文件存储位置:

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

4. slaves

配置所有从属节点的主机名或 IP 地址,由于是单机版本,所以指定本机即可:

node

3.4 关闭防火墙

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

# 查看防火墙状态
sudo firewall-cmd --state
# 关闭防火墙:
sudo systemctl stop firewalld.service

3.5 初始化

第一次启动 Hadoop 时需要进行初始化,进入 ${HADOOP_HOME}/bin/ 目录下,执行以下命令:

./hdfs namenode -format

3.6 启动 HDFS

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

./start-dfs.sh

3.7 验证是否启动成功

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

9137 DataNode
9026 NameNode
9390 SecondaryNameNode

方式二:查看 Web UI 界面,端口为 50070
<div align=" />

方式三:创建一个文件夹看看

[root@VM-16-8-centos sbin]# hdfs dfs -mkdir /winnie
[root@VM-16-8-centos sbin]# hdfs dfs -ls -R /
drwxr-xr-x   - root supergroup          0 2022-07-05 22:43 /winnie

四、Hadoop(YARN)环境搭建

4.1 修改配置

进入 ${HADOOP_HOME}/etc/hadoop/ 目录下,修改以下配置:

1. mapred-site.xml

如果没有 mapred-site.xml,则拷贝一份样例文件后再修改

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

2. yarn-site.xml

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

4.2 启动服务

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

./start-yarn.sh

4.3 验证是否启动成功

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

9137 DataNode
9026 NameNode
12294 NodeManager
12185 ResourceManager
9390 SecondaryNameNode

方式二:查看 Web UI 界面,端口号为 8088:
在这里插入图片描述

五、idea Big Data Tools 插件连接

像这样直接连接会有错误
在这里插入图片描述
报错如下

On Windows you should have HADOOP_HOME environment variable defined or Java property hadoop.home.dir. Please, refer to Hadoop Wiki for more details

需要下载
微云
github
选择自己安装的 hadoop 版本对应的文件夹,解压然后配置环境

HADOOP_HOME
在这里插入图片描述
PATH
在这里插入图片描述
然后连接就会成功
在这里插入图片描述
连接不上可以试试先创建一个文件夹

  • Hadoop

    Hadoop 是由 Apache 基金会所开发的一个分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

    85 引用 • 122 回帖 • 618 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...