『壹』 如果要修改集群的備份數量,可以修改下面哪個配置文件
修改集群的備份數量,可以修改下面的配置文件,一般是根據配置文件的時間日期進行排版的修改時,可以按照時間日期進行修改,同時根據所需要的要求進行保存即可完成修改。
『貳』 Ceph 集群 scrub 設置策略(數據一致性校驗)
基本概念
1、什麼是 Scrub
Scrub是 Ceph 集群副本進行數據掃描的操作,用於檢測副本間數據的一致性,包括 scrub 和 deep-scrub。其中scrub 只對元數據信息進行掃描,相對比較快;而deep-scrub 不僅對元數據進行掃描,還會對存儲的數據進行掃描,相對比較慢。
2、Scrub默認執行周期
OSD 的scrub 默認策略是每天到每周(如果集群負載大周期就是一周,如果集群負載小周期就是一天)進行一次,時間區域默認為全體(0時-24時),deep-scrub默認策略是每周一次。
配置scrub策略
為了避開客戶業務高峰時段,建議在晚上0點到第二天早上5點之間,執行scrub 操作。
1、設置標識位
在任一monitor節點進行如下操作:
2、臨時配置
先通過tell 方式,讓scrub 時間區間配置立即生效,在任一monitor節點進行如下操作:
3、修改配置文件
為了保證集群服務重啟或者節點重啟依然有效,需要修改Ceph集群所有節點的配置文件 /etc/ceph/ceph.conf
添加以下區段配置:
注意: 該時間設置需要參考物理節點的時區設置
4、取消標識位
5、向 OSD {osd-num} 下達一個scrub命令. (用通配符 * 把命令下達到所有 OSD 。實測ceph 12.2.x版本不能加*)
6、設置 light scrub 周期
將osd_scrub_min_interval 和 osd_scrub_max_interval都設為4分鍾,這里的單位是秒
7、通過命令手動啟動scrub :
8、嘗試 pg repair
9、(Deep)Scrub的相關配置選項
同前端IO和Recovery一樣,Ceph通過控制PGScrub來間接控制Scrub的所有IO優先順序。
『叄』 linux 怎麼改redis集群的ip地址
首先要有linux環境,然後下載redis3.0以上版本。redis結合使用ruby實現了集群,所以需要ruby環境,安裝ruby環境和redis的gem介面後,就可以使用redis的redis-trib.rb腳本創建集群。步驟:
1.修改配置文件,啟動多個redis實例。
2.安裝ruby、rubygems、redis ruby介面。
安裝gem 需要ruby的版本在 1.8.7 以上,默認的centos5 上都是1.8.5 版本,所以首先你的升級你的ruby
3.gem 安裝redis ruby 介面
4.redis-trib.rb腳本創建集群
『肆』 如何在Ubuntu上配置Tomcat集群
多安裝幾個tomcat,並配置不同的埠號。關鍵在於修改這一行,添加jvmRoute="jvm1"
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">,不同的tomcat修改成不同的值,可以叫jvm1、jvm2、jvm3,自己定。
然後通過apache(或ngix或其它web伺服器),通過代理或Jk方式,配置一個負載均衡。如下apache+tomcat集群配置。
APACHE 2.2.8+TOMCAT6.0.14配置負載均衡
目標:
使用 apache 和 tomcat 配置一個可以應用的 web 網站,要達到以下要求:
1、 Apache 做為 HttpServer ,後面連接多個 tomcat 應用實例,並進行負載均衡。
2、 為系統設定 Session 超時時間,包括 Apache 和 tomcat
3、 為系統屏蔽文件列表,包括 Apache 和 tomcat
註:本常式以一台機器為例子,即同一台機器上裝一個apache和4個Tomcat。
一、前期准備工作:安裝用的程序(前提保證已安裝了JDK1.5以上的版本)
APAHCE 2.2.8下載:apache_2.2.8-win32-x86-no_ssl.msi
TOMCAT6.0.14下載:apache-tomcat-6.0.14.zip直接解壓。
二、安裝過程
APAHCE安裝目錄:D:\Apache。
四個TOMCAT目錄:自行解壓到(D:\Tomcat集群伺服器\)下。分別為 tomcat6.0,tomcat6.01,tomcat6.02,tomcat6.03
這幾個安裝過程就不詳細說明了。
三、配置
1、Apache配置
1.1、httpd.conf配置
修改APACHE的配置文件D:\Apache \conf\httpd.conf
將以下Mole的注釋去掉,這里並沒有使用mod_jk.so進行apache和tomcat的鏈接,從2.X以後apache自身已集成了mod_jk.so的功能。只需簡單的把下面幾行去掉注釋,就相當於以前用mod_jk.so比較繁瑣的配置了。這里主要採用了代理的方法,就這么簡單。
LoadMole proxy_mole moles/mod_proxy.so
LoadMole proxy_connect_mole moles/mod_proxy_connect.so
LoadMole proxy_ftp_mole moles/mod_proxy_ftp.so
LoadMole proxy_http_mole moles/mod_proxy_http.so
LoadMole proxy_ajp_mole moles/mod_proxy_ajp.so
LoadMole proxy_balancer_mole moles/mod_proxy_balancer.so
再找到<IfMole dir_mole></IfMole>加上index.jsp修改成
<IfMole dir_mole>
DirectoryIndex index.html index.jsp
</IfMole>
1.1.1、 在最下面加入
ProxyRequests Off
<proxy balancer://cluster>
BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1
BalancerMember ajp:// 127.0.0.1:9009 loadfactor=1 route=jvm2
BalancerMember ajp:// 127.0.0.1:9001 loadfactor=1 route=jvm3
BalancerMember ajp:// 127.0.0.1:9003 loadfactor=1 route=jvm4
</proxy>
上面的四個BalancerMember成員是我們配置的tomcat集群。後面會說明的。
1.2、httpd-vhosts.conf設置
接下來進行虛擬主機的設置。APACHE的虛擬主機設置如下:
首先要修改 conf/httpd.conf找到(#Include conf/extra/httpd-vhosts.conf)
把注釋去掉。
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
在文件(extra/httpd-vhosts.conf)最下面加入
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName localhost
ServerAlias localhost
ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On
ProxyPassReverse / balancer://cluster/
</VirtualHost>
其中的域名和路徑根據你自己情況設置
然後再設置TOMCAT虛擬主機
2 配置 tomcat
2.1. 配置 server 的關閉
我們需要在一台機器上跑 4 個不同的 tomcat ,需要修改不同的 tomcat 的關閉口,避免出現埠被佔用的情況。其中tomcat6.0用默認值,不修改。其他三個修改。在tomcat6.01\conf, tomcat6.02\conf下和tomcat6.03\conf下的 server.xml 中找到 server, 將:
<Server port="8005" shutdown="SHUTDOWN">
改為
<Server port="XXXX" shutdown="SHUTDOWN">
XXXX 在這里表示不同的埠:我的其它三個 tomcat 分別使用 9005,8006 , 9007
2.2. 配置 Engine
把原來的配置注釋掉,把下面一句去掉注釋。並標明jvmRoute="jvm2".
<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm2">
以下是原來的配置。
<!-- <Engine name="Catalina" defaultHost="localhost"> -->
其他(tomcat6.02和tomcat6.03)也要同樣 配置。注意:jvmRoute配置不要一樣。
<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm3">
<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm4">
2.3. 配置 Connector
原來的默認配置。
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
這里是apache和tomcat鏈接的關鍵,前台apache就是通過AJP協議與tomcat進行通信的,以完成負載均衡的作用。也可以用HTTP協議。大家注意它們是如何連接通信的,上面的紅色部分(port="8009")就是連接的介面了。
把其他三個tomcat的<Connector port="XXX" />port分別改成與上面
<proxy balancer://cluster>
#與tomcat6.0對應,route與<Engine jvmRoute="jvm1">對應。
BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1
#與tomcat6.01對應,route與<Engine jvmRoute="jvm2">對應。
BalancerMember ajp:// 127.0.0.1:9009 loadfactor=1 route=jvm2
#與tomcat6.02對應,route與<Engine jvmRoute="jvm3">對應。
BalancerMember ajp:// 127.0.0.1:9001 loadfactor=1 route=jvm3
#與tomcat6.03對應,route與<Engine jvmRoute="jvm4">對應。
BalancerMember ajp:// 127.0.0.1:9003 loadfactor=1 route=jvm4
</proxy>
中的埠對應,tomcat6.01 的ajp埠port:9009. tomcat6.02 的ajp埠port:9001。tomcat6.03 的ajp埠port:9003.一定要與上面的一致。同時也要把redirectPort的值改成唯一的,確保四個tomcat的都不一樣。
2.5.配置Cluster(每個tomcat中都要修改)
原來的配置。
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
修改為以下的代碼:<Receiver port=」XX」/>port也要保證唯一性。
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="6">
<Manager className="org.apache.catalina.ha.session.BackupManager"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"
mapSendOptions="6"/>
<!--
<Manager className="org.apache.catalina.ha.session.DeltaManager"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"/>
-->
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Membership className="org.apache.catalina.tribes.membership.McastService"
address="228.0.0.4"
port="45564"
frequency="500"
dropTime="3000"/>
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="auto"
port="5001"
selectorTimeout="100"
maxThreads="6"/>
<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
</Sender>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/>
</Channel>
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
tempDir="/tmp/war-temp/"
deployDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>
這個設置是主要用以tomcat的集群。
四、啟動服務,測試tomcat自帶的例子
1、測試apache和tomcat協作。
先在每個tomcat中的\webapps\ROOT下的index.jsp下面加上以下的測試代碼部分:(X代表不同的tomcat的輸出不同的信息),把index.html刪除,以免影響測試效果。在最後面的加上.即</table></body>之間。
<%
System.out.println("tomcat6.0X deal with request");
%>
然後再通過http:// 127.0.0.1來訪問一下,就會出現大家熟悉的貓貓。
然後再通過分別訪問
http:// 127.0.0.1:8080, http:// 127.0.0.1:9080,http:// 127.0.0.1:8081,http:// 127.0.0.1:9002它們訪問的內容和上面的http:// 127.0.0.1是一樣的。
這樣就說明apache和TOMCAT整合成功!
2、測試均衡器
通過http:// 127.0.0.1多次訪問,要想看到真正的效果,必須用一些壓力測試工具,可用微軟Microsoft Web Application Stress Tool進行簡單壓力測試,不然你靠不停刷新是體現不出來的,你只會在一個tomcat的控制台有輸出結果。只用用壓力測試工具模擬大量用戶同時訪問,你會發現四個tomcat控制台均有打出控制信息,說明均衡器工作正常。
『伍』 weblogic集群完成之後,在web應用修改配置文件時,集群中的各個server之間不會同步
呵呵,不錯
『陸』 TiDB修改配置參數
在TiDB 中,「修改配置參數」似乎是個不精準的說法,它實際包含了以下內容:
TiDB的配置修改比較混亂,先做個總結,再介紹具體內容:
查看TiDB系統變數:
集群中所有 TiDB Server 都生效;
持久化在哪裡?
持久化在 kv 存儲中,跟數據一樣持久化了,不會持久化在 conf/tidb.toml 配置文件中。所以不用擔心 tiup upgrade 和 tiup reload 等運維操作會把配置文件覆蓋,不會導致修改失效,因為這個修改的持久化不依賴配置文件。
有些參數的作用域只有會話級別。也就是只能會話級修改,這不代表著不能被動態修改。
修改方式和會話級修改一樣:
修改 Instance 級別的參數修改不會持久化,那麼如何持久化呢?
a. 手工修改 TiDB 的配置文件:
b. 並使用 tiup edit-config 來修改對應的配置項,不需要做 tiup reload:
內容如下:
目前查看官方文檔,發現只有3個只讀變數:hostname、tidb_config、tidb_current_ts,沒法通過 set variables 修改。作用域比較奇怪,用法介紹也不清楚,看起來沒有修改的必要。如果一定要修改可以通過 tiup 方法修改。
修改集群配置包括TiDB、TiKV 以及 PD 在內的各組件的配置進行修改。
使用 edit-config 命令來編輯參數,以編輯模式打開該集群的配置文件:
如果配置的生效范圍為該組件全局,則配置到 server_configs,比如修改所有 tikv 的 log-level 為 waring(默認是 info):
如果配置的生效范圍為某個節點,則配置到具體節點的 config 中。例如:
tiup reload 分發配置並滾動重啟組件,無論是否可以動態修改的參數都會重啟,並且默認會重啟所有組件,可以選擇指定節點或者組件:
tiup cluster reload ${cluster-name} [-N <nodes>] [-R <roles>]
示例中我們只修改 tikv 的 log-level 為 waring,所以用 -R tikv 指定只重啟 tikv 節點:
set config 當前4.0版本屬於實驗性功能,不建議在生產使用: https://docs.pingcap.com/zh/tidb/stable/dynamic-config
目前只支持修改 TiKV 和 PD 的配置,TIDB的配置修改用上面的 set variables 方法。
查看當前參數設置:
用 set config 修改參數,會持久化到配置文件。log-level 無法動態修改,不會報錯但是會有 warnings,對於不能動態修改的參數使用 tiup 進行修改:
動態修改示例:
雖然TiKV的配置文件 conf/tikv.toml 會持久化這個修改,但是為了防止tiup upgrade 和 tiup reload 等運維操作把配置文件覆蓋導致修改失效,還需要執行 tiup edit-config 來編輯參數。
『柒』 使用 kubectl 管理 kubeconfig 配置文件
Kubernetes 集群在伺服器搭建部署成功之後,通常我們都會通過 kubectl 命令行工具與集群互動、發送操作指令來管理集群。 kubectl 主要依賴於集群配置文件 kubeconfig 與集群進行通訊,這個文件通常在 Kubernetes 集群的 master 節點伺服器的 $HOME/.kube/config 目錄下。開發者可以從伺服器獲取改配置文件到開發者本地電腦上的相同目錄位置上即可。
本篇文章主要介紹一下我們如何管理這個配置文件。如果熟悉 kubeconfig 文件的結構,讀者當然可以使用文本編輯器自行修改,不過手工修改難免會有錯誤和不便。所以這里介紹一下如何利用 kubectl 工具來幫助我們管理和調整配置文件。
kubeconfig 是一個 Kubernetes 中的一個資源對象,叫做 Config , 內容格式是 YAML 。這個文件中主要包含了集群(clusters)、上下文(contexts)和用戶(users)信息,他們的層次結構和關系如下圖所示:
如圖所示,上下文 context 是建立集群、用戶和命名空間之間關系的橋梁和紐帶,我們在本地切換所謂的「環境」其實就是將一個指定的上下文為當前激活的上下文(current-context)。再通俗點講,這個上下文指的就是你當前是以什麼身份(user) 在連接哪個集群(cluster),連接後自動切換到哪一個命名空間(namespace)下。
kubectl 中的 config 子命令可以幫助我們維護存儲在本地的配置文件,我們先來看下它的幫助說明:
這里簡要說明一下config下幾個主要的子命令:
接下來我們列舉一些常見的任務場景。
首先我們使用以下命令來看下集群 kubernetes 的 server 屬性的值:
接下來我們是用 set-cluster 子命令來修改伺服器的地址:
kubectl config 未直接提供的刪除用戶的子命令,所以我們找不到類似於 delete-user 之類的選項。不過我們可以使用 unset 子命令來完成這個任務:
建議大家使用 kubectl config 的方式來配置 kubeconfig 文件,避免了手工修改的麻煩和誤配置之外,對於自動化管理也可以更加規范和統一。
『捌』 搭建hadoop集群,常用配置文件是什麼,以及配置哪些屬性
一. 簡介
參考了網上許多教程,最終把hadoop在ubuntu14.04中安裝配置成功。下面就把詳細的安裝步驟敘述一下。我所使用的環境:兩台ubuntu 14.04 64位的台式機,hadoop選擇2.7.1版本。(前邊主要介紹單機版的配置,集群版是在單機版的基礎上,主要是配置文件有所不同,後邊會有詳細說明)
二. 准備工作
2.1 創建用戶
創建用戶,並為其添加root許可權,經過親自驗證下面這種方法比較好。
1 sudo adser hadoop2 sudo vim /etc/sudoers3 # 修改內容如下:4 root ALL = (ALL)ALL5 hadoop ALL = (ALL)ALL
給hadoop用戶創建目錄,並添加到sudo用戶組中,命令如下:
1 sudo chown hadoop /home/hadoop2 # 添加到sudo用戶組3 sudo adser hadoop sudo
最後注銷當前用戶,使用新創建的hadoop用戶登陸。
2.2安裝ssh服務
ubuntu中默認是沒有裝ssh server的(只有ssh client),所以先運行以下命令安裝openssh-server。安裝過程輕松加愉快~
sudo apt-get install ssh openssh-server
2.3 配置ssh無密碼登陸
直接上代碼:執行完下邊的代碼就可以直接登陸了(可以運行ssh localhost進行驗證)
1 cd ~/.ssh# 如果找不到這個文件夾,先執行一下 "ssh localhost"2 ssh-keygen -t rsa3 cp id_rsa.pub authorized_keys
注意:
這里實現的是無密登陸自己,只適用與hadoop單機環境。如果配置Hadoop集群設置Master與Slave的SSH無密登陸可
三. 安裝過程
3.1 下載hadoop安裝包
有兩種下載方式:
1. 直接去官網下載:
2. 使用wget命令下載:
3.2 配置hadoop
1. 解壓下載的hadoop安裝包,並修改配置文件。我的解壓目錄是(/home/hadoop/hadoop-2.7.1),即進入/home/hadoop/文件夾下執行下面的解壓縮命令。
tar -zxvf hadoop-2.7.1.tar.gz
2. 修改配置文件:(hadoop2.7.1/etc/hadoop/)目錄下,hadoop-env.sh,core-site.xml,mapred-site.xml.template,hdfs-site.xml。
(1). core-site.xml 配置:其中的hadoop.tmp.dir的路徑可以根據自己的習慣進行設置。
至此,wordcount demo 運行結束。
六. 總結
配置過程遇到了很多問題,最後都一一解決,收獲很多,特此把這次配置的經驗分享出來,方便想要配置hadoop環境的各位朋友~
(Hadoop集群安裝配置過程基本和單機版是一樣的,主要是在配置文件方面有所區別,以及ssh無密登陸要求master和slave能夠互相無密登陸。
『玖』 可在什麼文件中配置集群資源管理系統參數
可在以下文件中配置集群資源管理系統參數:
1、core-site.xml,集群全局參數,用於定義系統級別的參數。
2、hdfs-site.xml,HDFS參數。
3、yarn-site.xml,集群資源管理系統參數。
4、mapred-site.xml,MapRece參數。
『拾』 怎樣將zookeeper的mode由standalone改成集群形式'
將下載的 ZooKeeper 解壓,進入 conf 目錄,復制一份 zoo_sample.cfg 的配置文件命名為 zoo.cfg,修改如下:
# the basic time unit in milliseconds used by ZooKeeper. It is used to do heartbeats
tickTime=2000
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/var/lib/zookeeper
# the port at which the clients will connect
clientPort=2181
2、 進入 bin 目錄,啟動 ZooKeeper:
./zkServer.sh start
啟動運行後會創建相關目錄,所以注意相關目錄的寫許可權。啟動的日誌如下:
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.9/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
3、 Client Connecting to ZooKeeper
客戶端連接到 ZooKeeper:
./zkCli.sh -server 127.0.0.1:2181
連接成功的日誌輸出:
Welcome to ZooKeeper!
SendThread(127.0.0.1:2181):ClientCnxn$SendThread@1032] - Opening socket connection to server 127.0.0.1/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error)
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
[zk: 127.0.0.1:2181(CONNECTED) 0]