CDH安裝時,無法納管全部的節點的一個bug
問題描述:
使用CDH 5.2版本安裝時,agent節點有12個。按照安裝說明,在各個節點啟動cm-agent之後,發現只有6個節點能被納管。其它的節點總是無法加入納管中。 在確認防火牆已經關閉後,仍然無法解決問題
問題分析:
1. 檢視已經加入納管的節點,發現這6個節點並不是固定的,有一個節點是不斷變換的。檢視資料庫中。
mysql> select * from HOSTS;
+---------+-------------------------+--------------------------------------+----------+--------------+----------+--------+---------------------+-------------------+--------------------+------------+-----------+----------------------+-------------+-------------------+----------------+
| HOST_ID | OPTIMISTIC_LOCK_VERSION | HOST_IDENTIFIER | NAME | IP_ADDRESS | RACK_ID | STATUS | CONFIG_CONTAINER_ID | MAINTENANCE_COUNT | DECOMMISSION_COUNT | CLUSTER_ID | NUM_CORES | TOTAL_PHYS_MEM_BYTES | PUBLIC_NAME | PUBLIC_IP_ADDRESS
| CLOUD_PROVIDER |
+---------+-------------------------+--------------------------------------+----------+--------------+----------+--------+---------------------+-------------------+--------------------+------------+-----------+----------------------+-------------+-------------------+----------------+
| 1 | 2 | e1cd96e2-1a81-4788-819a-c607cef28cf9 | hadoop44 | 16.81.224.44 | /default | NA | 1 | 0 | 0 | NULL | 24 | 67135713280 | NULL | NULL
| NULL |
| 2 | 169084 | 0b24a203-4984-4de5-b529-5ef2039eb350 | hadoop28 | 16.81.224.28 | /default | NA | 1 | 0 | 0 | NULL | 24 | 67135713280 | NULL | NULL
| NULL |
| 4 | 1 | 54efc787-ee3b-4a50-88ed-6796e7af71e6 | hadoop31 | 16.81.224.31 | /default | NA | 1 | 0 | 0 | NULL | 24 | 67135713280 | NULL | NULL | NULL |
| 5 | 1 | 8fb5d069-7380-4a72-8d48-bd3ad63a0d4e | hadoop32 | 16.81.224.32 | /default | NA | 1 | 0 | 0 | NULL | 24 | 67135713280 | NULL | NULL | NULL |
| 6 | 1 | ab2d6929-e8c9-4c51-9e6e-486e04f06a79 | hadoop33 | 16.81.224.33 | /default | NA | 1 | 0 | 0 | NULL | 24 | 67135713280 | NULL | NULL | NULL |
+---------+-------------------------+--------------------------------------+----------+--------------+----------+--------+---------------------+-------------------+--------------------+------------+-----------+----------------------+-------------+-------------------+----------------+
6 rows in set (0.00 sec)
發現其中host id為0b24a203-4984-4de5-b529-5ef2039eb350 所對應的IP會不斷變化。因此可以得出這樣的一個結論: 頁面會讀取HOSTS中的資料,但是其中host_id不能重複,如果重複,就會不斷的覆蓋。
2. 再次檢視28節點的日誌,也可以看到它上告給server的host id的值:
[[email protected] cloudera-scm-agent]# cat cloudera-scm-agent.log
[15/Aug/2016 19:56:58 +0000] 16140 MainThread agent INFO SCM Agent Version: 5.2.0
[15/Aug/2016 19:56:58 +0000] 16140 MainThread agent INFO Agent Protocol Version: 4
[15/Aug/2016 19:56:58 +0000] 16140 MainThread agent INFO Using Host ID: 0b24a203-4984-4de5-b529-5ef2039eb350
因此,我們需要檢視agent是如何獲取的host id
3. 檢視agent的啟動指令碼,可以知道:
/opt/cm-5.2.0/etc/init.d/cloudera-scm-agent -
--> /opt/cm-5.2.0/sbin/cmf-agent
而在cmf-agent中通過語句:
exec $CMF_PATH/agent/build/env/bin/python $CMF_PATH/agent/src/cmf/agent.py \
--package_dir $CMF_PATH/service --agent_dir $AGENT_RUNDIR \
--lib_dir $AGENT_LIBDIR --logfile $AGENT_LOG $*
在我除錯的過程中其傳遞的引數為:
exec /opt/cm-5.2.0/lib64/cmf/agent/build/env/bin/python /opt/cm-5.2.0/lib64/cmf/agent/src/cmf/agent.py --package_dir /opt/cm-5.2.0/lib64/cmf/service --agent_dir /opt/cm-5.2.0/run/cloudera-scm-agent --lib_dir /opt/cm-5.2.0/lib/cloudera-scm-agent
--logfile /opt/cm-5.2.0/log/cloudera-scm-agent/cloudera-scm-agent.log
4. 通過pdd對於agent.py指令碼進行除錯,可以知道它獲取host_id的過程:
agent.py首選 進入到start()函式,然後再呼叫函式parse_arguments()解析引數。在這個parse_arguments函式中,它會呼叫
if args.host_id is None:
self.host_id = get_host_uuid(self.lib_dir) ----從這裡獲取host_id
else:
self.host_id = args.host_id
檢視get_host_uuid的程式碼(在util.py中), 其中有一句:
uuid_path=os.path.join(lib_dir, "uuid") 其中lib_dir的值為/opt/cm-5.2.0/lib/cloudera-scm-agent, uuid為檔名。
再次檢視一下果然存在此檔案,而其中的值就是0b24a203-4984-4de5-b529-5ef2039eb350
到此,原因就很清楚了。在安裝的時候,agent的節點的包是不是從server端拷貝過來的,而是從某個agent中拷貝過來的,因而把uuid這個檔案也拷貝過來了。從而導致多個節點的uuid相同。
解決辦法: 刪掉uuid這個檔案,讓系統重新生成一個
相關推薦
CDH安裝時,無法納管全部的節點的一個bug
問題描述: 使用CDH 5.2版本安裝時,agent節點有12個。按照安裝說明,在各個節點啟動cm-agent之後,發現只有6個節點能被納管。其它的節點總是無法加入納管中。 在確認防火牆已經關閉後,仍然無法解決問題 問題分析: 1. 檢視已經加入
VMware tools出現“正在進行簡易安裝時,無法手動啟動VMware tools安裝”解決方法
遇到的問題: 安裝VMware Tools的時候提示“正在進行簡易安裝時,無法手動啟動VMware tools安裝”的提示資訊。 解決方法如下: 1.首先關閉當前正在執行的虛擬機器,在虛擬機
安裝 VMware tools出現“正在進行簡易安裝時,無法手動啟動VMware tools安裝”解決方法是:
安裝VMware虛擬機器的時候如果出現“正在進行簡易安裝時,無法手動啟動VMware tools安裝”的提示資訊,如下圖所示: 解決方法是: 修改1, 修改2,確認是否為如圖所示。
用VMware搭建的Ubuntu無法全屏 “正在進行簡易安裝時,無法手動啟動 VMware Tools 安裝”解決辦法之一
第一次在這裡寫部落格。 相信有不少人遇到過這樣的問題,VM搭建的Ubuntu沒法全屏,於是去網上查,然後我們從“虛擬機器”選項中進行設定,如下圖: 相信也有很多發現這並不能改變什麼,於是筆者自己琢磨一
安裝時,錯誤 29503 ,SQL Server 服務無法啟動
-------------------------------------------------------------------------------- Machine : XN01 Product : SQL Serv
CentOS 7 - 最小化安裝後,無法使用yum命令!!
修改 進行 習慣 配置文件 net ins 賬號 nbsp sys 剛剛最小化方式安裝了CentOS 7 後,說實話,真不習慣也不喜歡純shell方式工作,使用root賬號登入後,馬上想安裝GNOME,但是發現yum不能正常工作!!! 一,輸入安裝X Window命令,安裝
導入swaggerDemo時,無法識別工程的解決辦法
ger log 工程 無法 nbsp img logs wid 技術 1、在已建立的Java工程中,拷貝至demo中 2、打開.project修改工程名為demo的名字即可。 導入swaggerDemo時,無法識別工程的解決辦法
【BIEE】05_啟動BIEE時,無法啟動BI_SERVER
ini ora biee style server clas gin 無法啟動 onf 本地修改資料庫後,重新啟動BIEE,結果報錯: 點擊【查看日誌信息】後 從這裏是沒看出是什麽問題造成的,那麽我們就要去查詢啟動日誌了 問題解決 找到日誌路徑:D:\obiee\in
Oracle安裝時,已有oracle用戶,將用戶添加到oinstall和dba用戶組
添加到oinstall和dba用戶組usermod -g oinstall -G dba -d /home/Oracle Oracle-g為指定用戶的主要組為oinstall組-G為指定用戶的次要組為dba組-d為指定用戶的主目錄語句詳細定義為將Oracle用戶的主要組指定為oinstall次要組指定為dba
(轉)html 表單提交時,無法獲取到disabled屬性的input值
有效 AS 單元 java check bsp ado 控件 下拉框 input的字段當為disabled是,無法獲取值,無法改變值,所以在表單提交時,獲取不到值。可以用randomly解決這個問題。 <input name="country" id="countr
python2,python3同時安裝時,python3可以安裝並升級pip庫,python2報錯的解決辦法
用戶目錄 python3 error: nbsp python http customize nta tro 最近在使用pip安裝包的的時候出現下面錯誤 UnicodeEncodeError: ‘ascii‘ codec can‘t encode characte
gdb watch 除錯時,無法watch
伺服器實際執行時, 某個物件的某個變數不知道啥時候被改掉了。 用valgrind查了 ,沒有記憶體越界, 那就是邏輯上有問題。 這種情況 gdb 的 watch功能就非常好用。 它能檢測記憶體中的值被改了,就會自動斷點。
360急速瀏覽器 adobe flash 安裝後,無法顯示
1、360急速瀏覽器啟用adobe flash 外掛 adobe flash 離線安裝包 : Ma_Hong_Kai 連結: https://pan.baidu.com/s/17183LvRMija9YMWP7AdzRQ 提取碼: wd63 adobe flash
java 迴圈中使用list時,出現list中全部加入了物件導致沒有實現分組的解決方案
清空list即可 public List fetchNmapSingleTaskWithDataList() { Map map = new HashMap<>(); List listNst = new ArrayList();
ubuntu下織夢DEDE安裝時,GD外掛 OFF問題
出現這個問題一般是php-gd沒有安裝的問題,因此需要安裝php-gd。 ubuntu安裝如下: sudo apt install php7.0-gd #安裝完成之後重啟apache服務,不知道具體名字Tab補全 sudo systemctl restart apache2.ser
MDK生成bin檔案通過USB進行IAP升級時,無法啟動
BOOT 更新微控制器內的使用者程式,方式一般都是模擬器,串列埠,網路口,usb DFU,另類一點CAN也行,但是這些方式都有一個共同點,必須要有相應的上位機配合操作,這個比較麻煩。 另一種方式是把我們的裝置通過USB插入電腦,在電腦上映射出一個磁碟,把升級的.bin檔案拷貝到磁碟中,b
vs2013在解除安裝時,出現安裝錯誤devenv.exe
[3DCC:0CD4][2018-10-10T19:23:13]i001: Burn v3.7.2002.0, Windows v6.3 (Build 9600: Service Pack 0), path: C:\ProgramData\Package Cache\{4d78
LoadRunner監控Linux資源時,無法監控到資料指標47190錯誤解決
一、41790錯誤內容詳情和截圖: 47190 Monitor name :UNIX Resources. Cannot initialize the monitoring on (對應的ip地址). Error while creating the RPC clie
[32] Window PowerShell DSC 學習系列----使用DSC Package安裝時,如何獲取Product ID?
DSC的自身提供Package的DSC資源去安裝msi格式的檔案。 剛好筆者需要自動安裝Chef的客戶端,其就是一個msi格式的檔案。但是有點複雜和煩人的是其需要使用這提供一個Product ID,其具體格式參考如下: Package [string] #ResourceName {
靜默安裝時,許可權問題的處理
1.在Manifest中直接新增android.permission.INSTALL_PACKAGES許可權時 使用靜默安裝方式安裝應用時遇到java.lang.SecurityException: Neither user 10084 nor current process has and