Hadoop安装
在Linux、Windows、macOS下安装都需要先安装java环境,再安装hadoop,均需要配置环境变量。怎么配置可自行查找资料,这里就不介绍了。
Hadoop的运行模式配置
Hadoop的运行模式分为3种:本地运行模式、伪分布运行模式、集群运行模式。
1、独立模式即本地运行模式
无需运行任何守护进程,所有程序都在单个JVM上执行。由于在本机模式下测试和调试MapReduce程序较为方便,因此,这种模式适宜用在开发阶段。独立模式无需配置任何文件。
2、伪分布运行模式
如果Hadoop对应的Java进程都运行在一个物理机器上,称为伪分布运行模式。以Windows为例,在其它系统下,需要修改路径。Linux下需要在hadoop-2.7.2/etc/hadoop/hadoop-env.sh指定java环境变量
伪分布运行模式需要配置core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml
core-site.xml:指定hadoop的主节点master。
hdfs-site.xml:指定hadoop中的文件副本数。
mapred-site.xml:指定mapreduce的资源管理。
yarn-site.xml:
core-site.xml配置如下:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/G:/tmp</value> <!--windows下创建文件夹 -->
<value>/home/hadoop/bigdata/temp</value> <!--linux下创建文件夹 指定hadoop运行时产生临时文件的存储目录-->
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
hdfs-site.xml配置:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value><!--副本为1 -->
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/G:/tmp/data/namenode</value><!--windows下创建文件夹 ,linux需要指定目录-->
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/G:/tmp/data/datanode</value><!--windows下创建文件夹,linux需要指定目录 -->
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>http://localhost:50090</value>
</property>
</configuration>
mapred-site.xml配置:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>(选择yarn来mapreduce)
</property>
</configuration>
yarn-site.xml配置:
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
Windows下启动hadoop
1、运行cmd窗口,切换到hadoop安装目录下的bin目录下执行hdfs namenode -format
2、运行cmd窗口,切换到hadoop的sbin目录,执行start-all.cmd,它将会启动5个进程。
启动之后,可用jps命令查看,如下图,然后可进行增删改查、创建的命令操作。
Linux下启动hadoop
1、切换到hadoop安装目录下的bin目录下执行hdfs namenode -format
2、切换到hadoop的sbin目录,执行start-all.sh,它将会启动5个进程。
启动之后,可用jps命令查看。
3、集群模式
Linux系统,在虚拟机中创建四台系统:首先创建4台虚拟机,分别命名为hp001、hp002、hp003、hp004。安装成功后,然后分别修改主机名(hp001、hp002、hp003、hp004),再修改/etc/hosts文件(hp002、hp003、hp004同hp001),本机IP对应主机名。
hadoop1 node1作为名称节点
hadoop2 node2作为辅助名称节点
hadoop3 node3作为数据节点
hadoop4 node4作为数据节点
完全分布式配置方式:配置文件/home/hadoop/bigdata/hadoop-2.7.2/etc/hadoop/下的四个xml文件。
core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hp001</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/bigdata</value>
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hp002:50090</value>
</property>
</configuration>
mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hp001</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
把/home/hadoop/bigdata/hadoop-2.7.2/etc/hadoop/slaves文件修改为
hp003
hp004
在集群上分发以上5个文件
cd /home/hadoop/bigdata/hadoop-2.7.2/etc/hadoop
xsync core-site.xml
xsync hdfs-site.xml
xsync mapred-site.xml
xsync yarn-site.xml
xsync slaves
首次启动hadoop
1)格式化文件系统
$>hadoop namenode -format
2)启动所有进程
$>start-all.sh
3)查询进程
$>xcall jps