博客
关于我
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/

    你可能感兴趣的文章
    nginx配置全解
    查看>>
    Nginx配置参数中文说明
    查看>>
    nginx配置域名和ip同时访问、开放多端口
    查看>>
    Nginx配置好ssl,但$_SERVER[‘HTTPS‘]取不到值
    查看>>
    Nginx配置如何一键生成
    查看>>
    Nginx配置实例-负载均衡实例:平均访问多台服务器
    查看>>
    Nginx配置文件nginx.conf中文详解(总结)
    查看>>
    Nginx配置负载均衡到后台网关集群
    查看>>
    ngrok | 内网穿透,支持 HTTPS、国内访问、静态域名
    查看>>
    NHibernate学习[1]
    查看>>
    NHibernate异常:No persister for的解决办法
    查看>>
    NIFI1.21.0_Mysql到Mysql增量CDC同步中_日期类型_以及null数据同步处理补充---大数据之Nifi工作笔记0057
    查看>>
    NIFI1.21.0_NIFI和hadoop蹦了_200G集群磁盘又满了_Jps看不到进程了_Unable to write in /tmp. Aborting----大数据之Nifi工作笔记0052
    查看>>
    NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现数据实时delete同步_实际操作04---大数据之Nifi工作笔记0043
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_实现数据插入数据到目标数据库_实际操作03---大数据之Nifi工作笔记0042
    查看>>
    NIFI从MySql中离线读取数据再导入到MySql中_03_来吧用NIFI实现_数据分页获取功能---大数据之Nifi工作笔记0038
    查看>>
    NIFI从PostGresql中离线读取数据再导入到MySql中_带有数据分页获取功能_不带分页不能用_NIFI资料太少了---大数据之Nifi工作笔记0039
    查看>>
    NIFI同步MySql数据_到SqlServer_错误_驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server_Navicat连接SqlServer---大数据之Nifi工作笔记0047
    查看>>