Hadoop集群的搭建(单机版)
学习目标:
- 了解大数据的特点
- 在centos7中搭建一个单机版的Hadoop集群
学习时间:
2021.4.13
学习产出:
大数据特点 :
a. 多样性
a. 大量
a. 高速
a. 价值密度低
a. 真实性
-
Hadoop起源(有谷歌的收费软件发展而来) :
GFS(Google File System)(提供数据存储) MapReduce(解决数据的分析与计算)
-
Hadoop的两个角色:
-
Master 主机 Slave/worker : 奴隶机 从机
-
搭建Hadoop集群(主从机都在一台机器)
前提准备一定数量的主机(一台主机) 实现了ssh免密 需要配备 jdk环境 Hadoop压缩包
a. 将压缩包解压,并放置到 /user/hadoop和 /user/java目录下
tar -zvxf hadoop.tar.gz -C /usr/hadoop tar -zvxf java1.8.0_131.tar.gz -C /usr/java
a. 减压完毕后,进入Hadoop目录中,了解各个目录的功能
bin:放置一些 Hadoop 的常用命令 etc:放置Hadoop的一些配置文件 include lib libexec存放一些关于C语言的相关文件 sbin:存放一些Hadoop的脚本命令 share:存放一些Hadoop的API和 jars,和开发相关
a. 为Hadoop配置环境变量,目的是执行脚本命令时可以不用加 命 令的路径
export HADOOP_HOME=/usr/hadoop/hadoop-3.2.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
a. 为java配置环境变量,Hadoop需要依靠Java环境
export JAVA_HOME=/usr/java/jdk1.8.0_131
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
a. 为Hadoop设置Master worker 和 备用Master的用户
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
a. 为“集群”配置 ssh免密操作,由于是单机版的Hadoop集群,所以只需把该主机的公钥添加到authorized_keys即可
cat id_rsa.pub >> authorized_keys
a. 修复Hadoop中的bug 配置好服务后,随便启动一个命令 如 start-dfs.sh,可能会出现ERROR:JAVA_HOME is not set and could not be found,原因是 在 Hadoop的 /etc/hadoop/hadoop-env.sh文件中没有 设置java的安装目录
export JAVA_HOME=/usr/java/jdk1.8.0_131
a. 至此单机版安装成功
-
但有时候可能警告:需要将i主机地址添加到一个List of known hosts里边 a. 我们只需在 /etc/hosts里设置主机名与IP地址的映射即可
如 : 192.168.152.44 localhost