文章目录
- 说明
- 分享
- 环境
- 节点规划如下
- 安装hadoop
- 上传安装包
- 配置hadoop
- 配置说明
- 默认配置
- 自定义配置
- 修改配置
- 修改core-site.xml
- 修改hdfs-site.xml
- 修改yarn-site.xml
- 修改mapred-site.xml
- 同步配置
- 添加环境变量并同步
- 启动hadoop
- 配置workers文件
- 格式化集群
- 启动HDFS
- 启动yarn
- 验证
- 验证hdfs
- 验证yarn
- MapReduce
- yarn 记录
- hdfs查看结果
- 总结
说明
现在准备并配置好了服务器,安装好jdk,现在开始安装hadoop集群。
分享
- 大数据博客列表
- 开发记录汇总
- 个人java工具库 项目https://gitee.com/wangzonghui/object-tool
- 包含json、string、集合、excel、zip压缩、pdf、bytes、http等多种工具,欢迎使用。
环境
- hadoop 3.3.4 下载地址
节点规划如下
组件\节点 | hadoop102 | hadoop103 | hadoop104 |
---|---|---|---|
HDFS | NameNode、DataNode | DataNode | SecondaryNameNode、DataNode |
Yarn | Nodemanager | ResourceManager NodeManager | NodeManager |
安装hadoop
- 操作过程使用创建用户操作,这里是前面创建的用户
wang
,如遇权限问题,使用sudo
升级权限
上传安装包
- 在hadoop102操作,上传hadoop安装包到目录:
/opt/software
- 解压到安装目录:
tar -zxvf hadoop-3.3.4.tar.gz /opt/module/
配置hadoop
- hadoop配置文件分为默认配置和site自定义配置
配置说明
默认配置
- 默认配置为jar包自带环境配置,具体如下:
默认配置文件 | hadoop的jar包中位置 |
---|---|
core-default.xml | hadoop-common-3.3.4.jar/core-default.xml |
hdfs-default.xml | hadoop-hdfs-3.3.4.jar/hdfs-default.xml |
yarn-default.xml | hadoop-yarn-common-3.3.4.jar/yarn-default.xml |
mapred-default.xml | hadoop-mapreduce-client-core-3.3.4.jar/mapred-default.xml |
自定义配置
- 自定义配置4个分别为:
core-site.xml
、hdfs-site.xml
、yarn-site.xml
、mapred-site.xml
,存储路径为:$HADOOP_HOME/etc/hadoop
路径下。
修改配置
- 进入hadoop102 配置文件目录:
/opt/module/hadoop-3.3.4/etc/hadoop
修改core-site.xml
- 修改文件:
core-site.xml
,configuration
节点填写内容如下:
<configuration>
<!-- NameNode 地址设置-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop102:8020</value>
</property>
<!-- 数据存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-3.2.2/data</value>
</property>
<!-- HDFS网页登录静态用户-->
<property>
<name>hadoop.http.staticuser.user</name>
<value>wang</value>
</property>
</configuration>
修改hdfs-site.xml
- 修改文件
hdfs-site.xml
,configuration
节点填写内容如下:
<configuration>
<!--NameNode web访问地址 -->
<property>
<name>dfs.namenode.http-address</name>
<value>hadoop102:9870</value>
</property>
<!--SecondNameNode web访问地址 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop104:9868</value>
</property>
</configuration>
修改yarn-site.xml
- 修改文件
yarn-site.xml
,configuration
节点填写内容如下:
<configuration>
<!--指定MR走shuffle-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--指定ResourceManager地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop103</value>
</property>
<!--继承环境变量-->
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
</configuration>
修改mapred-site.xml
- 修改文件
yarn-site.xml
,configuration
节点填写内容如下:
<configuration>
<!--指定MapReduce程序运行在yarn上-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
同步配置
- hadoop102 配置文件目录:
/opt/module/hadoop-3.3.4/etc
执行:xsync hadoop/
,同步修改后的文件到hadoop103、hadoop104节点
添加环境变量并同步
- hadoop102 添加hadoop环境变量,编辑文件:
vi /etc/profile.d/my_env.sh
,增加如下内容:
#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.3.4
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
- 同步文件:
xsync /etc/profile.d/my_env.sh
启动hadoop
- 新搭建hadoop集群需要先配置
workers
,再格式化hadoop集群,最后启动hadoop集群。
配置workers文件
- hadoop102 编辑workers文件 :
vim /opt/module/hadoop-3.3.4/etc/hadoop/workers
,设置集群节点信息,添加如下内容:
hadoop102
hadoop103
hadoop104
注意:
文件添加内容结尾不能有空格,不能有空行,不能有空行。
- 同步配置文件到所有节点:
xsync /opt/module/hadoop-3.3.4/etc
格式化集群
- 如果集群是第一次启动,需要格式化NameNode,hadoop102格式化几圈:
hdfs namenode -format
说明
- 如果集群在运行过程中报错,需要重新格式化NameNode,一定先停止所有Namenode和Datanode进程,再删除所有机器的data和logs目录,再进行格式化。
- 格式化Namenode会让集群产生新id,如果不清空目录data和logs,新旧id不一致,会造成集群异常。
启动HDFS
- hadoop102 节点,
/opt/module/hadoop-3.3.4
目录下执行:sbin/start-dfs.sh
,启动hdfs
启动yarn
- yarn部署在hadoop103 ,登录hadoop103,
/opt/module/hadoop-3.3.4
目录下执行:sbin/start-yarn.sh
验证
- 控制台执行
jps
,查看java进程,确认服务是否正常启动。
验证hdfs
-
浏览器打开网址:
http://192.168.10.102:9870/
,确认hdfs服务是否启动正常
-
可以通过
Utilities
菜单子菜单Browser the file system
网页端操作hdfs文件系统,创建删除目录,增加删除文件。
-
除了网页可以节点控制台通过hadoop命令操作hadoop系统,详细命令介绍参照 hadoop命令 ,大致命令如下:
# 创建目录
hadoop fs -mkdir /input
# 上传文件
hadoop fs -put /opt/software/jdk-8u201-linux-x64.tar.gz /input
# 下载文件到当前目录
hadoop fs -get /opt/software/jdk-8u201-linux-x64.tar.gz
# 删除文件
hadoop fs -rm -f /input/jdk-8u201-linux-x64.tar.gz
# 删除文件夹
hadoop fs -rm -r -f /input
验证yarn
- 浏览器打开网址:
http://192.168.10.103:8088/cluster
,可以看到yarn调到信息页面
MapReduce
-
执行MapReduce任务实例
-
创建数据源目录:
hadoop fs -mkdir /input
, -
创建数据文件:
vi word.txt
,内容为随意字符换行,实例如:sadfssf ada wof ssdd
-
数据文件上传hdfs:
hadoop fs -put word.txt /input
-
执行MapReduce实例任务,统计单词树:
hadoop jar /opt/module/hadoop-3.3.4/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar wordcount /input /output
output
为结果输出hdfs目录,不要提前创建目录,MapReduce输出目录不能存在,否则会报错。
-
出现
successfully
表示执行成功。
yarn 记录
- 打开网址:
http://192.168.10.103:8088/cluster
,可看到yarn记录
hdfs查看结果
- 打开网址:
http://192.168.10.102:9870/
,进入output目录,查看MapReduce任务结果。
总结
- 基础版hadoop集群搭建完成,完成整个操作过程,可加深理解hadoop平台运行原理。