bigdata
Smart_cxr
没伞的孩子,必须努力奔跑!!
展开
-
对参数进行调优
查看linux的服务,可以关闭不必要的服务ntsysv停止打印服务#/etc/init.d/cups stop#chkconfig cups off关闭ipv6#vim /etc/modprobe.conf添加内容alias net-pf-10 offalias ipv6 off 调整文件最大打开数查看: ulimit -a 结果:open files (-n) 1024临时修改: ulim...原创 2018-06-13 09:18:22 · 508 阅读 · 0 评论 -
Scala的RPC通信(akka)
Master:import akka.actor.{Actor, ActorRef, ActorSystem, Props}import com.typesafe.config.ConfigFactoryclass Master extends Actor { println("constructor invoked") override def preStart(): Uni...原创 2018-05-20 13:22:40 · 248 阅读 · 0 评论 -
hadoop高可用集群配置
hadoop2.0已经发布了稳定版本了,增加了很多特性,比如HDFS HA、YARN等。最新的hadoop-2.6.4又增加了YARN HA注意:apache提供的hadoop-2.6.4的安装包是在32位操作系统编译的,因为hadoop依赖一些C++的本地库,所以如果在64位的操作上安装hadoop-2.6.4就需要重新在64操作系统上重新编译(建议第一次安装用32位的系统,我将编译好的64位的...原创 2018-04-28 18:11:47 · 155 阅读 · 0 评论 -
stromwordcount代码
package cn.smart.storm;import backtype.storm.Config;import backtype.storm.LocalCluster;import backtype.storm.StormSubmitter;import backtype.storm.generated.AlreadyAliveException;import backtype....原创 2018-05-06 18:45:48 · 129 阅读 · 0 评论 -
实时业务指标代码实例
主类:package kafkaAndStorm;import backtype.storm.Config;import backtype.storm.LocalCluster;import backtype.storm.StormSubmitter;import backtype.storm.topology.TopologyBuilder;import storm.kafka.Kaf...原创 2018-05-12 21:41:22 · 850 阅读 · 0 评论 -
kafka简单代码实现
生产者:package cn.smart.storm.kafka.simple;import kafka.javaapi.producer.Producer;import kafka.producer.KeyedMessage;import kafka.producer.ProducerConfig;import java.util.Properties;import java.ut...原创 2018-05-12 21:30:01 · 1656 阅读 · 0 评论 -
storm集群安装
sudo mkdir /export/serverssudo chmod -R 777 /exportmkdir /export/serverstar -zxvf apache-storm-1.0.0.tar.gz -C /export/serversln -s apache-storm-1.0.0 stormvim /etc/profileexport STORM_HOME=/export/se...原创 2018-05-06 14:34:11 · 118 阅读 · 0 评论 -
Hadoop的HA机制
1 Hadoop的HA机制前言:正式引入HA机制是从hadoop2.0开始,之前的版本中没有HA机制1.1 HA的运作机制(1)hadoop-HA集群运作机制介绍所谓HA,即高可用(7*24小时不中断服务)实现高可用最关键的是消除单点故障hadoop-ha严格来说应该分成各个组件的HA机制——HDFS的HA、YARN的HA (2)HDFS的HA机制详解通过双namenode消除单点故障双namen...原创 2018-04-27 17:20:08 · 199 阅读 · 0 评论 -
kafka知识点总结
1、kafka是什么 类JMS消息队列,结合JMS中的两种模式,可以有多个消费者主动拉取数据,在JMS中只有点对点模式才有消费者主动拉取数据。 kafka是一个生产-消费模型。 Producer:生产者,只负责数据生产,生产者的代码可以集成到任务系统中。 数据的分发策略由producer决定,默认是defaultPartition Utils.abs(key.hashCode) % n...原创 2018-05-12 11:27:30 · 260 阅读 · 0 评论 -
Hbase的读写流程
1 写操作流程步骤1:Client通过Zookeeper的调度,向HRegionServer发出写数据请求,在HRegion中写数据。步骤2:数据被写入HRegion的MemStore,直到MemStore达到预设阈值。步骤3:MemStore中的数据被Flush成一个StoreFile。步骤4:随着StoreFile文件的不断增多,当其数量增长到一定阈值后,触发Compact合并操作,将多个St...原创 2018-05-05 12:09:57 · 309 阅读 · 0 评论 -
Hbase的JavaAPI操作
import java.util.ArrayList;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.Cell;import org.apache.hadoop.hbase.CellUtil;import org.apache.hadoop.hbase.HBaseConfiguratio...原创 2018-05-05 11:36:31 · 335 阅读 · 0 评论 -
Hive安装
Hive只在一个节点上安装即可1.上传tar包2.解压 tar -zxvf hive-0.9.0.tar.gz -C /cloud/3.安装mysql数据库(切换到root用户)(装在哪里没有限制,只有能联通hadoop集群的节点) mysql安装仅供参考,不同版本mysql有各自的安装流程 rpm -qa | grep mysql rpm -e mysql-libs-5.1.66-2.el6...原创 2018-04-29 15:09:53 · 135 阅读 · 0 评论 -
Hive的数据存储
Hive的数据存储1、Hive中所有的数据都存储在 HDFS 中,没有专门的数据存储格式(可支持Text,SequenceFile,ParquetFile,RCFILE等)2、只需要在创建表的时候告诉 Hive 数据中的列分隔符和行分隔符,Hive 就可以解析数据。3、Hive 中包含以下数据模型:DB、Table,External Table,Partition,Bucket。² db:在hd...原创 2018-04-29 15:16:54 · 633 阅读 · 0 评论 -
从应用程序角度进行优化
(1) 避免不必要的reduce任务如果mapreduce程序中reduce是不必要的,那么我们可以在map中处理数据,Reducer设置为0。这样避免了多余的reduce任务。(2) 为job添加一个Combiner为job添加一个combiner可以大大减少shuffle阶段从map task拷贝给远程reducetask的数据量。一般而言,combiner与reducer相同。(3) 根据处...原创 2018-06-13 09:16:08 · 294 阅读 · 0 评论 -
hadoop框架中怎么来优化
(1) 从应用程序角度进行优化。由于mapreduce是迭代逐行解析数据文件的,怎样在迭代的情况下,编写高效率的应用程序,是一种优化思路。(2) 对Hadoop参数进行调优。当前hadoop系统有190多个配置参数,怎样调整这些参数,使hadoop作业运行尽可能的快,也是一种优化思路。(3) 从系统实现角度进行优化。这种优化难度是最大的,它是从hadoop实现机制角度,发现当前Hadoop设计...原创 2018-06-13 09:15:18 · 1064 阅读 · 0 评论 -
mapreduce怎么处理数据倾斜问题?
数据倾斜:map /reduce程序执行时,reduce节点大部分执行完毕,但是有一个或者几个reduce节点运行很慢,导致整个程序的处理时间很长,这是因为某一个key的条数比其他key多很多(有时是百倍或者千倍之多),这条key所在的reduce节点所处理的数据量比其他节点就大很多,从而导致某几个节点迟迟运行不完,此称之为数据倾斜。用hadoop程序进行数据关联时,常碰到数据倾斜的情况,这里提供...原创 2018-06-13 09:14:34 · 843 阅读 · 0 评论 -
spark集群提交任务过程
1,windows客户端向master提交任务请求资源,master会根据worker数量来分配资源;2,真正执行任务的不是worker而是executer,worker调用executer,来接收windows提交过来的任务,并开始执行。...原创 2018-05-24 17:27:53 · 334 阅读 · 0 评论 -
spark的wordcount执行流程
原创 2018-05-24 17:19:32 · 593 阅读 · 0 评论 -
spark例子ip归属地查询
package cn.smart.sparkimport java.sql.{Connection, Date, DriverManager, PreparedStatement}import org.apache.spark.{SparkConf, SparkContext}/** * Created by Mr.Smart on 2018-05-24. */object I...原创 2018-05-24 13:30:18 · 450 阅读 · 0 评论 -
spark自定义排序
package cn.smart.sparkimport org.apache.spark.{SparkConf, SparkContext}/** * Created by Mr.Smart on 2018-05-24. */object OrderContext { implicit val girlOrdering = new Ordering[Girl] { ...原创 2018-05-24 10:13:32 · 300 阅读 · 0 评论 -
Spark结构
原创 2018-05-24 09:48:53 · 165 阅读 · 0 评论 -
elastic安装配置
http://www.elastic.co/guide/en/elasticsearch/reference/current/setup-configuration.htmlhttps://github.com/elastic/elasticsearch###【在多台机器上执行下面的命令】####es启动时需要使用非root用户,所有创建一个bigdata用户:useradd bigdat...原创 2018-05-27 09:35:59 · 363 阅读 · 0 评论 -
spark-sql
//1.读取数据,将每一行的数据使用列分隔符分割val lineRDD = sc.textFile("hdfs://node1.smart.cn:9000/person.txt", 1).map(_.split(" "))//2.定义case class(相当于表的schema)case class Person(id:Int, name:String, age:Int)//3.导入隐...原创 2018-05-25 17:31:42 · 172 阅读 · 0 评论 -
Storm启动流程分析
Storm启动流程分析1、客户端运行storm nimbus时,会调用storm的python脚本,该脚本中为每个命令编写一个方法,每个方法都可以生成一条相应的Java命令。2、nimbus启动之后,接收客户端提交任务 该命令会执行storm-starter-topologies-o.9.6.jar 中的storm-starter-topologies-o.9.6.jar的main方法,main方...原创 2018-05-10 16:35:40 · 477 阅读 · 0 评论 -
寻找共同好友实现
import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apach...原创 2018-04-26 10:50:48 · 1030 阅读 · 0 评论 -
javaAPI实现创建zookeeper服务端
package cn.smart.bigdata.zkdist;import java.io.IOException;import org.apache.zookeeper.CreateMode;import org.apache.zookeeper.KeeperException;import org.apache.zookeeper.WatchedEvent;import org...原创 2018-04-13 08:51:00 · 218 阅读 · 0 评论 -
本地yum仓库的安装配置
1、本地yum仓库的安装配置两种方式: a、每一台机器都配一个本地文件系统上的yum仓库 file:///packege/path/ b、在局域网内部配置一台节点(server-base)的本地文件系统yum仓库,然后将其发布到web服务器中,其他节点就可以通过http://server-base/pagekege/path/ 制作流程: 先挑选一台机器mini4,挂载一...原创 2018-04-11 08:50:38 · 233 阅读 · 0 评论 -
Zookeeper
Zookeeper1. Zookeeper概念简介:Zookeeper是一个分布式协调服务;就是为用户的分布式应用程序提供协调服务A、zookeeper是为别的分布式程序服务的B、Zookeeper本身就是一个分布式程序(只要有半数以上节点存活,zk就能正常服务)C、Zookeeper所提供的服务涵盖:主从协调、服务器节点动态上下线、统一配置管理、分布式共享锁、统一名称服务……D、虽然...原创 2018-04-12 17:50:26 · 155 阅读 · 0 评论 -
javaApi连接zookeeper客户端
package cn.smart.bigdata.zookeeper;import java.io.IOException;import java.util.List;import org.apache.zookeeper.CreateMode;import org.apache.zookeeper.KeeperException;import org.apache.zookeepe...原创 2018-04-13 07:47:34 · 1138 阅读 · 0 评论 -
mapreduce&yarn的工作机制
1.mr程序提交的客户端所在的节点通过代理的方式向resource manager申请提交一个application;2.resource manager向客户端所在的节点返回application资源提交路径(hdfs://xxx..)以及application_id;3.mr程序提交的客户端通过job.submit()向hdfs提交job运行所需要的资源文件(hdfs://xxx..//app...原创 2018-04-22 16:20:49 · 178 阅读 · 0 评论 -
map-reducce运行全流程(Shuffle)
1,map task默认通过TestInputStream来读取数据,一次读取一行返回key-value值,通过context.write写到OutPutCollector收集器中;2,OutPutCollector将数据输出到环形缓冲区中,环形缓冲区的默认大小是100M,当缓冲区用到80%的时候,(也就是80M)会将环形缓冲区的中的数据溢出(spill)到文件;3,在环形缓存区中的数...原创 2018-04-22 14:24:24 · 353 阅读 · 0 评论 -
hdfs写数据流程
1,客户端向namenode请求上传文件,namenode响应可以上传;2,客户端用rpc方式来向namenode上传第一个block,namenode返回给客服端一个datanode;3,客户端向datanode请求建立block传输通道,将block(1-128M)块传输给datanode1,如果文件大小超过128M,会将文件划分为128的块分别上传到不同的namenode上,并且每个块都会有...原创 2018-04-18 13:04:17 · 195 阅读 · 0 评论 -
JavaAPI操作HDFS文件系统
import java.net.URI;import java.util.Iterator;import java.util.Map.Entry;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileStatus;import org.apache.hadoop.fs.FileSystem...原创 2018-04-17 17:08:29 · 215 阅读 · 0 评论 -
hadoop集群搭建
1.准备Linux环境1.0先将虚拟机的网络模式选为NAT1.1修改主机名vi /etc/sysconfig/networkNETWORKING=yesHOSTNAME=itcast ###1.2修改IP两种方式:第一种:通过Linux图形界面进行修改(强烈推荐)进入Linux图形界面 -> 右键点击右上方的两个小电脑 -> 点击Edit connections...原创 2018-04-17 08:51:56 · 178 阅读 · 0 评论 -
自定义rpc框架的设计思路
APP远程调用appService,通过spring容器扫描注解将其存储到一个HashMap中,并向zookeeper注册服务,利用spring的机制来启动服务器,也就是启动socketServer服务(netty框架)。App要通过动态代理和反射机制对象封装成request对象并向zookeeper查询名称服务器的实现地址,然后通过socket向socketServer发送请求(接口名,方法名称...原创 2018-04-15 10:12:40 · 339 阅读 · 0 评论 -
JavaAPI实现zookeeper连接客户端
package cn.smart.bigdata.zkdist;import java.util.ArrayList;import java.util.List;import org.apache.zookeeper.KeeperException;import org.apache.zookeeper.WatchedEvent;import org.apache.zookeeper...原创 2018-04-13 08:51:52 · 394 阅读 · 0 评论 -
hdfs读数据流程示意图
1,客户端向namenode发送请求下载文件,namenode返回目标文件的元数据;2,客户端根据返回的元数据向datanode建立socket链接,先获取第一个block,再获取第二个block,直到最后一个block完;3,客户端获取到block按照顺序依次追加,最后形成一个文件。...原创 2018-04-18 19:09:49 · 472 阅读 · 0 评论 -
Storm内部的通信机制原理
1,不同的supervisor之间通过网络进行通信,每个supervisor的工作环境中都会有一个输入和输出的缓存队列;2,由于spout和bolt处理任务的数量不一致,因此在bolt的前面也会有一个消息队列对数据进行缓存,同理WordCountBolt也会有一个消息队列,对数据进行缓存...原创 2018-05-10 12:28:30 · 470 阅读 · 0 评论 -
storm集群的工作流程
1,客户端向nimbus提交任务请求;2,nimbus接收到客户端的任务获取supervisor的空闲worker,开始分配任务;3,supervisor集群通过监听zookeeper,获取到nimbus所分配的任务,开始启动worker;4,supervisor集群中的worker中的spout开始获取要处理的数据,将数据分发给bolt1,各个集群中的bolt1开始对数据进行切割,互不干扰;5,...原创 2018-05-10 12:17:11 · 445 阅读 · 0 评论 -
Storm编程模型
Topology:Storm中运行的一个实时应用程序的名称。(拓扑) Spout:在一个topology中获取源数据流的组件。通常情况下spout会从外部数据源中读取数据,然后转换为topology内部的源数据。 Bolt:接受数据然后执行处理的组件,用户可以在其中执行自己想要的操作。Tuple:一次消息传递的基本单元,理解为一组消息就是一个Tuple。 Stream:表示数据的流向。...原创 2018-05-10 11:43:14 · 221 阅读 · 0 评论