Hadoop环境搭建

Hadoop环境搭建

Hadoop简介

HDFS

工作机制

hdfs工作机制

组件介绍
  1. NameNode
    NameNode用于存储、生成文件系统的元数据。运行一个实例。
    
  2. SecondaryNameNode
    SecondaryNamenode是Namenode的一个热备,合并NameNode的edit logs到fsimage文件中。
    
  3. DataNode
    DataNode用于存储实际的数据,将自己管理的数据块上报给NameNode ,运行多个实例。
    

Yarn

工作机制

在这里插入图片描述

组件介绍
1. ResourceManager
ResourceManager 负责集群资源统一管理和计算框架管理,主要包括调度与应用程序管理。
2. NodeManager
NodeManager节点资源管理监控和容器管理,RM是系统中将资源分配给各个应用的最终决策者。
3. AppMaster
AppMaster各种计算框架的实现(例如MRAppMaster)向ResourceManager申请资源,通知NodeManager管理相应的资源。
4. Container
Container YARN中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU等。

Hadoop安装

0)准备环境

Centos 7主机(版本自定,建议使用Linux 7)

配置JDK环境
1. 下载JDK解压包并上传到/opt/software目录
#下载Linux x64 Compressed Archive(jdk-8u241-linux-x64.tar.gz)根据系统版本选择位数
https://www.oracle.com/java/technologies/javase-jdk8-downloads.html#license-lightbox
2. 解压文件
tar -zxvf jdk-8u241-linux-x64.tar.gz -C /opt/apps
3. 配置环境变量(jdk-8u241-linux-x64是你对应的jdk解压目录)
#给文件夹重命名
mv /opt/apps/jdk-8u241-linux-x64 /opt/apps/jdk
#切换你刚才解压的jdk目录
cd /opt/apps
#配置环境变量
vim /etc/profile
#自定义环境变量 start
#java path start
export JAVA_HOME=/opt/apps/jdk
export CLASS_PATH=.:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin

在这里插入图片描述

4. 测试

在这里插入图片描述

安装Hadoop并配置环境变量
1. 下载安装包并上传到/opt/software目录
下载地址:
https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/
建议选择2.9.2版本,直到链接
https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.9.2/hadoop-2.9.2.tar.gz
2. 解压并重命名
#解压
tar -zxvf /opt/software/hadoop-2.9.2.tar.gz -C /opt/apps
#重命名
mv /opt/software/hadoop-2.9.2 /opt/software/hadoop
3. 配置环境变量
#配置环境变量
vim /etc/profile
#HADOOP_HOME start
export HADOOP_HOME=/opt/apps/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

在这里插入图片描述

4. 测试
hadoop version

1)Hadoop单节点部署

1. 修改/opt/apps/hadoop-2.9.2/etc/hadoop/hadoop-env.sh
#设置为jdk所在路径
export JAVA_HOME=/opt/apps/jdk1.8.0_152
2. wordcount(单词统计)案例
#切换到Hadoop安装目录
cd opt/apps/hadoop
#新建input文件夹
mkdir input
#拷贝配置文件到刚才创建的文件夹
cp etc/hadoop/*.xml input
#运行mapreduce程序
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar grep input output 'dfs[a-z.]+'
#查看结果
cat output/*

2)Hadoop伪分布式部署

先切换至Hadoop安装目录

1. 配置 etc/hadoop/core-site.xml:
#命令
vim	etc/hadoop/core-site.xml:
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
    <!-- 关闭权限认证 -->
  	<property>
      <name>dfs.permissions</name>    
      <value>false</value>
 	</property>
</configuration>
2.配置 etc/hadoop/hdfs-site.xml:
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>
3. 配置免密登入
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
4. 格式化NameNode
hdfs namenode -format
5. 启动HDFS
[root@localhost sbin]# start-dfs.sh
#查看是否启动成功	使用jps命令
[root@localhost sbin]# jps
92017 DataNode		
97031 NameNode
92214 SecondaryNameNode
6. 配置 etc/hadoop/mapred-site.xml:
#没有该文件就使用复制一个
cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml
#修改配置文件
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.application.classpath</name>        <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
    </property>
</configuration>
7. 配置 etc/hadoop/yarn-site.xml
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</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>
8. 启动Yarn
start-yarn.sh
9. 使用jps验证服务是否启动
[root@localhost Hadoop]# jps
92017 DataNode
116388 ResourceManager
97031 NameNode
102823 RunJar
92214 SecondaryNameNode
116749 Jps
116511 NodeManager

在这里插入图片描述

10. 关闭hdfs
stop-dfs.sh
11. 关闭yarn
stop-yarn.sh

3)Hadoop集群部署(待续)

Hadoop使用

1. 常见Shell命令

在这里插入图片描述

1.1 示例
#HDFS创建input目录
dfs -mkdir input
#显示目录列表
dfs -ls

2. 组件端口

2.1 HDFS
#默认50070端口
http://localhost:50070/

在这里插入图片描述

2.2 Yarn
#默认8088端口
http://localhost:8088/

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C79NKQrA-1616302665749)(assets/img/image-20200305000701705.png)]

错误记录

1. 错误截图

1.1 hdfs不能写入数据

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Us4G0KNp-1616302665750)(assets/img/image-20200307203424683.png)]

在core-site.xml中设置
<!--指定操作用户-->
<property>
    <name>hadoop.http.staticuser.user</name>
    <value>root</value>
</property>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值