一、目标:

1.完成Hadoop的部署和配置
2.正常启动/关闭Hadoop集群,并完成基准测试
3.理解分布式文件系统的设计思想
4.熟练操作Hadoop集群

二、Hadoop的安装与部署

一、切换到root用户:su - root
二、关闭selinux:
vim /etc/selinux/config
SELINUX=disabled

1.将软件包上传到node100(Windows使用xftp上传,Mac使用scp命令上传)

2.配置免密登录
cd 进入hadoop用户的家目录
ssh-keygen -t rsa [输入完后连按4个回车]
ssh node100 [yes,输入hadoop用户的密码]
ssh-copy-id node100 [输入hadoop用户的密码]

3.解压软件包到/opt/module
cd
tar -zxvf ./jdk-8u181-linux-x64.tar.gz -C /opt/module/
tar -zxvf ./hadoop-2.7.3.tar.gz -C /opt/module/
tar -zxvf ./apache-hive-3.1.1-bin.tar.gz -C /opt/module/

4.编辑环境变量:vim ~/.bash_profile
在文件末尾添加
JAVA_HOME=/opt/module/jdk1.8.0_181
HADOOP_HOME=/opt/module/hadoop-2.7.3
HIVE_HOME=/opt/module/apache-hive-3.1.1-bin
PATH=PATH:PATH:PATH:HOME/bin:JAVAHOME/bin:JAVA_HOME/bin:JAVAH​OME/bin:HADOOP_HOME/bin:HADOOPHOME/sbin:HADOOP_HOME/sbin:HADOOPH​OME/sbin:HIVE_HOME/bin

export JAVA_HOME
export HADOOP_HOME
export HIVE_HOME
export PATH

5.重新加载环境变量
source ~/.bash_profile
java -version
hadoop version

6.修改Hadoop的配置文件:cd /opt/module/hadoop-2.7.3/etc/hadoop

1.vim ./hadoop-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_181
2.vim ./mapred-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_181
3.vim ./yarn-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_181
4.vim ./core-site.xml

    <!-- 指定HDFS中NameNode的地址 --><property><name>fs.defaultFS</name><value>hdfs://node100:9000</value></property><!-- 指定Hadoop运行时产生文件的存储目录 --><property><name>hadoop.tmp.dir</name><value>/opt/module/hadoopdata</value></property>

5.vim ./hdfs-site.xml

    <!-- 指定HDFS副本的数量 --><property><name>dfs.replication</name><value>1</value></property><!-- 指定Hadoop辅助名称节点主机配置 --><property><name>dfs.namenode.secondary.http-address</name><value>node100:50090</value></property>

6.cp ./mapred-site.xml.template ./mapred-site.xml
vim ./mapred-site.xml

<!-- 指定MR运行在yarn上 -->
<property><name>mapreduce.framework.name</name><value>yarn</value>
</property>

7.vim ./yarn-site.xml

    <!-- Reducer获取数据的方式 --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><!-- 指定YARN的ResourceManager的地址 --><property><name>yarn.resourcemanager.hostname</name><value>node100</value></property><!-- 关闭虚拟内存检查 --><property><name>yarn.nodemanager.vmem-check-enabled</name><value>false</value></property>

8.vim ./slaves
node100

三、Hadoop基本测试

1.格式化Hadoop集群
在node100这台机器上执行:hdfs namenode -format

2.启动/关闭Hadoop集群
在node100这台机器上执行:start-all.sh
在node100这台机器上执行:stop-all.sh

3.验证启动页面
192.168.5.100:50070
192.168.5.100:8088

4.Hadoop的Wordcount
1.vim word.txt
hello python
hello java
hello scala
hello world
welcome to beijing

2.wordcount测试
hadoop fs -mkdir /test
hadoop fs -put ./word.txt /test
hadoop jar /opt/module/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /test/word.txt /output
hadoop fs -cat /output/part-r-00000

