博客
关于我
Hadoop伪分布式集群安装配置
阅读量:110 次
发布时间:2019-02-26

本文共 4221 字,大约阅读时间需要 14 分钟。

Hadoop在CentOS 7.6 64位系统上的安装与配置

环境准备

在安装Hadoop之前,需要先准备好必要的开发环境。以下是详细的操作步骤:

1. 安装JDK

Hadoop依赖于Java环境,因此首先需要安装Java Development Kit (JDK)。可以通过以下命令安装:

yum install -y java-1.8.0-openjdk-devel

安装完成后,JDK会被安装在/usr/lib/jvm目录下。

2. 防火墙设置

Hadoop运行时会占用一些端口,为了确保这些端口能够正常通信,可以选择关闭防火墙。执行以下命令:

systemctl stop firewalldsystemctl disable firewalld

如果需要临时禁用防火墙,可以使用以下命令:

firewallctl --disable

3. SSH免密登录

为了方便后续操作,可以配置SSH免密登录。执行以下命令生成公钥:

ssh-keygen -t rsa -b 4096

将生成的公钥添加到~/.ssh/authorized_keys文件中,确保权限为600:

chmod 600 ~/.ssh/authorized_keys

Hadoop下载与解压

1. 下载Hadoop

可以通过 wget命令下载Hadoop的最新版本。示例命令如下:

wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-3.2.1/hadoop-3.2.1.tar.gz

2. 解压Hadoop

将下载的文件解压到指定目录,例如:

tar -zxf hadoop-3.2.1.tar.gz -C /root/software

解压完成后,文件结构可以通过以下命令查看:

ls -l /root/software/hadoop-3.2.1

环境变量配置

1. 修改.bashrc文件

在root用户的/root/.bashrc文件中添加以下配置:

vim /root/.bashrc

在文件末尾添加:

# Hadoop环境变量配置export HADOOP_HOME=/root/software/hadoop-3.2.1export PATH=$HADOOP_HOME/bin:$PATH

2. 使配置生效

重新加载bash配置文件:

source /root/.bashrc

3. 验证Hadoop版本

确保Hadoop环境变量配置成功,执行以下命令:

hadoop version

预期输出应为:

hadoop-3.2.1

Hadoop配置文件

1. hadoop-env.sh

将JDK路径添加到hadoop-env.sh文件中:

vim /root/software/hadoop-3.2.1/etc/hadoop/hadoop-env.sh

在文件末尾添加:

# JDK路径export JAVA_HOME=/root/software/jdk-14.0.2

2. core-site.xml

配置Hadoop运行时参数,例如:

vim /root/software/hadoop-3.2.1/etc/hadoop/core-site.xml

添加以下内容:

fs.defaultFS
hdfs://sunshine:9000
hadoop.tmp.dir
/root/software/hadoop-3.2.1/tmp

3. hdfs-site.xml

配置HDFS数据存储路径:

vim /root/software/hadoop-3.2.1/etc/hadoop/hdfs-site.xml

添加以下内容:

dfs.name.dir
/root/software/hadoop-3.2.1/tmp/dfs/name
dfs.data.dir
/root/software/hadoop-3.2.1/tmp/dfs/data
dfs.replication
1

4. yarn-site.xml

配置Yarn资源管理:

vim /root/software/hadoop-3.2.1/etc/hadoop/yarn-site.xml

添加以下内容:

yarn.resourcemanager.hostname
sunshine
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.nodemanager.vmem-check-enabled
false
yarn.nodemanager.vmem-pmem-ratio
5

5. mapred-site.xml

配置MapReduce资源:

vim /root/software/hadoop-3.2.1/etc/hadoop/mapred-site.xml

添加以下内容:

mapreduce.framework.name
yarn
yarn.app.mapreduce.am.env
HADOOP_MAPRED_HOME=$HADOOP_HOME
mapreduce.map.env
HADOOP_MAPRED_HOME=$HADOOP_HOME
mapreduce.reduce.env
HADOOP_MAPRED_HOME=$HADOOP_HOME
mapreduce.map.memory.mb
1024

