自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 收藏
  • 关注

原创 第10章、Hadoop综合调优

10.1 Hadoop 小文件优化方法10.1.1 Hadoop 小文件弊端HDFS 上每个文件都要在 NameNode 上创建对应的元数据,这个元数据的大小约为150byte,这样当小文件比较多的时候,就会产生很多的元数据文件,一方面会大量占用NameNode 的内存空间,另一方面就是元数据文件过多,使得寻址索引速度变慢。小文件过多,在进行 MR 计算时,会生成过多切片,需要启动过多的 MapTask。每个MapTask 处理的数据量小,导致 MapTask 的处理时间比启动时间还小,白白消耗资源。

2022-05-25 11:12:42 550

原创 第8章、MapReduce 生产经验

8.1 MapReduce 跑的慢的原因MapReduce 程序效率的瓶颈在于两点:1)计算机性能CPU、内存、磁盘、网络2)I/O 操作优化(1)数据倾斜(2)Map 运行时间太长,导致 Reduce 等待过久(3)小文件过多8.2 MapReduce 常用调优参数8.2.1 Map阶段调优1)自定义分区,减少数据倾斜;定义类,继承Partitioner接口,重写getPartition方法2)减少溢写的次数mapreduce.task.io.sort.mbShuffle的环

2022-05-25 11:09:15 442

原创 第7章、HDFS_集群迁移

7.1 Apache 和 Apache 集群间数据拷贝1)scp命令实现两个远程主机之间的文件复制// 推 pushscp -r hello.txt pcz@hadoop1:/user/pcz/hello.txt // 拉 pullscp -r pcz@hadoop1:/user/pcz/hello.txt hello.txt //是通过本地主机中转实现两个远程主机的文件复制;如果在两个远程主机之间 ssh 没有配置的情况下可以使用该方式。scp -r pcz@hadooop1:/user/

2022-05-25 11:03:50 286

原创 第6章、HDFS_故障排除

注意:采用三台服务器即可,恢复到 Yarn 开始的服务器快照。6.1 NameNode 故障处理1)需求:NameNode 进程挂了并且存储的数据也丢失了,如何恢复 NameNode2)故障模拟查询并杀死NameNode进程[pcz@hadoop1 current]$ kill -9 19886(2)删除 NameNode 存储的数据(/opt/module/hadoop-3.1.3/data/tmp/dfs/name)[pcz@hadoop1 hadoop-3.1.3]$ rm -rf

2022-05-25 11:00:17 305

原创 第5章、HDFS_存储优化

注:演示纠删码和异构存储需要一共 5 台虚拟机。尽量拿另外一套集群。提前准备 5 台服务器的集群。自行配置一台服务器,启动后查看是否工作5.1 纠删码5.1.1 纠删码原理HDFS 默认情况下,一个文件有 3 个副本,这样提高了数据的可靠性,但也带来了 2 倍的冗余开销。Hadoop3.x 引入了纠删码,采用计算的方式,可以节省约 50%左右的存储空间。该方式损耗的是计算性能,占用CPU的时间会比较长,这个设置需要根据实际情况修改,如果CPU计算资源充足,可通过该方式代替存储空间的不足1)

2022-05-25 10:43:21 283

原创 第4章、HDFS_集群的扩容和缩容

4.1 添加白名单白名单:表示在白名单的主机IP地址都可以访问集群,用来存储数据。企业中:配置白名单可以尽量防止黑客恶意访问攻击。配置白名单步骤如下1)在NameNode节点上的/opt/module/hadoop-3.1.3/etc/hadoop目录下分别创建whitelist(白名单)和blacklist(黑名单)文件(1)创建白名单[pcz@hadoop1 hadoop]$ vim whitelisthadoop1 hadoop2(2)创建黑名单[pcz@hadoop1 had

2022-05-25 10:37:43 330

原创 第3章、HDFS_多目录

生产环境下集群搭建时就需配置,如果投入使用在配置,会造成一定的数据损失3.1、NameNode多目录配置1)NameNode的本地目录可以配置成多个,且每个目录存放内容相同,增加了可靠性具体配置如下(1)在hdfs-site.xml文件中添加如下内容<property> <name>dfs.namenode.name.dir</name><value>file://${hadoop.tmp.dir}/dfs/name1,file://${h

