原创 記一次yum故障的問題解決

摘要用Linux的同學應該都知道yum,是用來管理系統軟件包的,非常快捷,可以自動解決包依賴問題。但真正瞭解yum的工作原理的人估計並不多。本文記錄一次在公司雲平臺上遇到無法使用yum的問題。正文問題重現:在虛擬機上安裝包(比如tcpdum

原创 文件寫入的工作原理

摘要做運維的同學估計很多都遇到過如下這個問題:程序啓動了多個線程或多個進程,這些線程或進程都會寫入一個文件,這時就有可能會造成文件錯亂的情況,也就是多個線程或進程同時寫入一個文件,造成這個文件錯亂了,有些行被插入到了另一些行裏去了。這時很多

原创 python處理大文件的內存問題

摘要:同學們時常會遇到要處理大文件的情況,現在是大數據時代,有些文件動輒幾十個G,我們在處理這樣文件的時候一不小心就把內存撐爆了,或者程序被強制kill掉了。原因是你一次性把文件的所有內容都讀取到內存裏面了。python裏面有方法可以一段一

原创 select.select()文件句柄的限制

摘要python中的select.select()函數調用了系統底層的select(),但是他有一個限制,就是當打開的文件句柄的數字達到1024後,就會出現下面的錯誤ValueError: filedescriptor out of ran

原创 Ansible ad-hoc的command和shell模塊的區別

Ansible中有一個很重要的功能就是可以執行ad-hoc命令,可能有些人不懂ad-hoc這個詞的意思,它表示即時的意思,或者說隨意的意思。與之相對的是ansible playbook功能,playbook適用於批量部署環境,一般不用經常改

原创 python unittest編寫測試代碼

做開發的朋友在寫代碼的同時一般都會寫測試代碼,這對於做運維的同學卻很少用。今天我們就來寫寫測試代碼,用unittest模塊。cat test.pyimport unittestdef IsOdd(n):    return n % 2 ==

原创 python 批量執行腳本(服務端和客戶端建立TCP連接)

有很多開源的批量部署的工具可以使用,比如puppet, ansible , saltstack , chef 。但這些工具都有自己的一套語法規則,你得按照他的語法來編寫程序,然後批量執行。那有沒有方法可以直接寫bash 或者Python腳本

原创 API調用的幾種類型

API是對APP的包裝,也就是通常所說的接口,APP和APP間的互相調用,包括讀取數據,修改數據等,就通過調用API來實現,API的好處顯而易見,標準化,service化,外部用戶看不到裏面的複雜的東西。一個成熟的產品必須要有API來給其他

原创 Ambari Server網口帶寬佔用率很高問題的分析和解決辦法

Ambari是Hortonworks出一款開源Hadoop管理系統,是用python寫的,目前市場是開源的Hadoop管理系統好像就只有這一個,雖然Ambari問題很多,也不好用,但也沒辦法了。最近監控系統經常報警說一個url老是不可達,只

原创 Hadoop節點上負載過高的問題分析

最近發現我們的hadoop集羣的客戶端機器負載經常飆到幾百,導致機器反應很慢, 客戶反應無法提交job,或者job跑的很慢。針對這種情況通常有幾個解決方案,一個是增加客戶端機器數量,把他們做到一個pool裏面,根據系統負載情況來自動切換不同

原创 字典法暴力破解Linux用戶密碼

Linux系列的很多操作系統是採用MD5加密用戶密碼的,加密的過程是單向的,所以要破解只能採用暴力破解法。下面分享個程序來破解root用戶密碼。程序會遍歷字典文件中的每個密碼,加密後和/etc/shadow中的密碼匹配,如果相同則返回成功。

原创 kickstart中%post部分格式化硬盤的問題

做過kickstart或者cobbler的同學應該都知道,在系統安裝結束後可以對系統作一些定製化的配置,比如ip,分區,硬盤,包等。下面講講我在寫%post時遇到的一些關於硬盤分區的問題。廢話不多說,先貼上處理硬盤的腳本,這裏只是處理非系統

原创 將博客搬至CSDN

我需要把我的博客搬遷至CSDN,請保留原分類和閱讀數

原创 shell登錄時的文件執行順序

序想必大家都在linux系統中設置過環境變量,有沒有感覺不知道應該在哪個文件裏面設置呢?比如~/.profile, ~/.bash_profile, ~/.bashrc , /etc/profile , 等等。其實這些文件會在不同的場景下被

原创 python抓取系統metrics吐給kafka

本篇介紹用python寫腳本,抓取系統metrics,然後調用kafka client library把metrics吐給kafka的案例分享。對於用kafka的同學實用性很高。在運行本實例前需要先下載兩個python庫到本地 : six和