安装hadoop集群步骤:
准备工作:
在hadoop1、hadoop2、hadoop3、hadoop4节点上
a、关闭防火墙:—>service iptables stop
b、在每一个节点上创建一个目录/bigdata,用来存放安装的软件:
—>mkdir /bigdata
在hadoop1节点上:
1、上传jdk、hadoop源码包
传输文件的工具:WinScp----可拖拉文件的上传工具

2、解压上传文件到指定文件夹中
tar
-z 按照gzip压缩方式 -----.gz一般用作解压,压缩后缀名为.gz文件
-j 按照bzip2压缩方式 -----.bz2
-x 抽取—解压意思
-c 聚合—压缩意思
-v 显示信息
-f 目标文件
-C 可以选择指定的文件夹

[root@hadoop1 ~]# tar -zxvf /tmp/jdk-8u162-linux-x64.tar.gz -C /bigdata
 [root@hadoop1 ~]# tar -zxvf /tmp/hadoop-2.7.3.tar.gz -C /bigdata

3、配置环境变量 start-all.sh ----启动hadoop集群
---->vi /etc/profile
export 修饰变量为全局变量
jdk环境变量:
#jdk
export JAVA_HOME=/bigdata/jdk1.8.0_162

hadoop环境变量:
 hadoop中有两个需要配置文件夹:
 bin:存放hadoop基础命令
 sbin:存放hadoop启动命令,关闭命令等
 #hadoop
 export HADOOP_HOME=/bigdata/hadoop-2.7.3
 追加到PATH路径下
 export PATH=HADOOP_HOME/bin:PATH:$HOME/bin


环境变量生效

[root@hadoop1 ~]# source /etc/profile
 测试:
 [root@hadoop1 ~]# java -version
 java version “1.8.0_162”
 Java™ SE Runtime Environment (build 1.8.0_162-b12)
 Java HotSpot™ 64-Bit Server VM (build 25.162-b12, mixed mode)
 [root@hadoop1 ~]# hadoop version
 Hadoop 2.7.3


环境变量配置成功

4、4个节点之间免密配置
a、配置IP和主机名影射关系:
vi /etc/hosts
在每一个节点上添加:

192.168.43.199 hadoop1
 192.168.43.200 hadoop2
 192.168.43.201 hadoop3
 192.168.43.202 hadoop4
 测试:(针对每一个不同的节点)
 ping hadoop1
 ping hadoop2
 ping hadoop3
 ping hadoop4

b、配置免密
在每一个节点上输入—>

ssh-keygen -t rsa ------免密配置
 例如:[root@hadoop1 ~]# ssh-keygen -t rsa 直接四步回车
 分别在Hadoop2、hadoop3、hadoop4节点上
 [root@hadoop2 ~]# cp ~/.ssh/id_rsa.pub ~/.ssh/hadoop2.pub
 [root@hadoop3 ~]# cp ~/.ssh/id_rsa.pub ~/.ssh/hadoop3.pub
 [root@hadoop4 ~]# cp ~/.ssh/id_rsa.pub ~/.ssh/hadoop4.pub
 发送公钥到hadoop1节点上:(用户相同可以采用以下方式—root)
 [root@hadoop2 ~]# scp ~/.ssh/hadoop2.pub hadoop1:~/.ssh/
 可以选择给hadoop1节点上的不同用户发送
 [root@hadoop3 ~]# scp ~/.ssh/hadoop3.pub root@hadoop1:~/.ssh/
 发送给陌生人(没有没有ip影射)
 [root@hadoop4 ~]# scp ~/.ssh/hadoop4.pub root@192.168.43.199:~/.ssh/
 注意:目前采用是第一种方式。
 把4个节点上公钥都添加一个叫做authorized_keys文件中
 [root@hadoop1 ~]# cat ~/.ssh/id_rsa.pub ~/.ssh/hadoop2.pub ~/.ssh/hadoop3.pub ~/.ssh/hadoop4.pub >>~/.ssh/authorized_keys
 备注:authorized_keys 是一个认证文件
 把authorized_keys文件发送给hadoop2、hadoop3、hadoop4
 [root@hadoop1 ~]# scp ~/.ssh/authorized_keys hadoop2:~/.ssh/
 [root@hadoop1 ~]# scp ~/.ssh/authorized_keys hadoop3:~/.ssh/
 [root@hadoop1 ~]# scp ~/.ssh/authorized_keys hadoop4:~/.ssh/
