博客
关于我
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 301 永久重定向
    查看>>
    nginx css,js合并插件,淘宝nginx合并js,css插件
    查看>>
    Nginx gateway集群和动态网关
    查看>>
    Nginx Location配置总结
    查看>>
    Nginx log文件写入失败?log文件权限设置问题
    查看>>
    Nginx Lua install
    查看>>
    nginx net::ERR_ABORTED 403 (Forbidden)
    查看>>
    Nginx SSL私有证书自签,且反代80端口
    查看>>
    Nginx upstream性能优化
    查看>>
    Nginx 中解决跨域问题
    查看>>
    nginx 代理解决跨域
    查看>>
    Nginx 动静分离与负载均衡的实现
    查看>>
    Nginx 反向代理 MinIO 及 ruoyi-vue-pro 配置 MinIO 详解
    查看>>
    nginx 反向代理 转发请求时,有时好有时没反应,产生原因及解决
    查看>>
    Nginx 反向代理解决跨域问题
    查看>>
    Nginx 反向代理配置去除前缀
    查看>>
    nginx 后端获取真实ip
    查看>>
    Nginx 多端口配置和访问异常问题的排查与优化
    查看>>
    Nginx 如何代理转发传递真实 ip 地址?
    查看>>
    Nginx 学习总结(16)—— 动静分离、压缩、缓存、黑白名单、性能等内容温习
    查看>>