5.hive的安装和基本操作
hive --version
在hdfs上创建hive数据存放目录
hadoop fs -mkdir /tmp
hadoop fs -mkdir -p /user/hive/warehouse
hadoop fs -chmod g+w /tmp
hadoop fs -chmod g+w /user/hive/warehouse
在hive的软件目录下执行初始化命令
bin/schematool -dbType derby -initSchema
初始化成功后就会在hive的安装目录下生成derby.log日志文件和metastore_db元数据库
注意:离开hadoop安全模式 hadoop dfsadmin -safemode leave

MapReduce是一种传统的面向批量任务的处理框架。像Tez这样的新处理引擎越来越倾向于近实时的查询访问。随着Yarn的出现,HDFS正日益成为一个多租户环境,允许很多数据访问模式,例如批量访问、实时访问和交互访问。

四、Hadoop概述

1.Hadoop生态圈
2.Hadoop的组成
Hadoop由三个模块组成:分布式存储HDFS、分布式计算MapReduce、资源调度引擎Yarn

3.HDFS:块级别的分布式文件存储系统
1)NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等;
2)DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验和
3)Secondary NameNode(2nn):用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的块照。

4.MapReduce:分布式计算框架
1)MapReduce是采用一种分而治之的思想设计出来的分布式计算框架;
2)如一复杂的计算任务,单台服务器无法胜任时,可将此大任务切分成一个个小的任务,小任务分别在不同的服务器上并行的执行;最终在汇总每个小任务的结果;
3)MapReduce由两个阶段组成:Map阶段(切分成一个个小的任务)、Reduce阶段(汇总小任务的结果)

5.Yarn:分布式资源管理器

五、Hadoop的shell操作

1.启动/关闭Hadoop集群
在主节点上:start-all.sh/stop-all.sh
2.查看HDFS的文件和目录
Hadoop fs -ls -R /
3.在HDFS上创建文件夹
Hadoop fs -mkdir -p /test/wuyilaodongjie
4.上传文件
Hadoop fs -put source(本地文件路径) dest(HDFS路径)
5.下载文件
Hadoop fs -get source(HDFS路径)dest(本地文件路径)
6.删除文件
Hadoop fs -rm HDFS文件路径 Hadoop fs -rm -r HDFS目录路径
7.查看文件内容
hadoop fs -cat HDFS文件路径
8.查看集群的工作状态
hdfs dfsadmin -report

六、虚拟机的基本配置

首先,切换到root用户
su - root

1.关闭防火墙和禁止防火墙自启动
systemctl stop firewalld.service
systemctl disable firewalld.service

2.配置时间自动同步:crontab -e
*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com

3.修改/etc/hosts文件:vim /etc/hosts
192.168.5.100 node100
192.168.5.101 node101
192.168.5.102 node102

4.在/opt下创建module目录,并修改它的所有者和所属组为hadoop
cd /opt
mkdir module
chgrp hadoop module
chown hadoop module

5.配置ip地址:vim /etc/sysconfig/network-scripts/ifcfg-ens33
第四行修改为BOOTPROTO=“static”

6.重启网卡:systemctl restart network