配置文件的执行权限:
 chmod 700 ~/.ssh
 chmod 600 ~/.ssh/authorized_keys
 举例说明:4个节点上都需要执行---->
 [root@hadoop1 ~]# chmod 700 ~/.ssh
 [root@hadoop1 ~]# chmod 600 ~/.ssh/authorized_keys
 测试免密是否配置成功:
 [root@hadoop1 ~]# ssh hadoop4 (hadoop2、hadoop3)
 Last login: Mon Sep 16 16:46:40 2019 from 192.168.43.159
 -----------------------------免密配置成功------------------------------

-

Hadoop源码包目录结构:

bin:hadoop 基本命令的文件
 —hadoop namenode -format 类似 hadoop version
 sbin:存放hadoop集群启动和关闭命令
 —start-all.sh、start-dfs.sh、stop-all.sh
 准备工作:
 搞配置—搞优化
 namenode----所有信息都保存内存中----内存的需求极大
 secondarynamenode—辅助进程,需要namenode同样配置
 resourcemanager—需要内存—有条件尽量独占一个节点
 nodemanager ----节点管理,需要在每一个节点上配置
 datanode----可以在每一个节点配置
 hadoop1 hadoop2 hadoop3 hadoop4
 namenode × √ × ×
 secondarynamenode × × √ ×
 resourcemanager × × × √
 nodemanager √ √ √ √
 datanode √ √ √ √
 配置参考:hadoop官网 http://hadoop.apache.org/ ---- https://hadoop.apache.org/old/
 https://hadoop.apache.org/docs/r2.7.3/ -----hadoop 2.7.3官方参考文档
 file:/// ----本地文件系统
 hdfs:// ----hdfs分布式文件系统开始配置---------hadoop集群-----------------------------
 修改hadoop的配置信息:HODOOP_HOME===/bigdata/hadoop-2.7.3)
a、hadoop启动文件----hadoop-env.sh
 vi /bigdata/hadoop-2.7.3/etc/hadoop/hadoop-env.sh ---->vi 打开
 export JAVA_HOME=/bigdata/jdk1.8.0_162 -----修改jdk真实安装路径
b、hadoop的通用文件配置—core-site.xml
 vi /bigdata/hadoop-2.7.3/etc/hadoop/core-site.xml



 fs.defaultFS
 hdfs://hadoop2:9000



 hadoop.tmp.dir
 /bigdata/tmp/hadoop


c、修改hdfs分布式配置信息—hdfs-site.xml —HDFS



 dfs.namenode.secondary.http-address
 hadoop3:50090


d、修改mapred-site.xml ----mapreduce



 mapreduce.framework.name
 yarn


e、修改yarn-site.xml ----->resourcemanager



 yarn.resourcemanager.hostname
 hadoop4



 yarn.nodemanager.aux-services
 mapreduce_shuffle


f、slaves
 hadoop1
 hadoop2
 hadoop3
 hadoop4
 发送文件到hadoop2、hadoop3、hadoop4
 /etc/profile
 [root@hadoop1 ~]# scp /etc/profile hadoop2:/etc/profile
 [root@hadoop1 ~]# scp /etc/profile hadoop3:/etc/profile
 [root@hadoop1 ~]# scp /etc/profile hadoop3:/etc/profile
 /bigdata 文件夹
 [root@hadoop1 ~]# scp -r /bigdata hadoop2:/
 [root@hadoop1 ~]# scp -r /bigdata hadoop3:/
 [root@hadoop1 ~]# scp -r /bigdata hadoop4:/
 在hadoop2、hadoop3、hadoop4分别生效环境变量
 source /etc/profile
 在hadoop2-----在namenode所在节点上格式化
格式化namenode、datanode
 [root@hadoop1 ~]# hadoop namenode -fromat 格式化
 [root@hadoop1 ~]# hadoop datanode -fromat 格式化
启动测试:
 [root@hadoop1 ~]# start-all.sh
 [root@hadoop4 ~]# yarn-daemon.sh start resourcemanager