Hadoop namenode 初始化

1. 初始化命令

执行以下命令初始化Hadoop namenode:

hadoop namenode -format

初始化完成后,会显示类似以下提示:

14:21:06.310 java:WARN: namenode.NameNode.createNameSystem: No valid configurations found for fs.defaultFS

这说明初始化成功。

Hadoop 启动

1. 启动命令

/root/software/hadoop-3.2.1/sbin目录下,执行以下命令启动Hadoop:

./start-all.sh

2. 验证启动日志

查看启动日志,确保没有错误提示。例如:

tail -f /root/software/hadoop-3.2.1/logs/hadoop-root.log

如果遇到权限问题,需确保所有节点的用户和组ID正确配置。

3. 启动脚本修改

对于start-dfs.shstop-dfs.sh文件,修改脚本顶部:

vim /root/software/hadoop-3.2.1/sbin/start-dfs.sh

添加以下配置:

#!/usr/bin/env bashHDFS_DATANODE_USER=rootHADOOP_SECURE_DN_USER=hdfsHDFS_NAMENODE_USER=rootHDFS_SECONDARYNAMENODE_USER=root

同样修改start-yarn.shstop-yarn.sh文件:

vim /root/software/hadoop-3.2.1/sbin/start-yarn.sh

添加以下配置:

#!/usr/bin/env bashYARN_RESOURCEMANAGER_USER=rootHADOOP_SECURE_DN_USER=yarnYARN_NODEMANAGER_USER=root

Web端查看Hadoop

1. URL链接

访问以下地址查看Hadoop状态,IP地址请根据实际部署情况修改:

http://
:9870/dfshealth.html#tab-overview

2. 确认服务状态

通过Web界面查看各个Hadoop组件的状态,包括NameNode、DataNode、JobTracker等。

注意事项

  • 权限配置:确保所有节点的用户和组ID(UID/GID)与root用户一致,避免权限问题。

  • 日志管理:定期清理旧日志文件,避免存储过多日志导致性能问题。

  • 定期维护:定期运行hadoop cleanup命令清理过期任务,确保系统健康运行。

  • 扩展性:根据需要扩展Hadoop集群,添加新的DataNode和NodeManager节点。

  • 通过以上步骤,可以在CentOS 7.6 64位系统上成功配置并运行Hadoop集群。

    转载地址:http://oehu.baihongyu.com/

    你可能感兴趣的文章
    Node-RED中配置周期性执行、指定时间阶段执行、指定时间执行事件
    查看>>
    Node-RED安装图形化节点dashboard实现订阅mqtt主题并在仪表盘中显示温度
    查看>>
    Node-RED怎样导出导入流程为json文件
    查看>>
    Node-RED订阅MQTT主题并调试数据
    查看>>
    Node-RED通过npm安装的方式对应卸载
    查看>>
    node-request模块
    查看>>
    node-static 任意文件读取漏洞复现(CVE-2023-26111)
    查看>>
    Node.js 8 中的 util.promisify的详解
    查看>>
    node.js debug在webstrom工具
    查看>>
    Node.js RESTful API如何使用?
    查看>>
    node.js url模块
    查看>>
    Node.js Web 模块的各种用法和常见场景
    查看>>
    Node.js 之 log4js 完全讲解
    查看>>
    Node.js 函数是什么样的?
    查看>>
    Node.js 函数计算如何突破启动瓶颈,优化启动速度
    查看>>
    Node.js 切近实战(七) 之Excel在线(文件&文件组)
    查看>>
    node.js 初体验
    查看>>
    Node.js 历史
    查看>>
    Node.js 在个推的微服务实践:基于容器的一站式命令行工具链
    查看>>
    Node.js 实现类似于.php,.jsp的服务器页面技术,自动路由
    查看>>