大数据分析之Hadoop相关推荐

  1. 《Spark与Hadoop大数据分析》一一1.1 大数据分析以及 Hadoop 和 Spark 在其中承担的角色...

    本节书摘来自华章计算机<Spark与Hadoop大数据分析>一书中的第1章,第1.1节,作者:文卡特·安卡姆(Venkat Ankam) 更多章节内容可以访问云栖社区"华章计算机 ...

  2. 【大数据分析之Hadoop】一、Hadoop基本原理

    一.hadoop概念 Hadoop由两部分组成,一是负责存储与管理文件的分布式文件系统HDFS.二是负责处理与计算的MapReduce的计算框架. 二.HDFS 1.namenode 负责管理工作(管 ...

  3. 大数据分析:结合 Hadoop或 Elastic MapReduce使用 Hunk

    作者 Jonathan Allen ,译者 张晓鹏 Hunk是Splunk公司一款比較新的产品,用来对Hadoop和其他NoSQL数据存储进行探測和可视化,它的新版本号将会支持亚马逊的Elastic ...

  4. 每周一书《Spark与Hadoop大数据分析》分享!

    Spark与Hadoop大数据分析比较系统地讲解了利用Hadoop和Spark及其生态系统里的一系列工具进行大数据分析的方法,既涵盖ApacheSpark和Hadoop的基础知识,又深入探讨所有Spa ...

  5. qtablewidget 数据量大效率很低_让大牛带你走进大数据分析:R基础及应用的潮流尖端,享受RHadoop...

    走进R,走进大数据时代数据分析的潮流尖端,掌握R语言,熟悉大数据的基础概念和R与Hadoop结合进行大数据的处理分析. 大数据时代, R以其强大的数据分析挖掘.可视化绘图等功能,越来越受到社会各个领域 ...

  6. 2020十大最佳大数据分析工具,果断收藏

    作者:Sunita Chauhan 转自:InfoQ https://www.infoq.cn/article/IEIa8zX2s0KpLYi34ocE 营销的基本原理是一致的,每个人都喜欢洞察力,因 ...

  7. SaaSBase:推荐七款超好用的大数据分析工具

    如今,大小企业都可以利用商业智能工具来理解复杂的大数据.通过收集和分析这些数据,并将其转化成易于理解的报告,这些解决方案可以为企业提供有价值的洞察力,从而提高企业利润.SaaSBase(saasbas ...

  8. clickhouse hadoop_大数据分析之解决Hadoop的短板,实时大数据分析引擎ClickHouse解析...

    本篇文章探讨了大数据分析之解决Hadoop的短板,实时大数据分析引擎ClickHouse解析,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入. 一.背景 提到大数据不得不提Hado ...

  9. 试述hadoop生态系统以及每个部分的具体功能_Hadoop在大数据分析中的意义和作用...

    什么是Hadoop? Apache Hadoop是一个开放源代码软件框架,用于开发在分布式计算环境中执行的数据处理应用程序. 使用HADOOP构建的应用程序可在分布在商用计算机群集上的大型数据集上运行 ...

最新文章

  1. dw html5怎么美化,DW CS5/CS6代码格式化、美化插件 Dreamweaver代码格式化美化插件
  2. 常用数据库语句(更新)
  3. LeetCode: Maximum Product Subarray
  4. python查询数据库带逗号_浅谈pymysql查询语句中带有in时传递参数的问题
  5. 3288 android5.1 编译,RK3288編譯 Android 5.1 固件
  6. Git 命令大全整理
  7. linux登录界面主题,Ubuntu 12.10登录界面主题:Butterfly
  8. 5分钟带你看懂 GCanvas渲染引擎的演进
  9. 如果你需要在 XHTML 中声明 DOCTYPE,必须使用到jsp:text动作元素
  10. 跳槽必加薪?跳槽是涨薪最快的方式么
  11. 怎样阻止电脑开机自动安装大量垃圾软件
  12. qscoj:默契值(状压DP)
  13. finedb(内置的HSQL数据库)迁移数据到MySQL
  14. wincc几个常用c语言编程软件,WINCC几个常用C语言编程
  15. Qt怎么实现将bmp图片转换成Ascii_你保存的word和pdf文档图片为什么变模糊了?
  16. SFML/C++二维热传导模拟,热传导方程
  17. 进阶实验5-3.2 新浪微博热门话题 (30 分)
  18. java调起本地摄像头,利用openCV进行人脸识别(一)
  19. 咻商跨境电商获悉报告指广州深圳跨境电商运营人才需求激增
  20. 【SSLGZ 1614】医院设置(Dijkstra)

热门文章

  1. 中大计算机研究生英语免修条件,通知|关于接受2017级理科研究生 基础英语课程免修免考申请的通知...
  2. 文件服务器 双机,文件服务器双机备份
  3. php mb strimwidth,wordpress截断函数mb_strimwidth()失效的解决方法
  4. java生成电子证书_关于Java:使用Bouncycastle生成数字证书
  5. 下c语言按q退出_Linux vim编辑器怎么退出?第一次用都会问的问题
  6. linux中分区乱了,找到了linux分区顺序错乱修复方法
  7. python内置函数open_Python的内置函数open()的注意事项
  8. python列表浅复制_Python列表的深复制和浅复制示例详解
  9. windows docker 卸载_安装Docker(Docker Toolbox)与Splash库
  10. 宜昌市计算机一级考试真题,2018年上半年湖北省宜昌市计算机等级考试考务通知...