- 博客(33)
- 收藏
- 关注
原创 Zookeeper安装教程(本地、集群)
0.安装前准备(1)安装 JDK(2)下载 Zookeeper 安装包,并将安装包传到服务器上下载地址:官方下载地址1.本地模式安装本地模式的安装很简单,将安装包解压到指定目录,然后修改一个配置即可。(1)将安装包解压到指定目录[admin@hadoop102 software]$ tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/每个人的目录可能不一样,按照自己的目录规划来,直接解压安装包就行。(2)修改配置来
2021-08-24 12:19:35 21462
原创 Amazon SQS + Lambda 实现新消息到达队列时触发自定义函数
现有需求:当生产者发送新消息到消息队列后,消息队列要根据消息自动进行处理,比如将消息推给消费者等。Amazon SQS 消息队列本身不支持当新消息到达队列后的进一步处理,但是我们可以结合 Amazon Lambda 函数来实现这一需求。下面就以一个简单的示例介绍一下 Amazon SQS 消息队列和 Amazon Lambda 函数是怎么配合实现上述需求的。1.创建一个队列Lambda函数既支持标准队列,又支持FIFO队列,所以这里创建什么类型的队列都可以。简单设置一下,创建队列即可。2.创建
2021-08-18 18:34:21 1356
原创 Hadoop调优手册(7)——小文件优化方法
4.小文件归档* HDFS存储小文件的弊端每个文件均按块存储,每个块的元数据存储在 NameNode 的内存中,因此 HDFS 存储小文件会非常低效。因为大量的小文件会占用 NameNode 中的大部分内存。但注意,存储小文件所需要的磁盘容量和数据块的大小无关。例如,一个 1MB 的文件设置为 128MB 的块存储,实际使用的是 1MB 的磁盘空间,而不是 128MB。* 解决存储小文件的弊端HDFS归档文件,是一个更高效的文件存档工具,它将文件存入 HDFS 块,在减少 NameNode 内存使.
2021-08-17 19:35:17 476
原创 Hadoop调优手册(6)——HDFS故障排除
1.NameNode故障处理* NameNode进程挂掉如果只是 NameNode 进程挂掉了,那么执行以下命令重启即可。hdfs --daemon start namenode* NameNode进程挂掉且数据被删除如果 NameNode 的数据不小心被删除了,那么可以把 SecondaryNameNode 中的数据拷贝到 NameNode 中,并重启 NameNode 进程。注意:SecondaryNameNode 不是 NameNode 的备份,SecondaryNameNode 中的
2021-08-17 19:34:58 373
翻译 Amazon SQS 工作原理
该博文主要为 Amazon SQS 官方文档的机器翻译版本,另外在此基础上做了些许补充、修改。一、Amazon SQS 基本架构1.1.分布式队列分布式消息传送系统有三个主要组成部分:分布式系统的组件、队列(分布在 Amazon SQS 服务器上)以及队列中的消息。在下面的情况下,您的系统具有多个创建器(向队列发送消息的组件)以及使用者(从队列接收消息的组件)。队列(保存从 A 到 E 的消息)在多个 Amazon SQS 服务器上冗余存储消息。1.2.消息生命周期以下场景介绍 Amazo.
2021-08-12 12:02:14 1223
原创 Hadoop调优手册(4)——HDFS集群扩容及缩容
1.添加白名单、黑名单设置白名单和黑名单后,只有白名单上的主机节点允许访问 NameNode;不在白名单上的主机节点都会从集群中退出。在黑名单上的主机节点也会从集群中退出,黑名单一般用来退役主机节点。同一个主机节点不能同时配置在白名单和黑名单中* 步骤(1)在目录/opt/module/hadoop-3.1.3/etc/hadoop下,创建文件 whitelist 和 blacklist(文件名称可自定义)。(2)在文件 whitelist 和 blacklist 中分别写入想要添加到白名单或黑.
2021-08-11 19:17:08 583
原创 Hadoop调优手册(1)——HDFS核心参数
以下配置均针对Hadoop3.x系列1.NameNode、DataNode内存配置配置文件:hadoop-env.sh由hadoop-env.sh文件中的描述可知:(1)守护进程将在 _OPT参数中选择 Xmx设置作为Hadoop内存大小。(2)Hadoop的内存默认是动态分配的:若在 _OPT参数中没有设置 Xmx,则JVM会根据服务器内存大小,自动为Hadoop分配内存。# The maximum amount of heap to use (Java -Xmx). I..
2021-08-11 12:28:33 1727
原创 Amazon SQS 消息相关接口测试用例
Amazon SQS 消息相关接口测试用例1.发送消息1.1.发送单条消息到标准队列@Test public void sendMessage() { try { // 队列url String queueUrl = "https://sqs.cn-northwest-1.amazonaws.com.cn/420315512685/queue2"; // 封装消息内容 JSONObject messageBody = new JSONObj
2021-08-06 17:50:17 1034
原创 对接Amazon SQS 消息相关接口简要说明
Amazon SQS 消息相关接口1.发送消息往队列中单条或批量发送消息。1.1.单条发送消息/** * 发送消息 * * @param reqSendMessageBody 消息vo * @return 响应信息 * @throws SqsException */SendMessageResponse sendMessage(ReqSendMessageBody reqSendMessageBody)消息vo - ReqSendMessageBody 字段说明:/*** 基
2021-08-06 17:43:41 624
原创 对接Amazon SQS 队列相关接口简要说明
一、队列相关接口1.创建队列2.查询当前区域中的队列列表3.获取队列url4.设置队列属性(1)设置队列交付延迟时间(2)设置队列的消息保留周期(3)设置队列的等待消息到达的时间长度(4)为源队列配置死信队列(5)启用(消息组 级别)基于内容的重复数据删除(仅适用于FIFO队列)(6)启用(队列 级别)基于内容的重复数据删除(7)禁用基于内容的重复数据删除(8)启用FIFO队列高吞吐量(9)禁用FIFO队列高吞吐量(10)启用队列服务端加密功能(11)禁用队列服务端加密功能5
2021-08-06 17:41:19 976
原创 Amazon SQS 消息队列属性说明
/** * 参考资料: * https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html */ /** * 所有属性(例如:getQueueAttributes接口传ALL则查询所有属性) */ ALL(QueueAttributeName.ALL), /** * 当前队列中消息的大致数目 */ APPROXI..
2021-08-06 17:36:09 727
原创 LeetCode - 66. 加一 - 【数组 - 简单 - Java】
题目描述:题目分析小学加法题,过。题解1:(首先自己的题解)思路很简单就是把原来的int数组变成int(坑,稍后再说),然后加1,最后再变成int数组返回。class Solution { public int[] plusOne(int[] digits) { int num = 0; for (int d : digits) { num = num * 10 + d; } num++;
2021-02-07 11:46:58 113
原创 LeetCode - 1431. 拥有最多糖果的孩子 - 【数组 - 简单 - Java】
题目描述:题目分析:把额外的糖果分别给每个小盆友,这个小盆友能成为拥有糖果数最多的小盆友吗?题目很简单,所以这个题目分析就是凑一下字数啦。题解1:(首先我自己的题解)思路是把额外的糖果分别给每个小盆友,然后再和所有小盆友原来的糖果数量比较,判断是否是最多的。class Solution { public List<Boolean> kidsWithCandies(int[] candies, int extraCandies) { List<Boole
2021-01-30 15:59:53 317 1
原创 LeetCode - 20. 有效的括号 - 【字符串 - 简单 - Java】
题目描述:题目分析:这道题目只要理解什么是有效的括号即可。题解1:(首先是自己的解法)思路是遍历字符串的字符数组,将遇到的左括号(‘(’,‘[’,‘{’)依次入栈,当遇到右括号时,栈顶元素出栈并判断是否与当前的右括号匹配,若不匹配则不是有效的括号;另外若遇到右括号时,栈为空,则说明没有与之对应的左括号,所以该字符串也不是有效的括号;最后若遍历完字符数组后,栈内还有元素,则说明没有与栈内左括号对应的右括号,所以该字符串也不是有效的括号。class Solution { public bo
2021-01-25 16:02:06 269 1
原创 LeetCode - 面试题 01.02. 判定是否互为字符重排 - 【字符串 - 简单 - Java】
题目描述:题目分析:组成两个字符串的字符相同,且对应字符的数量一致,则两个字符串互为字符重拍。题解1:首先是我自己的解法,思路是先判断两个字符串长度是否一致,若长度不一致则返回false,若长度一致则遍历字符串s1的字符数组,遍历的时候从字符串s2中移除当前遍历到的字符,最后若s2为""则返回true,否则返回false。class Solution { public boolean CheckPermutation(String s1, String s2) { if
2021-01-23 17:50:17 293 2
原创 foreach循环ArrayList时不能使用ArrayList的增删方法之源码简析
首先,虽然这篇博文的名称是foreach循环ArrayList时不能使用ArrayList的增删方法之源码简析,但是源码简析的主要部分其实在另一篇博文(foreach迭代ArrayList时,真的不能删除元素吗?,以下简称原博文)。本文其实是基于原博文做了点小小的扩展。所以在继续往下阅读之前,请先阅读原博文,否则可能会不太能理解我下面在说些什么!(为什么不再自己从头分析一遍相关源码呢?一是因为我比较懒,但是最主要还是因为我觉得原博文已经分析得很好很清晰了。)——————————————————— 手
2020-06-04 12:28:15 299
原创 Java基础【08】常用API——RandomAccessFile相关API
java.io.RandomAccessFile:专门用来读写文件数据的类,其读写是基于指针进行的,即RAF总是在指针指向位置读取或者写出字节。RAF有两种常用的模式: * r:只读模式,只能读取文件数据,不可以做写操作。 * rw:读写模式,即可读也可写。1.写出数据(一个字节):void write(int d)package raf;import java.io.File...
2018-10-20 17:27:00 811
原创 Java基础【07】常用API——File相关API
java.io.FileFile表示一个抽象路径,简单的理解为可以访问文件系统中的一个文件或目录。使用File我们可以: * 1:访问其表示的文件或目录的属性信息(名字,大小,修改时间等)。 * 2:可以操作文件或目录(创建,删除)。 * 3:可以访问一个目录中的所有子项。但是不能访问一个文件里面的数据。1.读取文件信息的相关方法package file;import j...
2018-10-20 17:17:38 352
原创 Java基础【06】常用API——Object相关API
java中所有的类都继承自Object,当一个类没有显示的继承某个类时,默认就继承自Object。当我们自己写一个类时,一般要重写Object的toString、equals与hashCode方法。package object;/** * java中所有的类都继承自Object。当一个类没有显示的继承 * 某个类默认就继承自Object. * @author adminitart...
2018-10-20 16:47:07 94
原创 Java基础【05】常用API——Integer相关API
1.Integer Integer.valueOf(int i);package integer;/** * java有8个基本类型,但是它们不具备面向对象的特性,所以 * 不能直接参与面向对象开发,那么在实际使用上会出现很多的 * 不便,为此java为8个基本类型提供了对应的包装类,以便于 * 让基本类型以对象形式存在并参与面向对象的开发中 * @author adminita...
2018-10-20 16:11:18 1080
原创 Java基础【04】常用API——String相关API
1.int length()package string;/** * int length() * 该方法可以返回当前字符串的长度(字符个数) * @author adminitartor * */public class LengthDemo { public static void main(String[] args) { String str = "我爱java!...
2018-10-20 15:54:40 129
原创 【插入排序】
插入排序练习,写第一遍的时候出了个bug,写第二遍修复了bug,写第三遍对整个流程进行了优化。第一遍:package sort;//直接插入排序public class StraightInsertionSort { public static void main(String[] args) { int[] arr = {12,32,3,45,78,43,53,24,67,4...
2018-07-28 17:31:04 174
原创 【递归算法】以删除多级目录为例
假设在工作空间中有项目demo01,项目中有多级目录demo\a\s\d\f\g。完整路径:workspace\demo01\demo\a\s\d\f\g现在要用递归算法实现一次删除多级目录demo\a\s\d\f\g代码如下:package file;import java.io.File;public class DeleteFileDemo { public static...
2018-07-28 17:28:09 716
原创 【猜字母小游戏】
猜字母小游戏,其实只是写着练手玩的,但是博客分类没有【练手】,所以就放在游戏开发分类里面了(滑稽)。。。直接放源码:import java.util.Scanner;/** * 猜字符游戏--重置 * 游戏规则: * 1.系统随机生成5(7、9,可选等级)个不同的字母,玩家猜字母 * 2.玩家每猜一次系统会提示一共猜对的字母的个数,以及其中位置对了的字母的个数 * 3.总分为...
2018-07-21 14:30:21 646
原创 【冒泡排序】和【二分查找】
看了冒泡排序的原理和二分查找的原理,然后试着用代码实现,权当练手。package binarysearchdemo;import java.util.Scanner;public class BinarySearch01 { public static void main(String[] args) { int[] str = {15,8,1,65,34,132,89,43,3...
2018-07-21 14:14:36 452
原创 Java基础【03】运算符
1.算术运算符:算数运算符有:+(加),-(减),*(乘),/(除),%(取余),++(自增),--(自减)。其中,加减乘除的作用和数学中的加减乘除作用一样,所以不再赘述了。%取余,就是做除法得到余数,例:int a = 7%2;System.out.println(a);//结果为1(商3余1)int b = 8%4;System.out.println(b);//结果为...
2018-07-21 13:52:54 133
原创 Java基础【02】变量、基本数据类型、基本数据类型间的转换
我的总结是我自己的理解,在表述上会和别人的不同,仅供参考,如有错误请指正,谢谢!1.变量1.1 定义我对变量的理解是:1.变量可以理解为一个房间,房间里面可以放各种“物品”,而“物品”就是数据,当我们要把数据存起来的时候,就要在内存中开辟一间“房间”(声明一个变量)。2.变量也可以理解为是一个代词,指代的就是变量里面存放的数据。1.2 声明一个变量所谓的在内存中开辟一间“房间”...
2018-07-07 19:37:02 205 2
原创 Java基础【01】基础知识、开发环境、编译过程
本篇博文主要包括Java基础知识,开发环境,编译过程等。其中会有转载前辈们总结过的文章,在此首先感谢前辈们的总结。有人可能会觉得总结还是自己做比较好,比如可以加深自己的记忆,并且有助于再次理清框架、结构等。对此我也很认同,但是有时候对一些比较简单的东西,或者一些操作技巧之类的总结,我则认为没有必要自己再花时间总结一遍,把前辈们总结好的文章收藏起来,需要的时候能快速找到就好了。所以这篇博文中会包...
2018-06-30 13:40:57 154
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人