2022-05-25 10:31:30 258

原创 第2章、HDFS_集群压测

HDFS的的读写性能主要受网络(写)和磁盘(读)的影响较大。100Mbps的单位是bit;10M/s的单位是byte,1byte=8bit,100Mbps/8=12.5M/s。测试网速:来到 hadoop102 的/opt/software 目录,创建一个[pcz@hadoop2 software]$ python -m SimpleHTTPServer然后浏览器输入hadoop2:8000即可查看和下载该目录下的文件2.1测试HDFS写性能0)写测试底层原理1)测试内容:向 HDFS 集

2022-05-25 10:29:18 186

原创 第1章、HDFS_核心参数

1.1 NameNode内存生产配置1)NameNode内存计算每个文件块大概占用 150byte,一台服务器 128G 内存为例,能存储多少文件块呢?128 * 1024 * 1024 * 1024 / 150Byte ≈ 9.1 亿G MB KB Byte2)Hadoop2.x系列,配置NameNode内存NameNode 内存默认 2000m,如果服务器内存 4G,NameNode 内存可以配置 3g。在hadoop-env.sh 文件中配置如下。HADOOP_

2022-05-25 10:26:22 251

原创 2022.5.7_Mobile.csv 饼图柱状图散点图折线图

import pandas as pddata=pd.read_csv("p:/data/Mobile.csv",header=None)D:\anconda\lib\site-packages\IPython\core\interactiveshell.py:3165: DtypeWarning: Columns (4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19) have mixed types.Specify dtype option on import o

2022-05-08 12:51:10 1440

原创 Q3.Numpy_统计分析-排序、去重和重复、搜索和计数函数

Part_1 排序函数numpy排序方式主要分为直接排序和间接排序两种。直接排序是指对数值直接进行排序;间接排序是指根据一个或多个键对数据集进行排序。在numpy中:直接排序常用sort()函数,间接排序常用argsort()函数和lexsort()函数1.sort()函数:用于返回输入数组的排序副本格式:numpy.sort(arr[,axis,kind,order])参数解读:arr:输入数组axis:指定沿着某个轴排序数组,axis=0表示按列排序,axis=1表示按行序。默认ax

2022-04-16 17:21:19 1634

原创 Q2.Numpy_常用统计函数

