大数据分析之Hadoop
一、目标:
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:JAVAHOME/bin:HADOOP_HOME/bin:HADOOPHOME/sbin:HADOOP_HOME/sbin:HADOOPHOME/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相关推荐
- 《Spark与Hadoop大数据分析》一一1.1 大数据分析以及 Hadoop 和 Spark 在其中承担的角色...
本节书摘来自华章计算机<Spark与Hadoop大数据分析>一书中的第1章,第1.1节,作者:文卡特·安卡姆(Venkat Ankam) 更多章节内容可以访问云栖社区"华章计算机 ...
- 【大数据分析之Hadoop】一、Hadoop基本原理
一.hadoop概念 Hadoop由两部分组成,一是负责存储与管理文件的分布式文件系统HDFS.二是负责处理与计算的MapReduce的计算框架. 二.HDFS 1.namenode 负责管理工作(管 ...
- 大数据分析:结合 Hadoop或 Elastic MapReduce使用 Hunk
作者 Jonathan Allen ,译者 张晓鹏 Hunk是Splunk公司一款比較新的产品,用来对Hadoop和其他NoSQL数据存储进行探測和可视化,它的新版本号将会支持亚马逊的Elastic ...
- 每周一书《Spark与Hadoop大数据分析》分享!
Spark与Hadoop大数据分析比较系统地讲解了利用Hadoop和Spark及其生态系统里的一系列工具进行大数据分析的方法,既涵盖ApacheSpark和Hadoop的基础知识,又深入探讨所有Spa ...
- qtablewidget 数据量大效率很低_让大牛带你走进大数据分析:R基础及应用的潮流尖端,享受RHadoop...
走进R,走进大数据时代数据分析的潮流尖端,掌握R语言,熟悉大数据的基础概念和R与Hadoop结合进行大数据的处理分析. 大数据时代, R以其强大的数据分析挖掘.可视化绘图等功能,越来越受到社会各个领域 ...
- 2020十大最佳大数据分析工具,果断收藏
作者:Sunita Chauhan 转自:InfoQ https://www.infoq.cn/article/IEIa8zX2s0KpLYi34ocE 营销的基本原理是一致的,每个人都喜欢洞察力,因 ...
- SaaSBase:推荐七款超好用的大数据分析工具
如今,大小企业都可以利用商业智能工具来理解复杂的大数据.通过收集和分析这些数据,并将其转化成易于理解的报告,这些解决方案可以为企业提供有价值的洞察力,从而提高企业利润.SaaSBase(saasbas ...
- clickhouse hadoop_大数据分析之解决Hadoop的短板,实时大数据分析引擎ClickHouse解析...
本篇文章探讨了大数据分析之解决Hadoop的短板,实时大数据分析引擎ClickHouse解析,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入. 一.背景 提到大数据不得不提Hado ...
- 试述hadoop生态系统以及每个部分的具体功能_Hadoop在大数据分析中的意义和作用...
什么是Hadoop? Apache Hadoop是一个开放源代码软件框架,用于开发在分布式计算环境中执行的数据处理应用程序. 使用HADOOP构建的应用程序可在分布在商用计算机群集上的大型数据集上运行 ...
最新文章
- dw html5怎么美化,DW CS5/CS6代码格式化、美化插件 Dreamweaver代码格式化美化插件
- 常用数据库语句(更新)
- LeetCode: Maximum Product Subarray
- python查询数据库带逗号_浅谈pymysql查询语句中带有in时传递参数的问题
- 3288 android5.1 编译,RK3288編譯 Android 5.1 固件
- Git 命令大全整理
- linux登录界面主题,Ubuntu 12.10登录界面主题:Butterfly
- 5分钟带你看懂 GCanvas渲染引擎的演进
- 如果你需要在 XHTML 中声明 DOCTYPE,必须使用到jsp:text动作元素
- 跳槽必加薪?跳槽是涨薪最快的方式么
- 怎样阻止电脑开机自动安装大量垃圾软件
- qscoj:默契值(状压DP)
- finedb(内置的HSQL数据库)迁移数据到MySQL
- wincc几个常用c语言编程软件,WINCC几个常用C语言编程
- Qt怎么实现将bmp图片转换成Ascii_你保存的word和pdf文档图片为什么变模糊了?
- SFML/C++二维热传导模拟,热传导方程
- 进阶实验5-3.2 新浪微博热门话题 (30 分)
- java调起本地摄像头,利用openCV进行人脸识别(一)
- 咻商跨境电商获悉报告指广州深圳跨境电商运营人才需求激增
- 【SSLGZ 1614】医院设置(Dijkstra)
热门文章
- 中大计算机研究生英语免修条件,通知|关于接受2017级理科研究生 基础英语课程免修免考申请的通知...
- 文件服务器 双机,文件服务器双机备份
- php mb strimwidth,wordpress截断函数mb_strimwidth()失效的解决方法
- java生成电子证书_关于Java:使用Bouncycastle生成数字证书
- 下c语言按q退出_Linux vim编辑器怎么退出?第一次用都会问的问题
- linux中分区乱了,找到了linux分区顺序错乱修复方法
- python内置函数open_Python的内置函数open()的注意事项
- python列表浅复制_Python列表的深复制和浅复制示例详解
- windows docker 卸载_安装Docker(Docker Toolbox)与Splash库
- 宜昌市计算机一级考试真题,2018年上半年湖北省宜昌市计算机等级考试考务通知...