1. 程式人生 > 資料庫 >SparkSQL DataFrame Select時傳入可變引數

SparkSQL DataFrame Select時傳入可變引數

1. 叢集的概念

  • 叢集是一組相互獨立的、通過高速網路互聯的計算機,它們構成了一個組,並以單一系統的模式加以管理。一個客戶與叢集相互作用時,叢集像是一個獨立的伺服器。叢集配置是用於提高可用性和可縮放性。
  • 當請求到來首先由負載均衡伺服器處理,把請求轉發到另外的一臺伺服器上。
    在這裡插入圖片描述

2. redis叢集

  • 分類

    • 軟體層面
    • 硬體層面
  • 軟體層面:只有一臺電腦,在這一臺電腦上啟動了多個redis服務。
    在這裡插入圖片描述

  • 硬體層面:存在多臺實體的電腦,每臺電腦上都啟動了一個redis或者多個redis服務。
    在這裡插入圖片描述

3. 搭建叢集

3.1 配置機器

  • 在演示中,以本機ip地址為例(127.0.0.1)
  • 進⼊Desktop⽬錄,建立conf⽬錄
  • 在conf⽬錄下建立⽂件7000.conf,7001.conf,7002.conf,7003.conf,7004.conf,7006.conf,這6個檔案編輯內容如下
port 7000                     # 與檔名對應,其他為:7001等
bind 127.0.0.1
daemonize yes
pidfile 7000.pid              # 與檔名對應,其他為:7001.pid等
cluster-enabled yes
cluster-config-file 7000_node.conf        # 與檔名對應,其他為:7001_node.conf等
cluster-node-timeout 15000
appendonly yes

總結:三個⽂件的配置區別在port、pidfile、cluster-config-file三項

  • 使⽤配置⽂件啟動redis服務
redis-server 7000.conf
redis-server 7001.conf
redis-server 7002.conf
redis-server 7003.conf
redis-server 7004.conf
redis-server 7005.conf
  • 檢視程序如下圖

在這裡插入圖片描述

3.2 建立叢集

  • redis的安裝包中包含了redis-trib.rb,⽤於建立叢集
  • 將命令複製,這樣可以在任何⽬錄下調⽤此命令
sudo cp /usr/share/doc/redis-tools/examples/redis-trib.rb /usr/local/bin/
  • 安裝ruby環境,因為redis-trib.rb是⽤ruby開發的
sudo apt-get install ruby
  • 在提示資訊處輸⼊y,然後回⻋繼續安裝
    在這裡插入圖片描述
  • 運⾏如下命令建立叢集

 - 執⾏上⾯這個指令在某些機器上可能會報錯,主要原因是由於安裝的 ruby 不是最 新版本!
 - 天朝的防⽕牆導致⽆法下載最新版本,所以需要設定 gem 的源
 - 解決辦法如下

-- 先檢視⾃⼰的 gem 源是什麼地址
gem source -l -- 如果是https://rubygems.org/ 就需要更換
-- 更換指令為
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
-- 通過 gem 安裝 redis 的相關依賴
sudo gem install redis
-- 然後重新執⾏指令
  • 提示如下主從資訊,輸⼊yes後回⻋
    在這裡插入圖片描述

  • 提示完成,叢集搭建成功

4. 資料驗證

  • 根據上圖可以看出,當前搭建的主伺服器為7000、7001、7003,對應的從伺服器是7004、7005、7002
  • 在172.16.179.131機器上連線7001(可任意一個),加引數-c表示連線到叢集
redis-cli -h 127.0.0.1 -c -p 7001
  • 寫⼊資料
set age lis
  • ⾃動跳到了7000伺服器,並寫⼊資料成功
    在這裡插入圖片描述
  • 在7000可以獲取資料,如果寫入資料又重定向到7001(負載均衡)
    在這裡插入圖片描述