1.求最大值和最小值的函数:最大值:amax(),nanmax(),最小值:amin(),nanmin()amax()和amin()函数用于返回一个数组的最大值和最小值或者是沿轴返回数组的最大值和最小值nanmax()和nanmin()函数用于返回忽略任何NaN的数组的最大值和最小值或者是沿轴返回忽略任何NaN的数组的最大值和最小值。如果数组全是NaN切片,将会出现警告并返回NaN切片:NaN:not a number格式:numpy.amax(a,[axis=None[,out=Non

2022-04-16 17:20:33 1319

原创 Q1.Numpy_数组、数组查询、转置和轴对换、读写文件

安装地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/numpy,matplotlib都是在这里下载import numpy as npPart_1:Numpy数组,数组查询及转置和轴对换1.1 创建各种类型的数组arr1=np.array([1,2,3,4])print('一维数组:\n',arr1)arr2=np.array([[1,2,3],[4,5,6]])print('二维数组:\n',arr2)arr3=np.array([[[

2022-04-16 17:19:47 630

原创 R5.Matplotlib_饼图和箱线图

Part_1:饼图 pie()绘制饼图用pie函数格式:matplot.pyplot.pie(x,explode=None,labels=None,colors=None,autopic=None,pctdistance=0.6,shadow=False,labeldistance=1.1,startangle=None,radius=None,counterlock=True,wedgeprops=None,textprops=None,center(0,0),frame=False,rota

2022-04-16 17:17:28 915

原创 R4.Matplotlib_绘制直方图和柱状图

Part_1:直方图 hsit()函数格式:matplotlib.pyplot.hist(x,bins=None,range=None,density=None,weights=None,cumulatve=False,bottom=None,histtype=‘bar’,align=‘mid’,orientation=‘vertical’,rwidth=None,log=False,color=None,label=None,stacked=False,density = False,hold=No

2022-04-16 17:16:30 623

原创 R3.Matplotlib_绘制散点图和折线统计图

Part_1:散点图 scatter()pyplot中绘制散点图的函数为scatter格式:matplotlib.pyplot.scatter(x,y,s=None,c=None,marker=None,cmap=None,norm=None,vmin=None,vmax=None,alpha=None,linewidths=None,verts=None,edgecolors=None,hold=None,data=None,**kwargs)参数说明:x,y:接收array。表示x轴与y

2022-04-16 17:15:15 1384

原创 R2.Matplotlib_创建子图

1.subplot()函数在matplotlib中,可以将一个绘图对象分为几个绘图区域,在每个绘图区域中可以绘制不同的图像,这种绘图形式称为创建子图。可以使用subplot()函数格式:subplot(numRows,numCols,plotNum)函数说明:numRows:表示将整个绘图区域等分为numRows行numCols:表示将整个绘图区域等分为numCols列plotNum:表示当前选中要操作的区域subplot()函数的作用是将整个绘图区域等分为numRows(行) x numCo

2022-04-16 17:14:07 1191

原创 R1.Matplotlib_创建简单图形

1.导库导入快速绘图的函数库——pyplot子库格式:import matlotlib.pyplot as plt2.创建绘图对象——figure对象由于matplotlib的图像均位于绘图对象中,在绘图前,先要创建绘图对象。如果不创建就直接调用绘图plot函数,Matplotlib会自动创建一个绘图对象创建figure对象格式:plt.figure(num=None,figsize=None,dpi=None,facecolor=None,edgecolor=None,frameon=True

2022-04-16 17:11:58 594

原创 二、Typora搭建图床(可解决本地图片丢失问题)

(一)、下载安装相关软件1.1、下载Typora以及Node.js、PicGo链接:https://www.aliyundrive.com/s/qn9v896bkDV1.2、下载后得到如下三个软件得到如下三个软件:1.3、安装node.js 64位直接一直下一步即可,直至安装完成。1.4、安装PicGo然后一直下一步 完成安装即可,路径可自选。1.5、安装typora一直往下安装即可,路径可自选。(二)创建gitee仓库,用于存放图片2.1、登录或注册gitee账号git

2022-04-06 18:44:51 921

原创 pdfkit生成pdf,可用于notebook

1.安装pdfkit库在命令行中输入如下命令pip install pdfkit出现上面的Successfully installed pdfkit-0.6.1提示,说明安装成功了2.安装wkhtmltopdf.exe文件pdfkit是基于wkhtmltopdf的python封装,所以需要安装wkhtmltopdf.exe。wkhtmltopdf是轻量级软件,非常很容易安装下载地址:https://wkhtmltopdf.org/downloads.html2.1 选择windows

2022-04-06 18:43:46 563

原创 pyecharts基础笔记

一、pyecharts 简述Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了。官网https://pyecharts.org/#/1.pyecharts的特点 1.与Echarts结合 2.与Web端结合 3.超强交互性 4.国人开发的项目2.安装 pyechartsWindows系统: pip instal

2022-04-06 18:32:58 3648

原创 八、输入jps时有DataNode但是网页上没有

一、遇到的问题输入jps时有DataNode但是网页上没有jps:网页:二、解决方法:1.关闭集群2.在 hdfs-site.xml 中找到name和data的位置[pcz@hadoop1 bin]$ cd /opt/module/hadoop-3.1.3/etc/hadoop/[pcz@hadoop1 hadoop]$ cat hdfs-site.xml3.进入name和data所在的位置,并删除name和data里面的内容[pcz@hadoop1 dfs]$ cd /opt/mo

2022-04-05 13:42:30 2908

原创 七、分发脚本xsync报错

一、报错问题Bad owner or permissions on /home/pcz/.ssh/configBad owner or permissions on /home/pcz/.ssh/configrsync: connection unexpectedly closed (0 bytes received so far) [sender]rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.2]Bad ow

2022-04-05 13:39:41 1915

原创 六、hadoop启动hdfs时报错

一、遇到问题1hadoop集群执行命令:sbin/start-dfs.shsbin/start-yarn.sh报错如下:[root@hadoop01 hadoop-3.1.4]# sbin/start-dfs.shStarting namenodes on [hadoop01]ERROR: Attempting to operate on hdfs namenode as rootERROR: but there is no HDFS_NAMENODE_USER defined. Abort

2022-04-05 13:36:58 4747 4

原创 五、格式化namenode出错

一、报错问题:ERROR conf.Configuration: error parsing conf yarn-site.xmlcom.ctc.wstx.exc.WstxParsingException: Illegal processing instruction target ("xml"); xml (case insensitive) is reserved by the specs. at [row,col,system-id]: [18,5,"file:/opt/module/hadoo

2022-04-05 13:35:28 3009

原创 二、虚拟机扩容

一、扩容本人Centos7版本1、扩容前,虚拟机应保持关机状态2、右击需要扩容虚拟机名称,点击设置3、输入需要的容量大小,点击确定即可4、打开虚拟机二、管理分区1、虚拟机打开后,连接xshell2、查看分区情况(1)df -h(2)fdisk -l由上图可以发现,根目录上挂载的是/dev/sda3 这个分区,而且这个系统里的分区id为83,因此不能通过LVM进行逻辑卷管理。三、对分区扩容1、输入命令:fdisk /dev/sda2、在Command (m for hel

2022-04-05 13:32:44 6095 6

原创 十丶安装mysql出现如下报错:

安装mysql出现如下报错:ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)解决方案(1)vim /etc/my.cnf文件;在[mysqld]后添加skip-grant-tables(登录时跳过权限检查)[pcz@hadoop1 mysql]$sudo vim /etc/my.cnf[mysqld]skip-grant-tables(2)重启MySQL服务:sudo

2022-04-05 13:29:50 1441

原创 九丶Hive元数据库格式化报错

命令[pcz@hadoop1 software]$ schematool -initSchema -dbType mysql -verbose出现错误Exception in thread "main" java.lang.RuntimeException: com.ctc.wstx.exc.WstxParsingException: Illegal processing instruction target ("xml"); xml (case insensitive) is reserved

2022-04-05 13:28:43 699

原创 第四章、服务器动态上下线监听案例

4.1 需求某分布式系统中,主节点可以有多台,可以动态上下线,任意一台客户端都能实时感知到主节点服务器的上下线。4.2 需求分析4.3 具体实现(1)先在zk集群根目录上创建/servers 节点[zk: localhost:2181(CONNECTED) 2] create /servers "servers"(2)在 Idea 中创建包名:com.pcz.zkcase1(3)服务器端向 Zookeeper 注册代码package com.pcz.zkcase1;import o

2022-04-05 13:23:46 110

原创 第三章 、Zookeeper 集群操作

3.1 集群操作3.1.1 集群安装把安装包传到hadoop1上1)集群规划在 hadoop1、hadoop2 和 hadoop3 三个节点上都部署 Zookeeper。思考:如果是 10 台服务器,需要部署多少台 Zookeeper?9台2)解压安装(1)在 hadoop102 解压 Zookeeper 安装包到/opt/module/目录下[pcz@hadoop1 software]$ tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /op

2022-04-05 13:22:49 218

原创 第二章、Zookeeper 本地安装

2.1 本地模式安装1)安装前准备(1)安装 JDK(2)拷贝 apache-zookeeper-3.5.7-bin.tar.gz 安装包到 Linux 系统下(3)解压到指定目录[pcz@hadoop1 software]$ tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/(4)修改名称[pcz@hadoop1 module]$ mv apache-zookeeper-3.5.7 -bin/ zookeeper-3.5

2022-04-05 13:21:26 97

原创 五、格式化namenode出错

一、报错问题:ERROR conf.Configuration: error parsing conf yarn-site.xmlcom.ctc.wstx.exc.WstxParsingException: Illegal processing instruction target ("xml"); xml (case insensitive) is reserved by the specs. at [row,col,system-id]: [18,5,"file:/opt/module/hadoo

2022-04-04 21:10:47 4358

原创 四、hadoop集群时间同步问题

一、出现的问题虚拟机的时间和北京时间不一致二、解决方案1.mv /etc/localtime /etc/localtime.bak2.ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime3.重启时间服务service crond restart问题解决

2022-04-04 21:10:15 1581

原创 三、集群配置Hadoop的Windows下的hosts映射失败

一、问题集群配置Hadoop的Windows下的hosts映射失败二、解决方法1、设置windows文件查看显示后缀名、隐藏文件1、修改windows的hosts文件权限1.1、进入Windows的hosts路径:C:\Windows\System32\drivers\etc1.2、修改hosts权限(1)、右击hosts文件,点击属性(2)、取消勾选只读(3)、修改权限2、点击打开hosts添加自己的映射主机ip和主机名并保存保存时需注意:按照如下方式保存...

2022-04-04 21:09:34 1750

原创 一、hadoop搭建的网络相关问题

一、ping百度时卡住不动1.问题截图2.解决办法(1)、打开配置文件resolv.conf[root@hadoop01 pcz]# vim /etc/resolv.conf(2)、在配置文件中加入nameserver 8.8.8.8(3)、保存退出即可,成功解决。

2022-04-04 21:06:41 473

原创 十一、测试网速端口被占用 运行命令python -m SimpleHTTPServer报错

出现问题:运行命令python -m SimpleHTTPServer报错pcz@hadoop2 software]$ python -m SimpleHTTPServerTraceback (most recent call last): File "/usr/lib64/python2.7/runpy.py", line 162, in _run_module_as_main "__main__", fname, loader, pkg_name) File "/usr/lib64

2022-04-04 21:03:53 2417

原创 第五章 、ZooKeeper 分布式锁案例

什么叫做分布式锁呢?比如说"进程 1"在使用该资源的时候,会先去获得锁,"进程 1"获得锁以后会对该资源保持独占,这样其他进程就无法访问该资源,"进程 1"用完该资源以后就将锁释放掉,让其他进程来获得锁,那么通过这个锁机制,我们就能保证了分布式系统中多个进程能够有序的访问该临界资源。那么我们把这个分布式环境下的这个锁叫作分布式锁。5.1 原生 Zookeeper 实现分布式锁案例1)分布式锁实现package com.atguigu.lock2;import org.apache.zookeep

2022-04-04 20:27:39 125

原创 第四章、服务器动态上下线监听案例

4.1 需求某分布式系统中,主节点可以有多台,可以动态上下线,任意一台客户端都能实时感知到主节点服务器的上下线。4.2 需求分析4.3 具体实现(1)先在zk集群根目录上创建/servers 节点[zk: localhost:2181(CONNECTED) 2] create /servers "servers"(2)在 Idea 中创建包名:com.pcz.zkcase1(3)服务器端向 Zookeeper 注册代码package com.pcz.zkcase1;import o

2022-04-04 20:27:05 1008

原创 第三章 、Zookeeper 集群操作

3.1 集群操作3.1.1 集群安装把安装包传到hadoop1上1)集群规划在 hadoop1、hadoop2 和 hadoop3 三个节点上都部署 Zookeeper。思考:如果是 10 台服务器,需要部署多少台 Zookeeper?9台2)解压安装(1)在 hadoop102 解压 Zookeeper 安装包到/opt/module/目录下[pcz@hadoop1 software]$ tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /op

2022-04-04 20:26:20 189

原创 第二章、Zookeeper 本地安装

2.1 本地模式安装1)安装前准备(1)安装 JDK(2)拷贝 apache-zookeeper-3.5.7-bin.tar.gz 安装包到 Linux 系统下(3)解压到指定目录[pcz@hadoop1 software]$ tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/(4)修改名称[pcz@hadoop1 module]$ mv apache-zookeeper-3.5.7 -bin/ zookeeper-3.5

2022-04-04 20:25:51 123

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除