Hadoop完全分布式搭建

 

Hadoop:hadoop-2.6.4

jdk:1.7.0_79

提前在所有机器上安装hadoop和jdk,打通互信,关闭防火墙,配置主机名映射,这里不介绍。

注意:本机需要ssh 本机: cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 

一、集群配置

1、节点规划

组件 hostname:hadoop1

hostname: hadoop2

hostname: hadoop3
HDFS NameNode
DataNode
DataNode SecondaryNameNode
DataNode
YARN NodeManager ResourceManager
NodeManager
NodeManager

注意NameNodeSecondaryNameNodeResourceManager很耗内存资源,建议不要配置在同一节点上

2、配置文件

2.1 修改核心配置文件

cd /usr/local/hadoop-2.6.4/etc/hadoop/
vim core-site.xml
在<configuration></configuration>标签中添加如下配置
    <!-- 指定HDFS中NameNode的地址 -->
    <property>
        <name>fs.default.name</name>
        <value>hdfs://hadoop1:9000</value>
    </property>

    <!-- 指定hadoop运行时产生文件的存储目录,注意tmp目录需要创建 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/data/luxiu/hadoop/data</value>
    </property>

2.2、修改HDFS配置文件

vim hdfs-site.xml
在<configuration></configuration>标签中添加如下配置
    <!-- 设置dfs副本数,不设置默认是3个 -->
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>

    <!-- 设置namenode数据存放路径 -->
    <property>
        <name>dfs.name.dir</name>
        <value>/data/luxiu/hadoop/data/name</value>
    </property>

    <!-- 设置datanode数据存放路径 -->
    <property>
    <name>dfs.data.dir</name>
    <value>/data/luxiu/hadoop/data/data</value>
    </property>
    <!-- NameNode web 端访问地址--> 
    <property>
    <name>dfs.namenode.http-address</name>
    <value>hadoop1:8888</value>
    </property>
    <!-- 设置secondname的端口 -->
    <property>
    <name>dfs.secondary.http.address</name>
    <value>hadoop3:50090</value>
    </property>

 2.3、修改YARN配置文件

vim yarn-site.xml
在<configuration></configuration>标签中添加如下配置
<!-- Site specific YARN configuration properties -->
	<!-- reducer获取数据的方式 -->
		<property>
    	<name>yarn.nodemanager.aux-services</name>
    	<value>mapreduce_shuffle</value>
 		</property>
	<!-- 指定YARN的ResourceManager的地址 -->
 		<property>
    	<name>yarn.resourcemanager.hostname</name>
    	<value>hadoop2</value>
 		</property>

 2.4、修改mapreduce配置文件

cp mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
在<configuration></configuration>标签中添加如下配置
<!-- 指定mr运行在yarn上 -->
	<property>
 		<name>mapreduce.framework.name</name>
 		<value>yarn</value>
	</property>

2.5、修改slaves配置文件

vim slaves
hadoop1
hadoop2
hadoop3

注意: 文件中添加的内容结尾不能有空格,文件中也不能有空行。

2.6、将以上配置文件同步分发至其他节点

二、集群启动

1、如果集群是第一次启动,要在namenode主节点格式化NameNode

hdfs namenode -format

注意:

格式化NameNode会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群找不到以往的数据;
如果集群在运行过程中报错,需要重新格式化NameNode的话,需要先停止NameNode和DataNode进程,并且需要删除所有节点的data和logs目录,然后再进行格式化;

2、启动集群

//启动hdfs
cd /usr/local/hadoop-2.6.4/sbin
./start-dfs.sh
//到resourcemanager的节点上启动yarn
./start-yarn.sh

3、验证 

在每一台节点上输入:jps 查看进程

[root@qsh4-sit-db-manage-1 sbin]# jps
17471 NameNode
18960 NodeManager
19110 Jps
17592 DataNode

Web端查看HDFS的NameNode

  • 浏览器访问:http://ip:8888
  • 查看HDFS上存储的数据信息

Web端查看YARN的ResourceManager,默认8088

  • 浏览器访问:http://10.4.45.82:8088
  • 查看YARN上运行的Job信息

 

三、集群测试

 

posted @ 2022-04-29 17:14  茁壮的小草  阅读(33)  评论(0编辑  收藏  举报