快速搭建HDFS集群

简介: 快速搭建HDFS集群

1.先准备三台linux虚拟机(ip不一定要跟我一样,三台机器之间能ping通即可),并将以下配置添加至/etc/hosts文件末尾,注意三台机器都要修改hosts

192.168.2.232   master
192.268.2.233   slave1
192.168.2.234   slave2
复制代码

2.下载jdk-8u231-linux-x64.tar.gz 密码:bn5x

注意: hadoop3.2.1目前只支持jdk8

3.下载hadoop3.2.1,更多下载,请点击

4.将下载好的两个文件上传至准备好的三个虚拟机,并解压缩

注意:第5步至第9步需要在三台机器上都做一遍

5.配置hadoop

进入解压缩后的hadoop文件夹:

cd /root/hadoop-3.2.1/etc/hadoop
vi hadoop-env.sh
复制代码

将jdk8的安装路径配置进去:

export JAVA_HOME=/opt/jdk1.8.0_231
复制代码

6.配置java环境变量,hadoop环境变量

vi /etc/profile
复制代码

在/etc/profile末尾添加以下内容:

JAVE_HOME=/opt/jdk1.8.0_231
PATH=$JAVE_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
export PATH=$PATH:/root/hadoop-3.2.1/bin:/root/hadoop-3.2.1/sbin
复制代码

上面的路径:/opt/jdk1.8.0_231,/root/hadoop-3.2.1就是我解压缩jdk和hadoop后的绝对路径,看这个博客的小伙伴视自身情况而定

编写完毕后,通过执行以下命令使配置立马生效:

source /etc/profile
复制代码

下面,测试一下环境变量是否配置成功:

java -version
复制代码

控制台会打印出:

java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)
复制代码

说明jdk配置成功

再执行

hadoop version
复制代码

控制台会打印出:

Hadoop 3.2.1
Source code repository https://gitbox.apache.org/repos/asf/hadoop.git -r b3cbbb467e22ea829b3808f4b7b01d07e0bf3842
Compiled by rohithsharmaks on 2019-09-10T15:56Z
Compiled with protoc 2.5.0
From source with checksum 776eaf9eee9c0ffc370bcbc1888737
This command was run using /root/hadoop-3.2.1/share/hadoop/common/hadoop-common-3.2.1.jar
复制代码

说明环境变量配置成功

7.配置core-site.xml

cd /root/hadoop-3.2.1/etc/hadoop
复制代码

找到core-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>
  </property>
  <property>
    <name>fs.tmp.dir</name>
    <value>/opt/hdfs/hadoopData</value>
  </property>
  <property>
    <name>fs.trash.interval</name>
    <value>4320</value>
  </property>
</configuration>
复制代码

注意:7.1:因为在第一步的时候就修改了所有机器的hosts,所以这里可以直接写成hdfs://master:9000

7.2:/opt/hdfs/hadoopData是用来存储数据的空间,需要提前挂载一块大容量的磁盘

8.配置hdfs-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
   <name>dfs.namenode.name.dir</name>
   <value>/opt/hdfs/hadoopData/dfs/name</value>
   <description>datanode 上存储 hdfs 名字空间元数据</description>
 </property>
 <property>
   <name>dfs.datanode.data.dir</name>
   <value>/opt/hdfs/hadoopData/dfs/data</value>
   <description>datanode 上数据块的物理存储位置</description>
 </property>
 <property>
   <name>dfs.replication</name>
   <value>2</value>
   <description>副本个数,默认配置是 3,应小于 datanode 机器数量</description>
 </property>
 <property>
   <name>dfs.webhdfs.enabled</name>
   <value>true</value>
 </property>
 <property>
   <name>dfs.permissions.superusergroup</name>
   <value>staff</value>
   <description>用户组</description>
 </property>
 <property>
   <name>dfs.permissions.enabled</name>
   <value>false</value>
   <description>不验证权限</description>
 </property>
</configuration>
复制代码

9.修改start-dfs.sh,stop-dfs.sh

cd /root/hadoop-3.2.1/sbin
复制代码

找到start-dfs.sh,stop-dfs.sh,在文件的第二行下面加上:

HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
复制代码

就是这一行下面:

#!/usr/bin/env bash
复制代码

两个文件都要加上

注意:第5步至第9步需要在三台机器上都做一遍

10.编写works文件

找到master虚拟机,也就是192.168.2.232这台机器

cd /root/hadoop-3.2.1/etc/hadoop
vi works
复制代码

把下面的内容放进去:

master
slave1
slave2
复制代码

因为我们已经配置了hosts,所以直接写名字即可,或者换成具体的ip也行

11.配置免密登录

在master机器上执行下面命令:

ssh-keygen -t rsa
复制代码

然后一直回车,结束后再执行下面命令:

#ssh-copy-id  $ip(target服务器ip)
ssh-copy-id slave1
复制代码

会提示你输入slave1的密码,按提示操作输入密码后,再执行:

ssh slave1
复制代码

根据提示操作即可无需密码登录slave1

以上操作针对master,slave2也要做一遍。

12.格式化namenode

在master机器上执行一下命令:

hdfs namenode -format
复制代码

13.启动集群

在master机器上执行以下命令:

start-dfs.sh
复制代码

关闭集群可以使用:

start-dfs.sh
复制代码

14.查看hdfs web

浏览器输入:http://192.168.2.232:9870/


3b3c0de3fc484eb790af89e3b2509c4b_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

点击Utillities中的Browse the file system可进行操作,目前还没有解决的就是通过web上传文件。解决了的话再补充。


befeb2d424b84f1397ca26b2c69b3880_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


相关文章
|
4月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
261 6
|
4月前
|
消息中间件 分布式计算 关系型数据库
大数据-140 - ClickHouse 集群 表引擎详解5 - MergeTree CollapsingMergeTree 与其他数据源 HDFS MySQL
大数据-140 - ClickHouse 集群 表引擎详解5 - MergeTree CollapsingMergeTree 与其他数据源 HDFS MySQL
83 0
|
4月前
|
存储 分布式计算 资源调度
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
128 5
|
4月前
|
资源调度 数据可视化 大数据
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(二)
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(二)
59 4
|
4月前
|
XML 分布式计算 资源调度
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
242 5
|
4月前
|
XML 资源调度 网络协议
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(二)
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(二)
246 4
|
4月前
|
分布式计算 资源调度 Hadoop
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
161 4
|
4月前
|
分布式计算 资源调度 Hadoop
Hadoop-10-HDFS集群 Java实现MapReduce WordCount计算 Hadoop序列化 编写Mapper和Reducer和Driver 附带POM 详细代码 图文等内容
Hadoop-10-HDFS集群 Java实现MapReduce WordCount计算 Hadoop序列化 编写Mapper和Reducer和Driver 附带POM 详细代码 图文等内容
159 3
|
4月前
Hadoop-09-HDFS集群 JavaClient 代码上手实战!详细附代码 安装依赖 上传下载文件 扫描列表 PUT GET 进度条显示(二)
Hadoop-09-HDFS集群 JavaClient 代码上手实战!详细附代码 安装依赖 上传下载文件 扫描列表 PUT GET 进度条显示(二)
69 3
|
4月前
|
SQL 分布式计算 Hadoop
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
85 2

相关实验场景

更多