hadoop由三种模型:
1、单机模型:测试使用
2、伪分布式模型:运行于单机
3、分布式模型:real集群模型
一、伪分布式
hadoop基于java语言;
hadoop-2.6 —– jdk 1.6+
hadoop-2.7 —– jdk1.7+
1、安装hadoop并设置其所需的环境变量
解压安装包至如下目录
[root@server2 ~]# mkdir /bdapps
[root@server2 bdapps]# tar zxf jdk-7u79-linux-x64.tar.gz
[root@server2 bdapps]# ln -sv hadoop-2.7.3/ hadoop
[root@server2 bdapps]# tar zxf jdk-7u79-linux-x64.tar.gz
[root@server2 bdapps]# ln -sv jdk1.7.0_79/ jdk
在/etc/profie.d/hadoop.sh
里面设置环境变量,设定hadoop的运行环境:
设置java运行环境:
2、创建hadoop进程的用户及相关目录
出于安全考虑,一般用特定用户来运行hadoop的不同守护进程,分别用yarn,hdfs,mapred来运行其相应进程。
创建数据目录和日志目录:
在安装目录下创建logs目录,并修改hadoop所有文件的属主属组。
3、配置hadoop
etc/hadoop/core-site.xml
文件包含了NameNode主机地址,监听端口等信息,对于伪分布式模型来说,其主机地址为localhost,NameNode默认使用的端口为8020。
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:8020</value>
<final>true</final>
</property>
</configuration>
etc/hadoop/hdfs-site.xml
用于配置/HDFS的相关属性,例如数据块的副本参数,NN和DN用于存储数据的目录,=。数据块的副本对于伪分布式来说应该为1,而NN和DN用于存储数据的目录为前面专门为其创建的路径,前面的步骤也为SNN创建了相关目录,这里也一并设置其为启用状态。
```
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///data/hadoop/hdfs/nn</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///data/hadoop/hdfs/dn</value>
</property>
<property>
<name>fs.checkpoint.data.dir</name>
<value>file:///data/hadoop/hdfs/snn</value>
</property>
<property>
<name>fs.checkpoint.edits.dir</name>
<value>file:///data/hadoop/hdfs/snn</value>
</property>
</configuration>
etc/hadoop/mapred-site.xml
文件用于配置集群的MapReduce,framework,此处应该使用yarn,另外可使用的值还有local和classic,mapred-site.xml默认不存在,但有模块文件mapred-site.xml.template
,将其复制成mapred-site.xml即可
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>