Hadoop伪分布式集群搭建

本文详细介绍Hadoop的安装步骤,包括更改主机名、配置静态IP、安装与配置JDK、SSH配置、Hadoop环境变量配置,以及核心配置文件如core-site.xml、hdfs-site.xml的设置方法。
一. HDFS安装及配置
  1. 更改主机名称
[root@localhost ~]# hostname node1    (可选)
[root@localhost ~]# vim /etc/hostname      (必选)
[root@localhost ~]# vim /etc/sysconfig/network  (可选)

[root@localhost ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=node1
  1. 配置静态ip和主机的映射
[root@localhost ~]# vim  /etc/hosts

添加如下IP与主机名映射关系
192.168.100.11 node1

[root@localhost ~]# cat /etc/hosts
127.0.0.1   localhostlocalhost.localdomain localhost4 localhost4.localdomain4
::1localhostlocalhost.localdomain localhost6 localhost6.localdomain6
192.168.100.11 node1
  1. 在/opt目录下建立三个文件夹
  • modules(负责放解压后的文件)
  • software(负责放软件安装包)
  • tools(负责存放工具)
cd  /opt
mkdir modules
mkdir software
mkdir tools
  1. 使用Xftp将jdk上传到software中并且解压到modules(其中事先要安装Xshell与Xftp)
#tar -xzvf解压文件所在目录  -C  解压到的目录
tar -xzvf /opt/software/jdk-8u191-linux-x64.tar.gz -C /opt/modules/
cd /opt/modules
mv jdk1.8.0_191 jdk  #重命名为 jdk,有利于升级后的替换(环境变量没有版本号,这样不用更改配置的环境变量,只需替换程序即可)
  1. 配置java环境变量
vim  /etc/profile  # 在此文件后追加以下两句
export JAVA_HOME=/opt/modules/jdk
export PATH=$PATH:$JAVA_HOME/bin
  1. 保存配置文件使其生效
source /etc/profile
  1. 检测
我们会发现此时安装的jdk是Linux自带的(OpenJDK),我们必须将它删除

a: 我们先找到之前安装的版本按照java找
   rpm -qa|grep java    (若没有则跳到c步骤)
   
b: 删除
  rpm  -e  --nodeps   (jdk版本)
  
c: source /etc/profile

[root@localhostjdk]# java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
  1. 配置ssh
A: 在主机创建秘钥:ssh-keygen-t rsa(依次回车直到生成密钥)
[root@node1 ~]# ssh-keygen  -t  rsa

B: 分发秘钥:
ssh-copy-id  root@node1
  1. 开始安装hadoop
A: 将本地hadoop-2.9.2.tar.gz上传到/opt/software

B: 解压hadoop到/opt/modules
tar -xzvf /opt/software/hadoop-2.9.2.tar.gz -C /opt/modules
cd /opt/modules

C:将解压后的文件名改为hadoop(去掉版本号,便于升级)
mv /opt/modules/hadoop-2.9.2 hadoop
  1. 配置hadoop环境变量
vim  /etc/profile
export HADOOP_HOME=/opt/modules/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  1. 刷新配置文件
source  /etc/profile
  1. 配置core-site.xml(默认在/modules/hadoop/etc/hadoop下,将以下内容添加到configration中间)
[root@node1 opt]# cd /opt
[root@node1 opt]# cd modules
[root@node1 modules]# cd hadoop
[root@node1 hadoop]# cd etc
[root@node1 etc]# cd hadoop
[root@node1 etc]# vim core-site.xml

(将以下内容添加到configration中间)

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:9000/</value>
</property>
</configuration>
  1. 配置hdfs-site.xml

配置hdfs-site.xml

cd /opt/modules/hadoop/etc/hadoop
vim hdfs-site.xml

(将以下内容添加到configration中间)

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
</configuration>

14.配置yarn-site.xml

<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node1</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
  1. 配置mapred-site.xml.template
mv mapred-site.xml.template mapred-site.xml

然后将以下内容添加到configration中间

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
  1. 配置slaves文件
vim slaves
# 一台主机一行
node1
  1. 配置hadoop-env.sh (设置java的环境变量)
export JAVA_HOME=/opt/modules/jdk
  1. 格式化namenode
source /etc/profile 
hdfs namenode -format 
  1. 启动hdfs节点
start-dfs.sh
  1. 启动yarn节点
start-yarn.sh

查看各服务是否启动,搭建成功

  1. hadoop成功安装测试
  • 在各节点上输入下面的指令若出现hadoop版本信息则安装hadoop成功
hadoop version

  • 通过浏览器可以访问 http://192.168.100.3:50070

  • 浏览器输入 http://172.16.11.17:8088/

  • 创建文件目录并查看目录下文件

  • 上传文件

  • 下载文件并查看文件

  • 通过UI查看块存储的位置

二. 简单应用
  • 统计一下某个文件当中的每个单词出现的次数。

把hadoop目录下的README.txt文件上传到HDFS系统根目录下,上传的命令是:

hdfs dfs -put /opt/modules/hadoop/README.txt /words

接下来我们该执行wordcount命令:

cd /opt/modules/hadoop/share/hadoop/mapreduce
hadoop jar hadoop-mapreduce-examples-2.9.2.jar wordcount  /words  /wcout

执行成功之后我们再来看一下HDFS系统根目录下的文件列表,发现多了一个wcout文件,如下图所示。我们再进入这个wcout文件夹当中看里面都有哪些东西:

我们发现它的里面有两个文件,其中/wcout/part-r-00000这个文件中保存了我们计算的结果。我们再具体看看这个part-r-00000文件当中的具体内容是什么:

发现这个文件里面记录着每个单词出现的次数。

### Hadoop伪分布式集群搭建教程 Hadoop 是一种用于处理大规模数据集的开源框架,支持在廉价硬件组成的大型集群上运行应用程序。对于初学者来说,可以通过构建伪分布式环境来熟悉其工作方式。 #### 1. 安装 Java 开发工具包 (JDK) Hadoop 运行依赖于 JDK,因此需要先安装并配置好 JDK 的环境变量。以下是具体操作步骤: - 下载适合系统的 JDK 版本,并完成安装。 - 编辑 `~/.bashrc` 文件以设置 JAVA_HOME 变量: ```bash export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export PATH=$PATH:$JAVA_HOME/bin ``` - 执行命令使更改生效: ```bash source ~/.bashrc ``` 验证是否成功安装 JDK 并将其加入环境变量中[^2]。 #### 2. 下载与解压 Hadoop 软件包 下载最新版本的 Hadoop 压缩包至本地计算机,并将其解压缩到指定位置。例如: ```bash tar -zxvf hadoop-3.3.0.tar.gz -C /opt/ cd /opt/hadoop-3.3.0 ``` #### 3. 修改核心配置文件 core-site.xml 此文件定义了客户端连接 NameNode 和 DataNode 的基本参数。进入 `/etc/hadoop/core-site.xml` 后添加如下内容: ```xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> ``` 这一步骤指定了默认文件系统为 HDFS,并设定了名称节点监听端口为 9000[^1]。 #### 4. 配置 hdfs-site.xml 文件 该文件主要用于设定 HDFS 数据块大小以及副本数量等属性。同样位于 `/etc/hadoop/` 目录下,修改后的样例代码如下所示: ```xml <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration> ``` 这里我们将复制因子调整成 1 来适应单机环境下资源有限的情况[^3]。 #### 5. 设置 MapReduce 框架相关选项 mapred-site.xml 如果发现当前目录不存在名为mapred-site.xml模板,则可以从备份文件重命名得到它;然后按照下面的方式填写字段信息即可满足需求: ```xml <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> ``` #### 6. 更新 yarn-site.xml 中 YARN 参数 最后还需关注 ResourceManager 地址和服务启动顺序等问题,在相应部分追加以下条目实现自动化管理功能: ```xml <configuration> <!-- Reducer 获取数据的方式 --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!-- NodeManager 上内存总量限制,默认单位 MB--> <property> <name>yarn.scheduler.maximum-allocation-mb</name> <value>8192</value> </property> ... </configuration> ``` #### 7. 初始化 HDFS 文件系统 执行初始化命令前需确保所有必要的改动都已经保存完毕,接着输入下列指令创建根目录结构: ```bash bin/hdfs namenode -format ``` #### 8. 启动服务进程 依次开启各个组件对应的守护线程以便正常使用整个平台的各项能力: ```bash sbin/start-dfs.sh sbin/start-yarn.sh ``` 至此已完成基于 Linux 系统之上部署简易版 Hadoop 单节点模拟群组的操作流程说明^。 ```python print("Congratulations! Your pseudo-distributed cluster has been set up successfully.") ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值