原创 ES提高查詢效率

公司主打的數據存儲就是ElasticSearch,數據存儲方便快捷,最近想改造一下公司的存儲,想讓查詢效率更加快捷。要想提升es查詢效率,必須先去了解es存儲以及查詢的原理,這裏就不一一贅述了,我們就開門見山來分析吧。 1、性能優化的殺手

原创 消息隊列的比較與分析

最近開始總結消息隊列的一些特點,公司中現在用到的消息隊列是kafka,於是順帶結合下其他幾個消息隊列來比較一下 1、Kafka、ActiveMQ、RabbitMQ、RocketMQ 有什麼優缺點? 特性 ActiveMQ RabbitMQ

原创 Hive運行SQL報錯

在安裝完hive之後,爲了測試hive,在執行select count(*) from score時,出現以下錯誤: 解決方案如下: 失敗原因 經查發現發現/tmp/hadoop/.log提示java.lang.OutOfMemoryE

原创 Elasticsearch數據遷移工具elasticdump工具

這兩天公司要把一部分es數據導入到新的es中,於是就找到了這樣一個方便快捷的工具,自己總結了一下使用方法: 1. 工具安裝 wget https://nodejs.org/dist/v8.11.2/node-v8.11.2-linux-

原创 Flink 配置文件詳解

這兩天正好在看現在比較火的大數據流處理框架flink,熟悉了flink的搭建過程,還是比較簡單的,於是便了解了一下flink的配置文件 安裝目錄下主要有 flink-conf.yaml 配置、日誌的配置文件、zk 配置、Flink SQ

原创 CDH環境搭建

1.CDH安裝前配置 1.1   HOSTS配置       1.1.1  hostname修改 修改配置文件/etc/sysconfig/network root@hadoop01~# vim /etc/sysconfig/networ

原创 JVM的垃圾回收機制

一、 技術背景       說起垃圾回收(GC),大部分人都把這項技術當做Java語言的伴生產物。事實上,GC的歷史比Java久遠,早在1960年Lisp這門語言中就使用了內存動態分配和垃圾回收技術。 二、 哪些內存需要回收?      

原创 HBase Rowkey 設計

1、RowKey 到底是什麼 我們常說看一張 HBase 表設計的好不好,就看它的 RowKey 設計的好不好。可見 RowKey 在 HBase 中的地位。那麼 RowKey 到底是什麼?RowKey 的特點如下: 類似於 MySQL

原创 Kafka參數調優

自己公司用到了kafka作爲MQ,在使用的時候需要設置很多參數,這裏便來總結一下Kafka參數的一些配置 1、一段Kafka生產端的示例代碼 Properties props = new Properties(); props.put(

原创 POM文件的Scope行爲總結

今天在公司弄spark機器學習時,發現spark的mllib包下載下來了,但到自己的scala文件中一直引入不進去,後來一點一點排查這問題,發現在pom文件中引入spark-mllib包的時候,多加了一個scope runtime屬性,導

原创 ShardingSphere分庫分表實戰

一. 項目需求      我們做項目的時候,數據量比較大,單表千萬級別的,需要分庫分表,於是在網上搜索這方面的開源框架,最常見的就是mycat,sharding-sphere,最終我選擇後者,用它來做分庫分表比較容易上手。 二. 簡介sh

原创 Spring Cloud底層原理

概述 毫無疑問,Spring Cloud是目前微服務架構領域的翹楚,無數的書籍博客都在講解這個技術。不過大多數講解還停留在對Spring Cloud功能使用的層面,其底層的很多原理,很多人可能並不知曉。因此本文將通過大量的手繪圖,給大家談

原创 Consul服務註冊與服務發現機制

1、什麼是服務註冊中心? 顧名思義,假設你有一個分佈式系統,裏面包含了多個服務,部署在不同的機器上,然後這些不同機器上的服務之間要互相調用。 舉個現實點的例子吧,比如電商系統裏的訂單服務需要調用庫存服務,如下圖所示。 現在的問題在於,訂

原创 Raft 協議

       分佈式一致性協議 Raft,自 2013 年論文發表之後就受到了技術領域的熱捧,我認爲相對於其他分佈式一致性算法,Raft 有效的解決了分佈式一致性算法過於複雜及難於實現的問題,這也是 Raft 能異軍突起的主要因素。  

原创 Docker學習常用命令總結

自己工作中常用的一些docker命令,總結如下: docker鏡像加速器修改 /etc/default/docker /etc/systemd/system/multi-user.target.wants/docker.service