Pseudo distribution pattern hadoop

Configuration environment variable

jdk:

源文件:将jdk的压缩包放在 /opt/software里
解压:tar -zxvf jdk-8u171-linux-x64.tar.gz  -C /opt/module/	(解压到指定文件夹中)
pwd:进入/opt/module/jdk1.8.0_171,pwd复制jdk的根目录
vim /etc/profile编辑环境变量:
	export JAVA_HOME=/opt/module/jdk1.8.0_171
	export PATH=$PATH:$JAVA_HOME/bin
保存后将文件生效:source /etc/profile
测试环境变量:java -version
jdk环境变量配置成功

hadoop:

源文件:将hadoop的压缩包放在 /opt/software里
解压:tar -zxvf hadoop-2.7.2.tar.gz  -C  /opt/module/	(解压到指定文件夹中)
pwd:进入/opt/module/hadoop-2.7.2,pwd复制hadoop的根目录
vim /etc/profile编辑环境变量:
	export HADOOP_HOME=/opt/module/hadoop-2.7.2
	export PATH=$PATH:$HADOOP_HOME/bin
	export PATH=$PATH:$HADOOP_HOME/sbin
保存后将文件生效:source /etc/profile
测试环境变量:hadoop version
hadoop环境变量配置成功

hadoop operating mode

本地模式:local,配置文件不需要改动
伪分布模式:只有一个节点,所有的hdfs+mapreduce+yarn在一台主机上
完全分布式:三台虚拟机模拟的hadoop集群,hdfs+mapreduce+yarn

hadoop file system

bin:hadoop+hdfs等命令
etc:配置文件
lib:本地库
sbin:集群启动脚本
share:示例

Example local mode (default local CI)

1.	创建在hadoop-2.7.2文件下面创建一个input文件夹
[atguigu@hadoop101 hadoop-2.7.2]$ mkdir input
2.	将hadoop的xml配置文件复制到input(提供数据源  共8个xml文件)
[atguigu@hadoop101 hadoop-2.7.2]$ cp etc/hadoop/*.xml input		*/
3.	执行share目录下的mapreduce程序
[atguigu@hadoop101 hadoop-2.7.2]$ bin/hadoop jar(老师直接写的hadoop jar)
share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep(过滤) input /(老师写这个斜杠了)output(千万不能提前创建) 'dfs[a-z.]+'(正则表达式  dfs开头a-z的任意字符 +)
4.	查看输出结果
[atguigu@hadoop101 hadoop-2.7.2]$ cat output/**/

Pseudo distribution pattern configuration

JAVA_HOME:	vim /opt/module/hadoop-2.7.2/etc/hadoop/hadoop-env.sh
	(:set nu 第25行)export JAVA_HOME=/opt/module/jdk1.8.0_171
namenode地址+hadoop文件目录:	vim  /opt/module/hadoop-2.7.2/etc/hadoop/core-site.xml	
				<!-- 指定HDFS中NameNode的地址 -->
				<property>
					<name>fs.defaultFS</name>
					<value>hdfs(协议)://hadoop101(主机名):9000(端口号)</value>
				</property>	
				<!-- 指定hadoop运行时产生文件的存储目录 -->(格式化后才有此目录)
				<property>
					<name>hadoop.tmp.dir</name>
					<value>/opt/module/hadoop-2.7.2/data/tmp</value>
				</property>		
副本数: vim /opt/module/hadoop-2.7.2/etc/hadoop/hdfs-site.xml	
	<!-- 指定HDFS副本的数量 -->
	<property>
		<name>dfs.replication</name>
		<value>1</value>
	</property>

Start the cluster

When you want to reformat the data and log file folder to delete. Ensure consistent namespace + cluster ID

	格式化:		[atguigu@hadoop101 hadoop-2.7.2]$ bin/hdfs namenode -format	
	启动namenode:	[atguigu@hadoop101 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start namenode	
	启动datanode:	[atguigu@hadoop101 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start datanode	
	查看当前进程:	jps(jps+namenode+datanode)
	查看日志:		logs,分别记录datanode+namenode的日记
	集群查看:		hadoop101:50070

Linux File System View

集群ID:	cd  /opt/module/hadoop-2.7.2/data/tmp/dfs/data/CURRENT
data数据:/opt/module/hadoop-2.7.2/data/tmp/dfs/data/current/
		BP-1341435640-192.168.1.101-1583919560640/current/finalized/subdir0/subdir0

datanode在启动时会向namenode索要相应的ID,表明是同一集群的成员。
当重新格式化namenode时,会生成一套新ID,此ID与datanode的不一致,就启动不了。jps就不会有namenode。
为此在格式化前需要将data与logs文件夹删除。同时通过jps查看当前活跃进程,
并关闭当前所有活跃进程,确保namenode可以启动。
然后再按照一般顺序分别启动datanode,RM,NM,H等进程。
此时伪分布已经搭建完成。

Metadata Store
data storage data

hadoop file operations

	(a)在hdfs文件系统上创建一个input文件夹,(并不是linux本地系统)。
		bin/hdfs dfs -mkdir -p /user/atguigu/input
	(b)将测试文件内容上传到文件系统上
		bin/hdfs dfs -put wcinput/wc.input /user/atguigu/input/
	(c)查看上传的文件是否正确
		bin/hdfs dfs -ls  /user/atguigu/input/
		bin/hdfs dfs -cat  /user/atguigu/input/wc.input
	(d)运行mapreduce程序
		bin/hadoop jar 	share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar 
		wordcount  /user/atguigu/input/  /user/atguigu/output
	(e)查看输出结果
		命令行查看:
		[atguigu@hadoop101 hadoop-2.7.2]$ bin/hdfs dfs -cat /user/atguigu/output/*
Released six original articles · won praise 1 · views 102

Guess you like

Origin blog.csdn.net/qq_43141232/article/details/104805423