IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> CentOS7搭建Hadoop分布式文件系统 -> 正文阅读

[大数据]CentOS7搭建Hadoop分布式文件系统

CentOS7搭建Hadoop分布式文件系统

配置:
1.CentOS-7-x86_64-DVD-2009
2.hadoop3.1.4
3.java1.8.0_65

步骤

1.网络配置

  • 虚拟机选择桥接模式,在桥接模式下能联网
  • 配置hosts和hostname
  • 安装ssh,配置ssh免密登录各个节点
  • 配置java环境

2.hadoop文件配置

  • 配置hadoop-env.sh
  • 配置core-site.xml
  • 配置workers
  • 配置hdfs-site.xml
  • 配置mapred-site.xml
  • 配置yarn-site.xml

3.hadoop一条龙

  • hadoop格式化
  • hadoop启动
  • hadoop程序运行

**

1.网络配置

1.配置hosts和hostname

为每一个虚拟机配置hostname
我有3个虚拟机分别命名为

Master
Slaver1
Slaver2

gedit /etc/hostname

直接在里面写名字就可以了

是在这里插入图片描述

配置hosts
每一个虚拟机都要配置

gedit /etc/hosts

在阿达插入图片描述

ssh安装配置
1.ssh安装
2.ssh免密码登录

先在Master节点里运行ssh生成公钥,如果之前生成过了需要删除之前生成的公钥

cd ~/.ssh              # 如果没有该目录,先执行一次ssh localhost
rm ./id_rsa*           # 删除之前生成的公匙(如果已经存在)
ssh-keygen -t rsa       # 执行该命令后,遇到提示信息,一直按回车就可以

把公钥放到~/.ssh/authorized_keys

cat ./id_rsa.pub >> ./authorized_keys

ssh localhost测试能否无密码登录在这里插入图片描述
通过scp命令发送文件到各个节点,有多少个发多少次

scp ~/.ssh/id_rsa.pub hadoop@Slaver1:/home/hadoop/

在Slaver1节点里把公钥放到authorized_keys

mkdir ~/.ssh       # 如果不存在该文件夹需先创建,若已存在,则忽略本命令
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
rm ~/id_rsa.pub    # 用完以后就可以删掉

测试在Master节点连接Slaver1,到此如果Master能远程无密码连接到各个节点就完成了

ssh Slaver1

2.hadoop文件配置
hadoop安装

tar -zxvf (hadoop.tar.gz文件路径) -C /usr/local
chown -R hadoop /usr/local/(hadoop文件) #在整个搭建hadoop分布式的时候一定要注意给用户操作的权限,或者直接用root

配置好hadoop6个文件,过程是在Master节点配置好,然后压缩发送到各个节点再解压出来(配置文件都在 hadoop文件下的etc/hadoop)

workers

Master
Slaver1
Slaver2

core-site.xml

<configuration> 
<property> 
<name>fs.defaultFS</name> 
<value>hdfs://Master:8020</value> 
</property> 
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/export/data/hadoop-3.1.4</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/export/data/hadoop-3.1.4</value>
</property>
<property> 
<name>hadoop.http.staticuser.user</name>
<value>hadoop</value> 
</property>
</configuration>

hdfs-site.xml

<configuration>
<property> 
<name>dfs.namenode.secondary.http-address</name> 
<value>Slaver1:9868</value> </property>
</configuration>

mapred-site.xml

<configuration> 
<property> 
<name>mapreduce.framework.name</name>
<value>yarn</value> 
</property> 
<!-- 历史服务器端地址 --> 
<property> 
<name>mapreduce.jobhistory.address</name> <value>Master:10020</value> 
</property> 
<!-- 历史服务器web端地址 --> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>Master:19888</value> 
</property> 
<property> 
<name>yarn.app.mapreduce.am.env</name> <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value> 
</property> 
<property> 
<name>mapreduce.map.env</name> <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value> 
</property> 
<property> 
<name>mapreduce.reduce.env</name> <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value> 
</property> 
</configuration>

yarn-site.xml

<configuration> 
<property> 
<name>yarn.resourcemanager.hostname</name> 
<value>Master</value> 
</property> 
<property> 
<name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> 
</property>
<!-- 是否将对容器实施物理内存限制 --> 
<property> 
<name>yarn.nodemanager.pmem-check-enabled</name> <value>false</value> 
</property> 
<!-- 是否将对容器实施虚拟内存限制。 --> 
<property> 
<name>yarn.nodemanager.vmem-check-enabled</name> <value>false</value> 
</property> 
<!-- 开启日志聚集 -->
 <property> 
 <name>yarn.log-aggregation-enable</name> 
 <value>true</value> 
 </property> 
 <!-- 保存的时间7天 --> 
 <property> 
 <name>yarn.log-aggregation.retain-seconds</name> <value>604800</value> 
 </property> 
 </configuration>

hadoop-env.sh

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_65 
#文件最后添加 
export HDFS_NAMENODE_USER=hadoop 
export HDFS_DATANODE_USER=hadoop 
export HDFS_SECONDARYNAMENODE_USER=hadoop 
export YARN_RESOURCEMANAGER_USER=hadoop 
export YARN_NODEMANAGER_USER=hadoop

3.hadoop一条龙
格式化hadoop
注意:hadoop格式化不再进行太多次,格式化太多次会导致hadoop主从混乱
解决办法:把格式化生成的所有文件删除
路径:查看core-site.xml里的dfs.namenode.name.dir参数

hdfs namenode -format

启动Hadoop

start-dfs.sh
start-yarn.sh

通过jps查看各项服务是否开启

节点服务
MasterNameNode 、DateNode 、RecourseManage 、NodeManage
Slaver1SecondaryNameNode、 DateNode 、NodeManage
Slaver2DateNode、 NodeManage

例子
词频统计
思路:
1.在本地文件系统创建一个txt文件
2.把文件上传到分布式系统里
3.调用WordCount程序对txt文件进行统计
4.查询输出文件

wc.txt文件

hello world
hello hadoop
hadoop is the best

上传wc.txt文件到hadoop

hdfs dfs -mkdir -p /user/hadoop/wc  #在hadoop创建路径/user/hadoop/wc
hdfs dfs -mkdir -p /user/hadoop/output #创建输出路径
hdfs dfs -put ./wc.txt /user/hadoop/wc  #把文件上次到hadoop

调用hadoop程序

cd (hadoop安装目录)/shared/hadoop/mapreduce  #进入到java程序目录
hadoop jar hadoop-mapreduce-examples-3.1.4.jar /user/hadoop/wc.txt /user/hadoop/output #调用函数

查看结果
在这里插入图片描述

hadoop搭建参考

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-07-14 23:05:55  更:2021-07-14 23:05:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/3 5:19:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码