自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 问答 (1)
  • 收藏
  • 关注

原创 spark从入门到放弃二: worldcount-java submit

文章地址:http://www.haha174.top/article/details/254362 项目源码:https://github.com/haha174/spark.git 提交到spark 集群上面去运行 与本地有点不同/*** 如果提交集群只需要修改两个地方* 第一删除setMaster* 第二 hadf 上面的文件*/ SparkCo...

2018-01-31 21:21:41 3039

原创 spark从入门到放弃一: worldcount-java

文章地址:http://www.haha174.top/article/details/253584 项目源码:https://github.com/haha174/spark.git 开启spark 从入门到放弃/笑哭。下面不多说来写一个hello world 压压惊。 之前搭建集群用的是 spark 2.2 hadoop 2.9 所以开发的需要引入如下的依赖 <p...

2018-01-30 21:03:20 4279 5

原创 spark 集群安装

文章地址:http://www.haha174.top/article/details/253943 首先需要安装jdk 不会可以参考这里(http://www.haha174.top/article/details/259178) 安装scala(懒得写了 不会的话 自行百度) 安装 hadoop(http://www.haha174.top/article/details/258

2018-01-21 22:42:21 3015

原创 安装kafka 集群

文章地址:http://www.haha174.top/article/details/252063Wget http://apache.claz.org/kafka/1.0.0/kafka_2.11-1.0.0.tgz tar -zxvf kafka_2.11-1.0.0.tgzvi kafka_2.11-1.0.0/config/ server.properties主要修改的

2018-01-21 14:17:23 2731

原创 搭建zookeeper 集群

文章地址http://www.haha174.top/article/details/251874wget http://download.nextag.com/apache/ zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gzDecompressing package: tar -zxvf zookeeper-3.4.10.tar.g...

2018-01-21 13:56:22 2802

原创 hive 环境搭建

文章地址:http://www.haha174.top/article/details/253250 一.下载 http://www.apache.org/dyn/closer.cgi/hive/ 可以去官网下载适合的版本 二.安装mysql 可以参考 http://www.haha174.top/article/details/257849 三.mysql connector y

2018-01-21 13:31:00 2729

转载 centos 安装mysql

文章地址 http://www.haha174.top/article/details/257849 1.下载mysql的repo源$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm2.安装mysql-community-release-el7-5.noarch.rpm包$ rpm -ivh m

2018-01-21 10:55:19 2681

原创 hadoop 集群搭建

前面说到使用单机搭建hadoop 伪分布式集群,这篇文章讲的是怎么搭建hadoop集群。 这里我是用3台虚拟机 192.168.1.221 spark1 192.168.1.222 spark2 192.168.1.223 spark3 如果不会搭建虚拟机的同学可以参考这篇文章 http://www.haha174.top/article/details/255136一.配置jdk

2018-01-21 00:03:37 2760

原创 linux(centos7)下安装 scala2.12.4

首先去官方网站下载压缩包 https://www.scala-lang.org/download/ 到最下面下载 scala-2.12.4.tgz 或者懒一点 wget https://downloads.lightbend.com/scala/2.12.4/scala-2.12.4.tgz解压 tar -zxvf scala-2.12.4.tgzvim /etc/profilee

2018-01-20 17:12:53 5485 2

转载 kafka 实现worldcount

文章地址:http://www.haha174.top/article/details/259309 官网地址:http://kafka.apache.org/10/documentation/streams/quickstart Kafka Streams是一个用来构建流处理程序的库,特别是其输入是一个Kafka topic,输出是另一个Kafka topic的程序(或者是调用外部服务,或者

2018-01-17 20:22:31 3173

转载 多线程和并发库应用十七-阻塞队列

阻塞队列,顾名思义,首先它是一个队列,通过一个共享的队列,可以使得数据由队列的一端输入,从另外一端输出; 常用的队列主要有以下两种:(当然通过不同的实现方式,还可以延伸出很多不同类型的队列,DelayQueue就是其中的一种)   先进先出(FIFO):先插入的队列的元素也最先出队列,类似于排队的功能。从某种程度上来说这种队列也体现了一种公平性。   后进先出(LIFO):后插入队列的元素最先

2018-01-16 21:10:35 2734

原创 多线程和并发库应用十六-Exchanger

