摘要:
Kafka是一种分布式发布订阅消息系统。 Kafka有三种模式: (1)单节点单Broker,在一台机器上运行一个Kafka实例; (2)单节点多Broker,在一台机器上运行多个Kafka实例; (3)多截点多Broker,在多台机器上运行多个Kafka实例。 本文直接以第三种模式进行安装。 首先
阅读全文
posted @ 2017-06-08 18:15
MSTK
阅读(803)
推荐(0)
摘要:
Nginx是一个高性能的HTTP服务器和反向代理服务器。当一个服务器访问量太大时(比如C10k问题,Concurrent 10,000 Connection),就可以安装设置一个Nginx服务器,将客户端的访问映射到多个服务器上,从而降低每一个服务器的负载。 1. Nginx的编译和安装 在Cent
阅读全文
posted @ 2017-06-07 17:01
MSTK
阅读(625)
推荐(0)
摘要:
K-Means算法是一种基于距离的聚类算法,采用迭代的方法,计算出K个聚类中心,把若干个点聚成K类。 MLlib实现K-Means算法的原理是,运行多个K-Means算法,每个称为run,返回最好的那个聚类的类簇中心。初始的类簇中心,可以是随机的,也可以是KMean||得来的,迭代达到一定的次数,或
阅读全文
posted @ 2017-05-31 20:03
MSTK
阅读(12232)
推荐(0)
摘要:
7. 图的聚合操作 图的聚合操作主要的方法有: (1) Graph.mapReduceTriplets():该方法有一个mapFunc和一个reduceFunc,mapFunc对图中的每一个EdgeTriplet进行处理,生成一个或者多个消息,并且将这些消息发送个Edge的一个或者两个顶点,redu
阅读全文
posted @ 2017-05-30 16:29
MSTK
阅读(1394)
推荐(0)
摘要:
5. 图的转换操作 图的转换操作主要有以下的方法: (1) Graph.mapVertices():对图的顶点进行转换,返回一张新图; (2) Graph.mapEdges():对图的边进行转换,返回一张新图。 代码: 运行结果: 6. 图的结构操作 图的结构操作主要有: (1) Graph.sub
阅读全文
posted @ 2017-05-27 21:53
MSTK
阅读(810)
推荐(0)
摘要:
Scala提供了三种字符串插值方式:s,f和raw。1. s字符串插值器简单的说就是解析字符串变量。 第2行是最简单的用法,第3行为了区分变量名加了{},第4行是进行了运算。 运行结果: 2. f字符串插值器 可以进行格式化的输出,变量名后用%指定格式,如果没有指定,其作用和s是一样的。 运行结果:
阅读全文
posted @ 2017-05-24 21:31
MSTK
阅读(959)
推荐(0)
摘要:
Scala中如果一个Class和一个Object同名,则称Class是Object的伴生类。Scala没有Java的Static修饰符,Object下的成员和方法都是静态的,类似于Java里面加了Static修饰符的成员和方法。Class和Object都可以定义自己的Apply()方法,类名()调用
阅读全文
posted @ 2017-05-24 15:08
MSTK
阅读(690)
推荐(0)
摘要:
Spark GraphX是一个分布式的图处理框架。社交网络中,用户与用户之间会存在错综复杂的联系,如微信、QQ、微博的用户之间的好友、关注等关系,构成了一张巨大的图,单机无法处理,只能使用分布式图处理框架处理,Spark GraphX就是一种分布式图处理框架。 1. POM文件 在项目的pom文件中
阅读全文
posted @ 2017-05-22 20:44
MSTK
阅读(6089)
推荐(0)
摘要:
出现这个错误可能有两种情况,Jar文件没有传上去,或者Build Path里面包含的Jar文件和Spark的运行环境有冲突。 对于第一种情况,需要在SparkConf语句后面加上Jar文件的路径: 对于第二种情况,需要把Build Path里面的Jar文件删除,因为Spark运行环境已经有这些文件了
阅读全文
posted @ 2017-05-18 20:29
MSTK
阅读(2129)
推荐(0)
摘要:
1. 首先安装Scala插件,File->Settings->Plugins,搜索出Scla插件,点击Install安装; 2. File->New Project->maven,新建一个Maven项目,填写GroupId和ArtifactId; 3. 编辑pom.xml文件,添加项目所需要的依赖:
阅读全文
posted @ 2017-05-18 19:12
MSTK
阅读(10672)
推荐(1)
摘要:
以Spark-Client模式运行,Spark-Submit时出现了下面的错误: 意思是说Container要用2.2GB的内存,而虚拟内存只有2.1GB,不够用了,所以Kill了Container。 我的SPARK-EXECUTOR-MEMORY设置的是1G,即物理内存是1G,Yarn默认的虚拟内
阅读全文
posted @ 2017-05-16 10:18
MSTK
阅读(3162)
推荐(1)
摘要:
3. Yarn-Cluster Yarn是一种统一资源管理机制,可以在上面运行多种计算框架。Spark on Yarn模式分为两种:Yarn-Cluster和Yarn-Client,前者Driver运行在Worker节点,后者Driver运行在Client节点上。采用Spark on Yarn模式,
阅读全文
posted @ 2017-05-15 17:14
MSTK
阅读(5584)
推荐(0)
摘要:
Spark一共有5种运行模式:Local,Standalone,Yarn-Cluster,Yarn-Client和Mesos。 1. Local Local模式即单机模式,如果在命令语句中不加任何配置,则默认是Local模式,在本地运行。这也是部署、设置最简单的一种模式 2. Standalone
阅读全文
posted @ 2017-05-15 15:25
MSTK
阅读(5307)
推荐(0)
摘要:
通过一个实例来说明Netty的使用。用1个服务器连接5个客户端线程,客户端连接上服务器以后就向服务器发送消息,服务器接收到消息后向客户端返回消息,客户端接收到消息以后,等待随机的时间,再向服务端发送消息,这样一直循环下去。 项目结构: NettyServer.java: ServerPipeline
阅读全文
posted @ 2017-05-01 12:36
MSTK
阅读(780)
推荐(0)
摘要:
Netty是由JBOSS提供的一个java开源框架,本质上也是NIO,是对NIO的封装,比NIO更加高级,功能更加强大。可以说发展的路线是IO->NIO->Netty。 ServerBootstrap和ClientBootstrap是Netty中两个比较重要的类,分别用来进行服务器和客户端的初始化。
阅读全文
posted @ 2017-04-30 21:36
MSTK
阅读(680)
推荐(0)
摘要:
Java NIO (New IO)是Java 1.4版本开始引入的新的IO API。和IO的区别在于NIO是一个异步、非阻塞的IO,可以用一个线程管理多个连接。比如1个服务器,5个客户端,如果用IO,在服务器上就需要5个线程,而使用NIO的话,只需要1个线程就可以同时管理5个连接,节约了资源。 NI
阅读全文
posted @ 2017-04-26 22:09
MSTK
阅读(221)
推荐(0)
摘要:
Channel注册到Selector时添加了一个Object: 后来取这个Object: 出现空指针错误: 很奇怪,后来发现第一次注册时添加了Object,后来注册时没有添加,导致了空指针错误: 每次注册都添加Object,就不会有这个错误了:
阅读全文
posted @ 2017-04-26 21:00
MSTK
阅读(1689)
推荐(0)
摘要:
NIO项目中出现了这个错误: 一般是因为InetSocketAddress的主机名、端口号写错,或者要连接的服务器没有启动造成的。
阅读全文
posted @ 2017-04-26 20:34
MSTK
阅读(21503)
推荐(0)
摘要:
在Eclipse下新建一个Map/Reduce项目,并将以下jar添加到Build path: 程序代码: 以上程序调用HBAse的API,实现了新建一张表,并随机向表里插入数据。
阅读全文
posted @ 2017-04-16 16:42
MSTK
阅读(2503)
推荐(0)
摘要:
集群共三台CentOS虚拟机,一个Matser,主机名为master;三个Worker,主机名分别为master、slave03、slave04。前提是Hadoop和Zookeeper已经安装并且开始运行。 1. 在master上下载Scala-2.11.0.tgz,复制到/opt/下面,解压,在/
阅读全文
posted @ 2017-04-11 17:18
MSTK
阅读(2664)
推荐(0)
摘要:
Hadoop的文件操作位于包org.apache.hadoop.fs里面,能够进行新建、删除、修改等操作。 比较重要的几个类: (1)Configuration:HDFS的配置信息; (2)FileSystem: HDFS文件系统; (3)Path: HDFS文件或目录的路径; (4)FileSta
阅读全文
posted @ 2017-04-08 16:23
MSTK
阅读(587)
推荐(0)
摘要:
Eclipse调用HDFS API上传文件时出现了如下错误: 解决的办法是把Hadoop集群的hdfs-site.xml和core-site.xml两个配置文件复制到项目的bin目录下面,就可以正常运行了。
阅读全文
posted @ 2017-04-08 16:09
MSTK
阅读(3086)
推荐(0)
摘要:
使用Sqoop远程连接MySQL导入数据到HBase数据库: 出现了拒绝连接的错误: 把主机名换成IP地址就正常了。
阅读全文
posted @ 2017-04-05 23:37
MSTK
阅读(4332)
推荐(1)
摘要:
基本思路就是为mysql.user表增加一条记录:'hadoop'@'%',这样,任何主机上的用户'hadoop'都可以远程连接MySQL数据库。于是输入下面的命令: 结果出现了错误: 这是因为指定了严格模式,不能直接往mysql.user表里面insert用户: 只能输入下面两个命令来实现: 这样
阅读全文
posted @ 2017-04-05 23:24
MSTK
阅读(398)
推荐(0)
摘要:
Windows下面调试程序比在Linux下面调试方便一些,于是用Windows下的Eclipse远程连接Hadoop。 1. 下载相应版本的hadoop-eclipse-plugin插件,复制到eclipse的plugins目录下面,再次启动Eclipse。 2. 解压hadoop的.tar.gz文
阅读全文
posted @ 2017-04-05 11:07
MSTK
阅读(4213)
推荐(0)
摘要:
HDFS本身并没有提供用户名、组等的创建和管理,在客户端操作Hadoop时,Hadoop自动识别执行命令所在的进程的用户名和用户组,然后检查是否具有权限。启动Hadoop的用户即为超级用户,可以进行所有操作。 由于想在Windows 7的Eclipse里面操作Hadoop,Windows 7的用户是
阅读全文
posted @ 2017-04-03 14:56
MSTK
阅读(9539)
推荐(0)
摘要:
Nutch是一个Java实现的网络爬虫。Nutch的安装可以使用二进制包,也可以使用源代码安装。这里介绍用二进制包安装。 1. 下载apache-nutch-1.12-bin.tar.gz,并且解压,解压后会形成一个apache-nutch-1.12文件夹; 2. 编辑conf/nutch-site
阅读全文
posted @ 2017-03-28 18:36
MSTK
阅读(1434)
推荐(0)
摘要:
最近重新格式化NameNode以后,发现几个DataNode都不能启动了。 这是因为dfs.name.dir路径下面有一个current/VERSION文件,里面有一个clusterID,重新格式化以后,clusterID和以前的不一样了,需要把新的clusterID复制到所有DataNode的df
阅读全文
posted @ 2017-03-26 14:33
MSTK
阅读(1302)
推荐(0)
摘要:
运行Pig时出现错误: 这是因为没有启动jobhistoryserver,在mapred-site.xml中增加设置: 然后再启动jobhistoryserver: 以上命令需要在${HADOOP_HOME}/sbin/下执行。
阅读全文
posted @ 2017-03-25 17:16
MSTK
阅读(1046)
推荐(0)
摘要:
运行Pig时出现这个错误: 解决的办法是把${HADOOP_HOME}/share/hadoop/yarn/lib下的jline-2.1.1.jar删除掉,再重启Hadoop就可以了。
阅读全文
posted @ 2017-03-25 17:07
MSTK
阅读(402)
推荐(0)