Hadoop环境搭建

一、大数据
大数据自身特点:海量数据、并行计算、分布式存储决定了大数据必须依赖云计算的分布式处理、分布式数据库、云存储、和虚拟化技术才能实现。云计算包含了大数据技术。
1、Hadoop是一个由apache软件基金会所开发的分布式系统基础架构。Hadoop所提供的并行计算以及分布式存储,可以大大的提高企业对于数据处理的计算速度和可靠程度。Hadoop底层架构本身由java程序开发。
2、Hadoop的最核心组成部分
①Hadoop:Java编写的软件框架,以支持数据密集型分布式应用,是一个全局的统称(底层架构)
②hdfs:Hadoop HDFS分布式文件系统(Hadoop默认最经典的分布式存储方式)
③MapReduce:针对大数据的灵活的并行数据处理的计算方式(Hadoop经典算法,缩写为MR)
④NameNote:Hadoop集群的核心控制节点(Name负责源数据的tree维护,从节点控制,是Hadoop搭建的第一个组成部分,任务的发起 任务的调度)
⑤DataNode:Hadoop集群的数据计算节点(Datanode作为Hadoop从节点,或者说数据节点,负责真正的数据计算任务,且数据内容的存储)
⑥YARN-资源管理器组件:主要负责将计算资源(例如CPU、内存、磁盘IO、网络等)的合理调配和打包、分发,以及作业任务的监控。
3、YARN组件
YARN的基本组成结构,主要由
①ResourceManager RM
②NodeManager NM
③Application Master AM
④Container 容器
二、Hadoop基本环境准备
1、配置FQDN,关闭所有带localhost的设置都去掉,配置好如下
#cat /etc/hosts
192.168.0.120 server01.example.com server01
192.168.0.181 server02.example.com server02
192.168.0.198 server03.example.com server03
192.168.0.137 server04.example.com server04
2、配置ssh,关闭防火墙。
3、java环境配置
Hadoop 3.x以上的版本,最低需JAVA8以上的支持。
shell > yum install java-1.8.0-openjdk
4、解压Hadoop到/opt/dadoop/文件夹
5、把JAVA环境添加到hadoop配置文件
vim /opt/hadoop/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.x86_64/
三、Hadoop正式安装部署
1、第一个配置文件:core-site.xml
#cd /opt/hadoop/etc/hadoop
#vim core-site.xml
配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!--指定namenode的地址-->
<property>
<name>fs.default.name</name>
<value>hdfs://server01:9007</value>
</property>
<!--用来指定使用hadoop时产生文件的存放目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value>
</property>
</configuration>
2、第二个配置文件:hdfs-site.xml
配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!--指定hdfs保存数据的副本数量-->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!--指定hdfs中namenode的存储位置-->
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/opt/hadoop/dfs/name</value>
</property>
<!--指定hdfs中datanode的存储位置-->
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/opt/hadoop/dfs/data</value>
</property>
</configuration>
3、第三个配置文件mapred-site.xml
配置如下:
<configuration>
<!--告诉hadoop以后MR(Map/Reduce)运行在YARN上-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

<property>
  <name>mapreduce.map.memory.mb</name>
  <value>512</value>
</property>
<property>
  <name>mapreduce.map.java.opts</name>
  <value>-Xmx512M</value>
</property>
<property>
  <name>mapreduce.reduce.memory.mb</name>
  <value>1024</value>
</property>
<property>
  <name>mapreduce.reduce.java.opts</name>
  <value>-Xmx1024M</value>
</property>

<property>
  <name>yarn.nodemanager.vmem-check-enabled</name>
  <value>false</value>
</property>

<property>
<name>mapreduce.application.classpath</name>
<value>
/opt/hadoop/etc/hadoop,
/opt/hadoop/share/hadoop/common/*,
/opt/hadoop/share/hadoop/common/lib/*,
/opt/hadoop/share/hadoop/hdfs/*,
/opt/hadoop/share/hadoop/hdfs/lib/*,
/opt/hadoop/share/hadoop/mapreduce/*,
/opt/hadoop/share/hadoop/mapreduce/lib/*,
/opt/hadoop/share/hadoop/yarn/*,
/opt/hadoop/share/hadoop/yarn/lib/*
</value>
</property>
</configuration>
4、第四个配置文件:yarn-site.xml
配置如下:
<configuration>

<!-- Site specific YARN configuration properties -->

<!-- 参数解释:NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<!-- 参数解释:ResourceManager 对客户端暴露的地址。客户端(用户)通过该地址向RM提交应用程序,杀死应用程序等。-->
<property>
<name>yarn.resourcemanager.address</name>
<value>server01:8032</value>
</property>
<property>
<!-- 参数解释:ResourceManager 对ApplicationMaster暴露的访问地址。ApplicationMaster通过该地址向RM申请资源、释放资源等。-->
<name>yarn.resourcemanager.scheduler.address</name>
<value>server01:8030</value>
</property>
<!-- 参数解释:ResourceManager -> master 对NodeManager -> slave暴露的地址.。NodeManager通过该地址向RM汇报心跳,领取任务等。 -->
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>server01:8031</value>
</property>
<!-- 参数解释:ResourceManager 对管理员暴露的访问地址。管理员通过该地址向RM发送管理命令等。 -->
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>server01:8033</value>
</property>
<!-- 参数解释:ResourceManager对外web ui地址。用户可通过该地址在浏览器中查看集群各类信息。 -->
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>server01:8088</value>
</property>
</configuration>
5、最后再找到/opt/hadoop/etc/hadoop/workers
在其中加入如下配置:
server02
server03
server04
注意:workers配置文件 定义的是Hadoop集群的Datanode节点,每一个DN机器都要写进去
6、找到/opt/hadoop/sbin/start-dfs.sh 和 /opt/hadoop/sbin/stop-dfs.sh
在这2个脚本开头加入如下代码:
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
7、找到/opt/hadoop/sbin/start-yarn.sh 和 /opt/hadoop/sbin/stop-yarn.sh,在这2个脚本开头加入:
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
8、把/opt/hadoop 拷贝到其他三台datanode节点上,同样的位置
三、启动hadoop
1、在Namenode节点上,(server01)先执行如下格式化
#/opt/hadoop/bin/hdfs namenode -format
运行结束,在后几行看到/opt/hadoop/dfs/name has been successfully formated。说明格式化成功。
2、启动脚本
#、sbin/start-all.sh
启动过程中,会按照顺序启动,namenode -> datanodes -> secodary -> namenode -> resourcemanager -> nodemangers
3、在任意一台机器上执行
#bin/hadoop dfsadmin -report

4、初步接触hadoop命令
bin/hdfs dfs -mkdir /test
bin/hdfs dfs -ls /test
bin/hdfs dfs -put 1.txt /test/
bin/hdfs dfs -cat /test/1.txt
在HDFS中手动创建一个test目录,并访问,如果成功,说明HDFS运行正常。





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值