用于线程之间的数据交换,线程完成一定的数据后项目其他线程进行数据交换。第一个先拿出数据等到第二个线程执行完成后进行数据交换。public class ExchangerTest { public static void main(String[] args) { ExecutorService service = Executors.newCachedThreadPool();

2018-01-15 23:21:01 2698

原创 多线程和并发库应用十五-CountDownLatch

CountDownLatch类位于java.util.concurrent包下,利用它可以实现类似计数器的功能,当计数为0后 则执行public class CountdownLatchTest { public static void main(String[] args) { ExecutorService service = Executors.newCachedThr

2018-01-15 23:09:35 2707

原创 多线程和并发库应用十四-CyclicBarrier

字面意思回环栅栏,通过它可以实现让一组线程等待至某个状态之后再全部同时执行。叫做回环是因为当所有等待线程都被释放以后,CyclicBarrier可以被重用。我们暂且把这个状态就叫做barrier,当调用await()方法之后,线程就处于barrier了。   public class Main { public static void main(String[] args){

2018-01-15 22:53:43 2710

原创 多线程和并发库应用十三-Semaphore

一个计数信号量。从概念上讲,信号量维护了一个许可集。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个 release() 添加一个许可,从而可能释放一个正在阻塞的获取者。但是,不使用实际的许可对象,Semaphore 只对可用许可的号码进行计数,并采取相应的行动。拿到信号量的线程可以进入代码,否则就等待。通过acquire()和release()获取和释放访问许可。

2018-01-15 22:27:15 2686

原创 多线程和并发库应用十二--Condition

我们知道在线程的同步时可以使一个线程阻塞而等待一个信号,同时放弃锁使其他线程可以能竞争到锁。在synchronized中我们可以使用Object的wait()和notify方法实现这种等待和唤醒,但是在Lock中怎么实现这种wait和notify呢?答案是Condition 前面用等待唤醒的方式实现了a调用10次b调用20次,a调用10次b调用20次 重复50次。那么a 调用10次 b调用2

2018-01-15 21:28:29 2726

转载 多线程和并发库应用十一-读写锁

上节中提到锁的运用,但在在实际情况中读写操作全部都互斥的话太影响效率了于是jdk 提供了一种机制读写锁下面给出一个缓存的例子。public class Main { Map<String,User> map=new HashMap<String,User>(); ReadWriteLock rw=new ReentrantReadWriteLock(); public Us

2018-01-09 23:25:09 2696

转载 多线程和并发库应用十-锁

在java 1.5 之后加入并发包加入了一个锁的类 在学习或者使用Java的过程中进程会遇到各种各样的锁的概念:公平锁、非公平锁、自旋锁、可重入锁、偏向锁、轻量级锁、重量级锁、读写锁、互斥锁等待。这里整理了Java中的各种锁,若有不足之处希望大家在下方留言探讨。公平锁和非公平锁 公平锁是指多个线程在等待同一个锁时,必须按照申请锁的先后顺序来一次获得锁。公平锁的好处是等待锁的线程不会饿死,但是整

2018-01-09 21:52:36 2733

原创 多线程和并发库应用九-callable

本节主要讲下 Callable和Future 的使用它俩很有意思的,一个产生结果,一个拿到结果。 Callable接口类似于Runnable,从名字就可以看出来了,但是Runnable不会返回结果,并且无法抛出返回结果的异常,而Callable功能更强大一些,被线程执行后,可以返回值,这个返回值可以被Future拿到,也就是说,Future可以拿到异步执行任务的返回值,下面来看一个简单的例子:pu

2018-01-06 22:44:16 2703

原创 多线程和并发库应用八-线程池

Java通过Executors提供几种线程池,主要有: newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。 newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。 newSingleThreadExecutor 创建一个单线程化的线程池,它只会用唯一的工作线程来

2018-01-06 21:58:25 2964

原创 多线程和并发库应用七-线程间数据共享2

上两篇讲到了数据共享的方式本篇主要一个小题目来巩固一下 假设有4个线程两个要对j加1 ,两个要对j 减1 两种方式实现线程的数据共享 1. 将共享数据封装在另一个对象中,然后将这个对象逐一传递给各个Runable 对象。每个线程对共享数据的操作也分配到那个对象中去完成。这样容易实现针对该数据进行的各个操作的互斥和通信。public class ThreadShareData { p

2018-01-06 20:39:57 2732

原创 多线程和并发库应用六-ThreadLocal

上文中使用一个hashmap 来实现线程间的数据共享其实jdk 已经实现了一个这样的类ThreadLocal

2018-01-06 19:32:27 2812

原创 多线程和并发库应用五-线程间数据共享

本章主要讲述线程之间怎么实现数据共享

2018-01-06 18:22:35 2741

原创 多线程和并发库应用四-传统线程通信

本节通过一个案例来实现线程之间的通信。 现在有一个需求需要子线程循环10次,主线程循环100次,子线程循环10次,主线程循环100次,依次往复50次。。。。

2018-01-06 17:26:39 2735

原创 多线程和并发库应用三线程互斥

当使用多线程的时候很容易发生一个问题就是类似与银行转账的问题假设路人A在银行有100快他同时转两笔80快如果不做任何的操作两笔80很容易直接转账成功就相当于取了160快。

2018-01-06 14:51:09 2706

原创 多线程和并发库应用一传统定时器

在 jdk 1.5 前使用定时器。主要通过Timer 和TimerTask

2018-01-06 10:46:28 2729

原创 多线程和并发库应用一传统线程创建

众所周知创建线程主要有两种方式一种是继承Thread 类一种是实现Runnable接口

2018-01-05 23:53:22 2752

空空如也

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

TA关注的人

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