第二章 Hadoop集群搭建

系列文章:
第一章 Hadoop集群搭建的准备
第二章 Hadoop集群搭建
第三章 Zookeeper分布式集群部署(2n+1台虚拟机)
第四章 Hadoop高可用集群搭建(HA)
第五章 Hive的安装与配置
待更新
第九章 spark独立模式部署(Standalone)
第十章 spark配置历史服务
第十一章 搭建Spark高可用(HA)
第十二章 spark配置Yarn模式(混合部署模式)
待更新



前言


一、Hadoop集群部署模式

Hadoop集群部署分为三个模式:独立模式、伪分布式、完全分布式。详细解释请自行百度,本文将部署完全分布式模式。使用三台虚拟机。

二、JDK安装

1.下载JDK

   华为云镜像下载连接:https://repo.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz

2.安装JDK

打开xshell连接虚拟机,在虚拟机上安装rz命令来,用于将本地文件上传到虚拟机。下载命令如下:

yum install lrzsz -y

上传JDK到/export/software目录下,并解压。命令如下:

cd /export/software  //没有该目录则先创建目录
rz	//该命令会打开一个窗口,用来上传文件
tar -zxvf jdk-8u291-linux-x64.tar.gz -C /export/servers	//解压文件,压缩包的名字改成自己的
cd /export/servers  //进入jdk安装目录
mv jdk1.8.0_291 jdk  //将安装后的文件夹重命名为jdk

3.配置JDK环境变量

打开/etc/profile文件,命令如下:

vim /etc/profile

在/etc/profile文件的末尾添加以下内容:

#jdk
export JAVA_HOME=/export/servers/jdk
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

执行以下命令,使配置文件生效:

source /etc/profile

三、Hadoop安装

1.下载Hadoop

   华为云镜像下载连接:https://repo.huaweicloud.com/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz

2.安装Hadoop

将hadoop压缩包上传到/export/software目录下,并解压。命令如下:

cd /export/software
rz	//该命令会打开一个窗口,用来上传文件
tar -zxvf hadoop-2.7.4.tar.gz -C /export/servers	//解压文件,压缩包名称改为自己的压缩包名称

3.配置Hadoop环境变量

打开/etc/profile文件,命令如下:

vim /etc/profile

在/etc/profile文件的末尾添加以下内容:

#hadoop
export HADOOP_HOME=/export/servers/hadoop-2.7.4
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

hadoop3.0之后的版本还需要添加以下配置,设置权限。

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

执行以下命令,使配置文件生效:

source /etc/profile

四、Hadoop集群配置

配置完后,请仔细检查配置文件的内容是否正确。

1.主要配置文件

hadoop-env.sh:配置Hadoop运行所需的环境变量。
yarn-env.sh:配置yarn运行所需的环境变量。
core-site.xml:Hadoop核心全局配置文件,可在其它配置文件中引用。
hdfs-site.xml:HDFS配置文件,继承core-site.xml配置文件。
mapred-site.xml:MapReduce配置文件,继承core-site.xml配置文件。
yarn-site.xml:yarn配置文件,继承core-site.xml配置文件。

2.配置Hadoop集群的配置文件(配置文件都保存在/export/servers/hadoop-2.7.4/etc/hadoop目录下)

(1)配置Hadoop集群主节点(这里将hadoop01作为主节点)

进入/export/servers/hadoop-2.7.4/etc/hadoop目录下,代码如下:

cd /export/servers/hadoop-2.7.4/etc/hadoop
1)配置hadoop-env.sh文件
vim hadoop-env.sh

找到export JAVA_HOME参数,去掉开头的注释符“#”,并给它赋值,如下:

export JAVA_HOME=/export/servers/jdk
2)配置core-site.xml文件

打开core-site.xml文件,代码如下:

vim core-site.xml

在文件的<configuration></configuration>标签之间,添加以下内容:

<!--指定文件类型 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:9000</value>
</property>

<!--指定Hadoop集群的临时文件目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>file:/export/servers/hadoop-2.7.4/tmp</value>
</property>
3)配置hdfs-site.xml文件

打开hdfs-site.xml文件,代码如下:

vim hdfs-site.xml

在文件的<configuration></configuration>标签之间,添加以下内容:

<!--指定hdfs中存放文件时的副本数 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>

<!--指定secondary主机(辅助管理namenode主节点)和端口号 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop02:50090</value>
</property>

<property>
<name>dfs.namenode.name.dir</name>
<value>file:/export/servers/hadoop-2.7.4/namenode_dir</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/export/servers/hadoop-2.7.4/datanode_dir</value>
</property>
4)配置mapred-site.xml文件

该文件的文件名为mapred-site.xml.template,需执行以下命令更改文件名为mapred-site.xml:

mv mapred-site.xml.template mapred-site.xml

