hadoop下载链接
假设在你的linux上面有三个虚拟机hadoop102 hadoop103 hadoop104
然后我们打开hadoop102进行安装hadoop,将我们下载好的压缩包利用xftp移到我们的虚拟机文件夹下分别是jdk包和hadoop包,这个虚拟机的文件夹自己没有的创建一个就行,地方都无所谓我是在opt目录下创建的一个software用来存放
进入到本地文件夹,我们输入tar命令进行文件压缩,并且用-c将他压缩到我们同级的另一个文件夹下起名叫module,没有的提前创建一下。
[root@hadoop102 software]# tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/
1.压缩好了之后我们配置jdk环境变量:
[root@hadoop102 software]# sudo vim /etc/profile.d/my_env.sh
(2)添加如下内容 ,JAVA_HOME后面的路径就是你自己安装jdk的路径,保存后退出,先按esc再按wq保存
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin
[root@hadoop102 software]# source /etc/profile
4)我们测试一下java环境变量是否安装好了
[root@hadoop102 software]# java -version
5)如果显示下面的消息证明你已经成功安装好了jdk并且配置好了环境变量,如果没有显示的话重启一下就可以了
2.我们在hadoop102环境下面安装hadoop
1)还是利用xftp我们将压缩包转入我们的software文件夹里面
2)利用tar -zxvf进行解压压缩,还是压缩到我们的module文件夹里面去
[root@hadoop102 software]# tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/
3)在我们的module文件夹里面就会看到这两个文件夹
4)我们将hadoop的环境变量配置一下,这里面用sudo为了将我们的权限设置为root权限防止我们权限不够无法修改,还是进入到我们自己写的配置文件里面去
[root@hadoop102 software]# sudo vim/etc/profile.d/my_env.sh
5)在后面加上配置信息,也就是我们刚才配置好的java信息后面,然后退出并且保存
#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
6)同理source让其生效
[root@hadoop102 software]# source /etc/profile
7)检查hadoop是否配置成功
[root@hadoop102 software]# hadoop version
Hadoop 3.1.3
这个时候我们就已经在hadoop102上面安装好了jdk和hadoop并且配置好了环境变量了,这个时候我们可以采用rsync命令进行复制到其他虚拟机,或者重复上面的工作在其他虚拟机上面进行部署,这里就不一一演示;
当你都部署好了之后我们就可以部署集群了,由于NameNode 和 SecondaryNameNode 工作是具有重复性的并且都消耗内存比较大,不要安装在同一台服务器 ResourceManager 也很消耗内存,不要和 NameNode、SecondaryNameNode 配置在同一台机器上。所以我们将其分开部署:
2 )配置文件说明Hadoop 配置文件分两类:默认配置文件和自定义配置文件,只有用户想修改某一默认配置值时,才需要修改自定义配置文件,更改相应属性值。(1 )默认配置文件:要获取的默认文件[core-default.xml][hdfs-default.xml][yarn-default.xml][mapred-default.xml]2 )自定义配置文件:core-site.xml 、 hdfs-site.xml 、 yarn-site.xml 、 mapred-site.xml 四个配置文件存放在$HADOOP_HOME/etc/hadoop 这个路径上,用户可以根据项目需求重新进行修改配置。
所以我们主要配置 core-site.xml 、 hdfs-site.xml 、 yarn-site.xml 、 mapred-site.xml 四个配置文件即可。
[root@hadoop102 /]# cd $HADOOP_HOME/etc/hadoop
[root@hadoop102 hadoop]# vim core-site.xml
在
fs.defaultFS
hdfs://hadoop102:8020
hadoop.tmp.dir
/opt/module/hadoop-3.1.3/data
hadoop.http.staticuser.user
root
然后后面的其他三个配置都是一样的修改方式,加入自己需要的配置即可
配置 hdfs-site.xml
[root@hadoop102 hadoop]# vim hdfs-site.xml
dfs.namenode.http-address
hadoop102:9870
dfs.namenode.secondary.http-address
hadoop104:9868
[root@hadoop102 hadoop]# vim yarn-site.xml
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.resourcemanager.hostname
hadoop103
yarn.nodemanager.env-whitelist
JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CO
NF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAP
RED_HOME
[root@hadoop102 hadoop]# vim mapred-site.xml
mapreduce.framework.name
yarn
到此我们的hadoop个人配置就已经配置好了,但这个只是hadoop102上面的配置我们需要在103,104上面都需要配置,复制即可
到这里我们默认已经配置好了102,103,104里面的所有内容
我们先配置workers:
[root@hadoop102 hadoop]# vim /opt/module/hadoop-3.1.3/etc/hadoop/workers
再文件下面输入(注意:该文件中添加的内容结尾不允许有空格,文件中不允许有空行。):
hadoop102
hadoop103
hadoop104
同理我们在其他103,104里面也需要配置
2 )启动集群( 1 ) 如果集群是第一次启动 ,需要在 hadoop102 节点格式化 NameNode (注意:格式化 NameNode ,会产生新的集群 id ,导致 NameNode 和 DataNode 的集群 id 不一致,集群找不到已往数据。如果集群在运行过程中报错,需要重新格式化 NameNode 的话,一定要先停止 namenode 和 datanode 进程,并且要删除所有机器的 data 和 logs 目录,然后再进行格式 化
[root@hadoop102 hadoop]# hdfs namenode -format
[root@hadoop102 hadoop]# sbin/start-dfs.sh
(3)在配置了 ResourceManager 的节点(hadoop103)启动 YARN
[root@hadoop102 hadoop]# sbin/start-yarn.sh
至此我们就配置好集群了