SparkSQL DataFrame Select時傳入可變引數
阿新 • • 發佈:2021-01-18
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(負載均衡)