【入门学习大数据】“伪分布式”的Hadoop应用搭建

Hadoop应用搭建

  • 规划部署的目录/路径
    • 安装
  • HADOOP_HOME
  • 配置文件
    • 配置Hadoop角色
    • 补充
  • 格式化/初始化(“企业一辈子就这一次”)
  • 启动
  • Windows浏览器访问服务
    • 看一下界面的基本信息
  • 命令行使用 & 验证知识点
    • 创建目录
    • 如何保证上传文件不重名
    • 文件如何切割成块

百度网盘分享:https://pan.baidu.com/s/1iXxAOARH2ieS-KClcD6P1g?pwd=fglo
提取码:fglo

Hadoop 2.6.5 官网
Hadoop - Apache Hadoop 2.6.5
官方配置说明文档
Apache Hadoop 2.6.5 - Hadoop MapReduce Next Generation 2.6.5 - Setting up a Single Node Cluster.

说明:以下面的命令只要是有缩进的,都不要弄命令行里,是给你写在配置文件中或输出一些很深的目录的路径的,不明白的可以看一下截图

规划部署的目录/路径

安装

Linux一般软件都装在 /opt 目录下
创建安装目录/opt/bigdata,tar解压安装,mv移动到安装目录

mkdir /opt/bigdata
tar xf hadoop-2.6.5.tar.gz
mv hadoop-2.6.5 /opt/bigdata/
pwd
	/opt/bigdata/hadoop-2.6.5

请添加图片描述
请添加图片描述

HADOOP_HOME

要用Hadoop的命令,就要设置HADOOP_HOME,跟JAVA_HOME一个道理

vi /etc/profile
	最后改为
	export JAVA_HOME=/usr/java/default
	export HADOOP_HOME=/opt/bigdata/hadoop-2.6.5
	export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

source /etc/profile

请添加图片描述
请添加图片描述

配置好后,在任何地方都可以用hadoop的命令
请添加图片描述

配置文件

Hadoop的配置文件的目录

cd /opt/bigdata/hadoop-2.6.5/etc/hadoop/
或 分两次
cd $HADOOP_HOME
cd etc/hadoop/

ls

请添加图片描述

给Hadoop 配置JAVA_HOME
因为Hadoop需要ssh免密登录的,但ssh有个弊端,必须修改 hadoop-env.sh 配置jdk的绝对路径
ssh弊端:登录“另一台机”(虽然伪分布式只有单机,但也可视为多机)时不会自动加载 /etc/profile 目录,所以是拿不到 JAVA_HOME 的

cd $HADOOP_HOME/etc/hadoop/
vi hadoop-env.sh
	找到export JAVA_HOME=${JAVA_HOME}改为
	export JAVA_HOME=/usr/java/default

定位
请添加图片描述
修改后
请添加图片描述
即:JAVA_HOME 要设置两次:系统,Hadoop

配置Hadoop角色

Hadoop角色 :NameNode ,DataNode ,Secondary
不知道的,直接跟着配,也不用看下面的补充官方文档解释

会发现配置文件是空的
把配置的内容写在中间
必看:配置的内容,给你了,就是缩进的那些东西

<configuration>
	配置内容
</configuration>

这些配置文件一个个来
请添加图片描述
核心配置文件 core-site.xml
角色NameNode在哪里启动:node01的9000端口(node01是前面配过的主机名)
实际应该避免使用:像官方文档写的是localhost
要具体写死是哪个主机

vi core-site.xml
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://node01:9000</value>
	</property>

请添加图片描述

配置hdfs,hdfs-site.xml
伪分布式的块副本数是1,真正集群要改为2或3
NN的元数据name目录,DN的块数据data目录
Secondary NameNode ,合并主NN的 fsimage和editlog
<name> 属性文档规定死的,<value> 都要是空目录/不存在的(自动创建)

