HDFS集群环境配置

HDFS集群环境配置

环境如下三台服务器:

  • 192.168.32.101 node1
  • 192.168.32.102 node2
  • 192.168.32.103 node3

一、Hadoop安装包下载​​​​​​​

点此官网下载​​​​​​​

二、Hadoop HDFS的角色包含:

  • NameNode,主节点管理者
  • DataNode,从节点工作者
  • SecondaryNameNode,主节点辅助

三、配置HDFS集群,我们主要涉及到如下文件的修改:

  • workers: 配置从节点(DataNode)有哪些
  • hadoop-env.sh: 配置Hadoop的相关环境变量
  • core-site.xml: Hadoop核心配置文件
  • hdfs-site.xml: HDFS核心配置文件

这些文件均存在与$HADOOP_HOME/etc/hadoop文件夹中。

1、workers文件修改

bash 复制代码
# 进入配置文件目录
cd etc/hadoop
# 编辑workers文件
vim workers
# 填入如下内容
node1
node2
node3

2、配置hadoop-env.sh文件

bash 复制代码
# 填入如下内容
export JAVA_HOME=/export/jdk
export HADOOP_HOME=/export/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_LOG_DIR=$HADOOP_HOME/logs

3、配置core-site.xml文件

bash 复制代码
#在文件内部填入如下内容
<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://node1:8020</value>
  </property>

  <property>
    <name>io.file.buffer.size</name>
    <value>131072</value>
  </property>
</configuration>

参数说明:

  • key:fs.defaultFS

  • 含义:HDFS文件系统的网络通讯路径

  • 值:hdfs://node1:8020

    1. 协议为hdfs://
    2. namenode为node1
    3. namenode通讯端口为8020
    • key:io.file.buffer.size
    • 含义:io操作文件缓冲区大小
    • 值:131072 bit

4、配置hdfs-site.xml文件

bash 复制代码
# 在文件内部填入如下内容
<configuration>
  <property>
    <name>dfs.datanode.data.dir.perm</name>
    <value>700</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>/data/nn</value>
  </property>
  <property>
    <name>dfs.namenode.hosts</name>
    <value>node1,node2,node3</value>
  </property>
  <property>
    <name>dfs.blocksize</name>
    <value>268435456</value>
  </property>
  <property>
    <name>dfs.namenode.handler.count</name>
    <value>100</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>/data/dn</value>
  </property>
</configuration>

参数说明:

  • key:dfs.datanode.data.dir.perm
  • 含义:hdfs文件系统,默认创建的文件权限设置
  • 值:700,即:rwx------
  • key:dfs.namenode.name.dir
  • 含义:NameNode元数据的存储位置
  • 值:/data/nn,在node1节点的/data/nn目录下
  • key:dfs.namenode.hosts
  • 含义:NameNode允许哪几个节点的DataNode连接(即允许加入集群)
  • 值:node1、node2、node3,这三台服务器被授权
  • key:dfs.blocksize
  • 含义:hdfs默认块大小
  • 值:268435456(256MB)
  • key:dfs.namenode.handler.count
  • 含义:namenode处理的并发线程数
  • 值:100,以100个并行度处理文件系统的管理任务
  • key:dfs.datanode.data.dir
  • 含义:从节点DataNode的数据存储目录
  • 值:/data/dn,即数据存放在node1、node2、node3,三台机器的/data/dn内

5、另外两台配置相同,scp分发即可,命令如下

bash 复制代码
# 在node1执行如下命令
cd /export
scp -r hadoop-3.3.4 node2:`pwd`/
scp -r hadoop-3.3.4 node3:`pwd`/

6、配置环境变量(三台服务器均配置)

bash 复制代码
vim /etc/profile
# 在/etc/profile文件底部追加如下内容
export HADOOP_HOME=/export/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

7、创建hadoop用户并授权文件夹权限(三台服务器均执行)

bash 复制代码
#创建hadoop用户
useradd hadoop
#给用户hadoop设置密码
passwd hadoop
# 以root身份,在三台服务器上均执行
chown -R hadoop:hadoop /data
chown -R hadoop:hadoop /export

8、前期准备全部完成,现在对整个文件系统执行初始化

bash 复制代码
# 确保以hadoop用户执行
su - hadoop
# 格式化namenode
hadoop namenode -format

# 一键启动hdfs集群
start-dfs.sh
# 一键关闭hdfs集群
stop-dfs.sh

# 如果遇到命令未找到的错误,表明环境变量未配置好,可以以绝对路径执行
/export/hadoop/sbin/start-dfs.sh
/export/hadoop/sbin/stop-dfs.sh

9、启动完成后,可以在浏览器打开: http://node1:9870,即可查看到hdfs文件系统的管理网页

相关推荐
Lx3523 小时前
Hadoop小文件处理难题:合并与优化的最佳实践
大数据·hadoop
最初的↘那颗心18 小时前
Flink Stream API 源码走读 - print()
java·大数据·hadoop·flink·实时计算
君不见,青丝成雪19 小时前
hadoop技术栈(九)Hbase替代方案
大数据·hadoop·hbase
晴天彩虹雨19 小时前
存算分离与云原生:数据平台的新基石
大数据·hadoop·云原生·spark
最初的↘那颗心1 天前
Flink Stream API - 源码开发需求描述
java·大数据·hadoop·flink·实时计算
Lx3521 天前
MapReduce作业调试技巧:从本地测试到集群运行
大数据·hadoop
BYSJMG1 天前
计算机大数据毕业设计推荐:基于Spark的气候疾病传播可视化分析系统【Hadoop、python、spark】
大数据·hadoop·python·信息可视化·spark·django·课程设计
励志成为糕手1 天前
大数据MapReduce架构:分布式计算的经典范式
大数据·hadoop·mapreduce·分布式计算·批处理
计算机毕设-小月哥1 天前
大数据毕业设计选题推荐:基于Hadoop+Spark的城镇居民食品消费分析系统源码
大数据·hadoop·课程设计
Viking_bird2 天前
centos 7.5 + Hadoop 3.2.4 集群搭建
linux·运维·服务器·hadoop·centos