hadoop完全分布式

一、材料准备

三台虚拟机(2C4G,关闭防火墙,创建用户atguigu,配置sudo免密)
192.168.1.11
192.168.1.12
192.168.1.13

系统:CentOS-6.5
平台:华为云
hadoop版本:2.7.7
JDK版本:1.8.0_144

二、前期准备

1.配置主机名解释
[atguigu@hadoop101 opt]$ sudo vim /etc/hosts

172.16.31.11    hadoop101
172.16.31.12    hadoop102
172.16.31.13    hadoop103

[atguigu@hadoop101 opt]$ sudo scp /etc/hosts hadoop102:/etc/hosts
[atguigu@hadoop101 opt]$ sudo scp /etc/hosts hadoop103:/etc/hosts
2.hadoop101、hadoop102的atguigu用户,hadoop101的root用户能免密登录所有主机

ssh-keygen
ssh-copy-id 到三台主机

3.解压软件包到/opt/module,并设置权限

chown -R atguigu:atguigu /opt

三、集群部署

1.角色规划

hadoop101		NameNode,DataNode,NodeManager
hadoop102		DataNode,ResourceManager,NodeManager
hadoop103		SecondaryNameNode,DataNode,NodeManager

2.配置集群

(1)核心配置文件

[atguigu@hadoop101 hadoop-2.7.7]$ vim etc/hadoop/core-site.xml
指定HDFS中namenode的地址,指定hadoop运行时产生文件的存储目录(会自动创建)

<property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop101:9000</value>
 </property>
	
	<property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/module/hadoop-2.7.7/data/tmp</value>
    </property>

(2)HDFS配置文件

设置JAVA_HOME
[atguigu@hadoop101 hadoop-2.7.7]$ vim etc/hadoop/hadoop-env.sh

export JAVA_HOME=/opt/module/jdk1.8.0_144

设置副本数为3【现在是3台服务器】
指定SecondaryNameNode为hadoop103

[atguigu@hadoop101 hadoop-2.7.7]$ vim etc/hadoop/hdfs-site.xml

<property>
      <name>dfs.replication</name>
      <value>3</value>
</property>

<property>
      <name>dfs.namenode.secondary.http-address</name>
      <value>hadoop103:50090</value>
</property>

(3)YARN配置文件
设置JAVA_HOME
[atguigu@hadoop101 hadoop-2.7.7]$ vim etc/hadoop/yarn-env.sh

export JAVA_HOME=/opt/module/jdk1.8.0_144

指定resourcemanager的主机为hadoop102
reducer获取数据的方式

[atguigu@hadoop101 hadoop-2.7.7]$ vim etc/hadoop/yarn-site.xml

    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop102</value>
    </property>
	
	<property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

(4)MapReduce配置
设置JAVA_HOME
[atguigu@hadoop101 hadoop-2.7.7]$ vim etc/hadoop/mapred-env.sh

export JAVA_HOME=/opt/module/jdk1.8.0_144

配置etc/hadoop/mapred-site.xml文件

[atguigu@hadoop101 hadoop-2.7.7]$ mv etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml

vim etc/hadoop/mapred-site.xml
指定mapreduce运行在YARN上

    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value> 
    </property>

3.同步配置文件到其它主机

拷贝hadoop和JDK安装目录,并在相应主机修改属主和属组

hadoop和jdk已经解压到/opt/module下

[atguigu@hadoop101 opt]$ scp -r module root@hadoop102:/opt/
[atguigu@hadoop101 opt]$ scp -r module root@hadoop103:/opt/

[atguigu@hadoop102 opt]$ sudo chown -R atguigu:atguigu module/
[atguigu@hadoop103 opt]$ sudo chown -R atguigu:atguigu module/

4.拷贝/etc/profile到其他主机,并重新加载该文件,使环境变量生效

配置环境变量
[atguigu@hadoop101 opt]$ vim /etc/profile

## JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin

## HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.7.7
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

[atguigu@hadoop101 opt]$ sudo scp /etc/profile hadoop102:/etc/profile
[atguigu@hadoop101 opt]$ sudo scp /etc/profile hadoop103:/etc/profile

[atguigu@hadoop102 opt]$ source /etc/profile
[atguigu@hadoop103 opt]$ source /etc/profile

启动集群

1.格式化namenode,生成元数据,如fsimage、fsedits

bin/hdfs namenode -format
2.配置集群节点
vi etc/hadoop/slaves

hadoop101
hadoop102
hadoop103

不允许有空格和空行
使用scp将slaves同步到其它主机
3.启动集群

[atguigu@hadoop101 hadoop-2.7.7]$ sbin/start-dfs.sh
在hadoop102上启动yarn
[atguigu@hadoop102 hadoop-2.7.7]$ sbin/start-yarn.sh

启动完成后用jps查看角色是否与自己规划的一致,至此集群搭建完成

测试集群

1.上传文件测试

bin/hdfs dfs -put wcinput/wc.input /
查看:
bin/hdfs dfs -ls /
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值