例如NN,DN,RM,NM,这些进程需要进行通信!
	在通信时,常用主机名进行通信!
	
	在192.168.6.100机器上的DN进程,希望访问192.168.6.104机器的NN进程!
	需要在集群的每台机器上,配置集群中所有机器的host映射!
	配置:
		Linux:   /etc/hosts
		Windows:  C:\Windows\System32\drivers\etc\hosts
		
	不配报错:  
			 DNS映射异常,HOST映射异常
hadoop框架在运行需要产生很多数据(日志),数据的保存目录,必须让当前启动hadoop进程的用户拥有写权限!
centos6:
service iptables stop
chkconfig iptables off
如果使用centos7,要使用这个命令需要额外下载:
sudo yum -y install iptables
useradd username
passwd username
vim /etc/sudoers
chown -R 用户名:所属组名默认也是用户名 /opt/soft /opt/module
bin:  使用HDFS和运算MR时,常用的目录!
常用hadoop命令!
sbin:  管理员启动和停止集群使用的命令!
etc:  hadoop配置文件所在的目录
完成大数据的存储!
HDFS(hadoop distributed filesystem)
HDFS的运行模式:
取决于参数:  fs.defaultFS=file:///(默认)
fs.defaultFS在core-default.xml中!
①本地模式(在本机上使用HDFS,使用的就是本机的文件系统)
fs.defaultFS=file:///
②分布式模式
要使用的文件系统是一个分布式的文件系统!
一个分布式的文件系统,必须由NN,DN等若干进程共同运行完成文件系统的读写操作!
fs.defaultFS=hdfs://
启动NN:  hadoop-daemon.sh start namenode
停止NN:  hadoop-daemon.sh stop namenode
启动DN:  hadoop-daemon.sh start datanode
停止DN:  hadoop-daemon.sh stop datanode
使用:  hadoop fs  命令  文件路径
完成大数据的计算!
①按照MR的规范编写一个程序
②将程序打包为jar
③运行jar中的程序
两种运行模式:
取决于参数:  mapreduce.framework.name=local(默认)
①本地模式(在本机上运行MR)   mapreduce.framework.name=local
在本机运行MR!在本机使用多线程的方式,运行多个Task!
②分布式,在YARN上运行  mapreduce.framework.name=yarn
将MR提交给YARN,由YARN将Job中的多个task分配到多台机器中,启动container运行task!
需要启动YARN,YARN由RM和NM进程组成!
hadoop安装后,hadoop的性能和表现取决于用户的配置!
4个默认的配置文件:
位置:  HADOOP_HOME/share/xxxx.jar/xxx-default.xml
core-default.xml: 设置hadoop最核心的参数!
hdfs-default.xml:  保存的是hdfs相关的参数!				
mapred-default.xml: MR程序在运行时,需要使用的参数!
yarn-default.xml: yarn在启动时,需要的参数!
4个用户可以自定义的配置文件: xxx-site.xml
core-site.xml: 用户自定义的设置hadoop最核心的参数!
hdfs-site.xml:   用户自定义的保存的是hdfs相关的参数!	
mapred-site.xml: 用户自定义的MR程序在运行时,需要使用的参数!
yarn-site.xml: 用户自定义的yarn在启动时,需要的参数!
用户自定义的配置文件,可以覆盖默认配置文件中同名的参数的值!
Hadoop在启动时,先加载4个默认的配置文件,再加载用户自定义的配置文件,如果用户自定义的配置文件
中有和4个默认配置文件中门的参数,可以覆盖之前已经加载的值!
可以自定义配置文件的目录:  hadoop --config 配置文件的目录
如果没有配置,默认读取  HADOOP_HOME/etc/hadoop 中对应的配置文件!
hadoop-daemon.sh start namenode脚本在执行时,只会去默认的目录中读取配置文件!
原文:https://www.cnblogs.com/sunbr/p/13246175.html