vi hdfs-site.xml
	<property>
		<name>dfs.replication</name>
		<value>1</value>
	</property>
	
	<property>
		<name>dfs.namenode.name.dir</name>
		<value>/var/bigdata/hadoop/local/dfs/name</value>
	</property>
	
	<property>
		<name>dfs.datanode.data.dir</name>
		<value>/var/bigdata/hadoop/local/dfs/data</value>
	</property>
	
	<property>
		<name>dfs.namenode.secondary.http-address</name>
		<value>node01:50090</value>
	</property>
	<property>
		<name>dfs.namenode.checkpoint.dir</name>
		<value>/var/bigdata/hadoop/local/dfs/secondary</value>
	</property>

请添加图片描述

slaves 放启动DN的主机

vi slaves
	node01

补充

想了解具体的要去看官方文档
配置文件导航
请添加图片描述

点击超链接打开网页文件,Ctrl+F 搜索重点:
https://hadoop.apache.org/docs/r2.6.5/hadoop-project-dist/hadoop-common/core-default.xml
https://hadoop.apache.org/docs/r2.6.5/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml

NN和DN都要临时目录,放临时数据的,/tmp 会被系统删除,建议改目录
所以开箱即用的配置是有风险的

格式化/初始化(“企业一辈子就这一次”)

/var 目录下没有bigdata目录
请添加图片描述

格式化

hdfs namenode -format

重要的是看输出的底部
请添加图片描述

就有bigdata了
请添加图片描述

格式化时,只初始化 NameNode
DataNode 、Secondary 在第一次启动时才创建初始化
请添加图片描述
clusterID - 集群ID
为什么不要在启动了后再次格式化?因为会导致这个id改变,NN和
DN就不匹配了

启动

启动dfs分布式文件系统,要停止就换为stop

start-dfs.sh
或
start-all.sh

请添加图片描述

以下是验证,不关搭建的事
可以直接跳到下面的浏览器访问

本来只有name,现在就验证创建了data、secondary
请添加图片描述

看一下data块数据目录下有什么
请添加图片描述
请添加图片描述

完整的
请添加图片描述

Windows浏览器访问服务

  1. 修改 Windows 的 hosts映射,找到文件打开
C:\Windows\System32\drivers\etc\hosts
  1. 添加 Linux主机的 IP和主机名
192.168.40.136 node01

保存退出,还要再一次保存退出
因为什么系统文件需要管理员身份,第一次后就切换到管理员了

  1. 浏览器打开(不是IE就行)
http://node01:50070

如果是访问不到,首先看看你前面有没有启动hadoop

看一下界面的基本信息

请添加图片描述

命令行使用 & 验证知识点

创建目录

查看文件系统支持的操作命令有什么,发现是几乎是一样(找到规律后)

hdfs dfs  
hdfs dfs -mkdir /bigdata
hdfs dfs -mkdir -p /user/root

请添加图片描述
是在hadoop hdfs中创建的,本地根目录并没有
hdfs里的用户家目录是user

请添加图片描述
请添加图片描述

如何保证上传文件不重名

集群是如何保证:多节点同时上传文件在同一目录,文件名不重的?
用大文件上传,方便捕捉到过程(要Go刷新)

cd
hdfs dfs -put hadoop-2.6.5.tar.gz /user/root

结论:先到NN的,就先用名字先占用,如:hadoop-2.6.5.tar.gz._COPYING_

请添加图片描述
请添加图片描述

找到存放data的目录路径,BP 时间戳要看自己本机的是什么,前面有展示过的
也可以跟着用 cdll 一步步定位到

cd /var/bigdata/hadoop/local/dfs/
cd data/
cd current/
cd BP (按Tab键自动补全)/
	BP-641919094-192.168.40.136-1709617207811
cd current/finalized/subdir0/subdir0/
ll

请添加图片描述

文件如何切割成块

深入刨析:验证块切割,自己写一个小文件,自定义block块的大小上传
结论:被一刀切开了
请添加图片描述

  • 20
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值