打开mapred-site.xml文件,代码如下:

vim mapred-site.xml

在文件的<configuration></configuration>标签之间,添加以下内容:

<!--指定MapReduce运行时框架,这里指定在Yarn上,默认是local -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=/export/servers/hadoop-2.7.4</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=/export/servers/hadoop-2.7.4</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=/export/servers/hadoop-2.7.4</value>
</property>
5)配置yarn-site.xml文件

打开yarn-site.xml文件,代码如下:

vim yarn-site.xml

在文件的<configuration></configuration>标签之间,添加以下内容:

<!--设置yarn主节点的主机 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop01</value>
</property>

<!--辅助型配置 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

<!--设置NodeManager的空间,必须大于等于1024M-->
<!--可以先不设置,如果NodeManager无法开启,则需要设置。-->
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>1024</value>
</property>
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>1</value>
</property>
6)修改slaves文件

打开slaves文件(3.0版本之后是workers文件),代码如下:

vim slaves

先清空原文件内容,然后添加整个集群的从节点,内容如下:

hadoop01
hadoop02
hadoop03

(2)将集群主节点(Hadoop01)的配置文件分发给其他子节点。

在hadoop01下执行依次以下命令:

scp /etc/profile hadoop02:/etc/profile
scp /etc/profile hadoop03:/etc/profile
scp -r /export hadoop02:/
scp -r /export hadoop03:/

完成上述操作后,在hadoop02和hadoop03上分别执行以下命令,使配置文件生效:

source /etc/profile

五、Hadoop集群测试

1.格式化文件系统

初次启动HDFS集群,必须对主节点(HDFS主节点)进行格式化处理,此后不需要再格式化,多次格式化会导致datanode节点无法开启。(如果多次格式化导致无法开启datanode或有的datanode节点无法打开,请看文章末尾的解决办法。)

在hadoop01(主节点)下执行格式化文件系统指令,如下(两个命令二选一):

hdfs namenode -format
hadoop namenode -format

2.启动和关闭Hadoop集群

启动:启动内部包含的HDFS集群和YARN集群框架。
启动方式:单节点逐个启动与使用脚本一键启动。

(1)单节点逐个启动

#在主节点(hadoop01)上开启HDFS主节点
hadoop-daemon.sh start namenode
#从三台从节点(hadoop01、hadoop02、hadoop03)上开启HDFS从节点
hadoop-daemon.sh start datanode

注:这里的hadoop01即是主节点,也是从节点。因为在上面修改slaves文件(填写从节点的文件)时,填写的从节点是三台虚拟机。

#在辅助机(在配置文件hdfs-site.xml中配置的辅助机hadoop02)上开启辅助节点
hadoop-daemon.sh start secondarynamenode
#在主节点开启YARN Resourcemanger
yarn-daemon.sh start resourcemanger
#在每个从节点上开启YARN nodemanager
yarn-daemon.sh start nodemanger

(2)脚本一键启动

在主节点执行“start-dfs.sh”开启所有HDFS服务进程。
在主节点执行“start-yarn.sh”开启所有yarn服务进程。
在主节点执行“start-all.sh”开启整个Hadoop集群服务进程(不建议使用)。

(3)检查是否开启Hadoop各个服务

三台虚拟机分别输入命令:jps
三台主机输出的结果分别如下:
请添加图片描述
请添加图片描述
请添加图片描述

3.通过UI界面查看Hadoop运行状态

(1)两个端口号

50070:监控HDFS集群。
8088:监控YARN集群。

(2)windows端操作

设置IP映射:
打开C:\Windows\System32\drivers\etc\下的hosts文件,在文件末尾添加以下内容。

192.168.121.134 hadoop01
192.168.121.135 hadoop02
192.168.121.136 hadoop03

(3)Linux虚拟机端

禁止防火墙:

service iptables stop

禁止防火墙开机自启:

chkconfig iptables off

(4)打开UI界面

在本地浏览器的地址栏输入对应的主节点IP和想要查看的端口号即可,如下:

hadoop01:50070
hadoop01:8088

UI如图所示:
请添加图片描述
请添加图片描述

datanode节点无法全部开启问题的解决办法

请添加图片描述

打开Hadoop的安装路径,进入安装路径下的hadoop-2.7.4/tmp/dfs/data(不存在则进入hadoop-2.7.4/datanode_dir)目录,将所有节点(所有虚拟机)的current文件夹删除。这里Hadoop的安装路径是/export/servers,命令如下(所有虚拟机均执行):

cd /export/servers/hadoop-2.7.4/tmp/dfs/data
# 不存在则 cd /export/servers/hadoop-2.7.4/datanode_dir
rm -rf current

完成后,重启Hadoop集群即可。
成功后如下所示:请添加图片描述

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开朗小哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值