發表文章

目前顯示的是 9月, 2015的文章

使用 Spine 加速 Cacti 的輪循裝置速度

圖片
---- 使用 Spine 加速 Cacti 的輪循裝置速度 ---- http://www.cacti.net/spine_info.php Spine, formerly Cactid, is a poller for Cacti that primarily strives to be as fast as possible. For this reason it is written in native C, makes use of POSIX threads, and is linked directly against the net-snmp library for minmumal SNMP polling overhead. Spine is a replacement for the default cmd.php poller so you must decide if using Spine makes sense for your installation. Spine 是 Cacti 用來加入輪循的程式,使用原生的 C 及支援 POSIX 的 threads 來加入輪循主機的效率。在 Cacti 預設是使用 cmd.php 來當成 poller ,如果你有 poller 時間過長的問題可以考慮使用 spine 來處理。 你可以透過, log 檔來判斷你是否需要 spine Console -> Utilities -> View Cacti Log File 底下例子是 cmd.php 使用了 190 秒的時間,離上限 300 秒很接近了。 09/28/2015 08:25:12 PM - SYSTEM STATS: Time:190.7159 Method:cmd.php Processes:100 Threads:N/A Hosts:68 HostsPerProcess:1 DataSources:3003 RRDsProcessed:1433 這個案例就有改善的必要。 ---- spine 的安裝 ---- http://www.cacti.net/spine_install_unix.php Spine 需要底下這些 lib 如果沒裝的話,可以再補上去。 net-snmp u...

Apache HADOOP 安裝多主機(cluster)模式在 CentOS Linux 7

圖片
HADOOP 安裝多主機(cluster)模式, 首先建議你要有4台電腦以上,才會好工作。 (0) 把 OS 安裝好 此範例為 CentOS Linux 7 namenode 使用 server with GUI 的安裝選項 datanode 使用 @base @core @development 的選項 /home 目錄獨立一個分割區或硬碟,給 datanode or namenode 使用。 (1) 把所有主機的 dns name 及 hostname 設定好 [hadoop@namenode ~]$ host namenode namenode.jangmt.com has address 192.168.1.100 [hadoop@namenode ~]$ host datanode1 datanode1.jangmt.com has address 192.168.1.1 [hadoop@namenode ~]$ host datanode2 datanode2.jangmt.com has address 192.168.1.2 [hadoop@namenode ~]$ host datanode3 datanode3.jangmt.com has address 192.168.1.3 為了方便識別主機,建議將主機的名稱修改為設定的名稱 修改方式可以透過 hostnamectl 指令修改。 可以參考 http://blog.jangmt.com/2015/06/centos7-rhel7-runlevel.html  (在 CENTOS 7 的版本可以使用 hostnamectl 來改變系統 hostname) (2)  先達成每台主機可以 ssh key 認證 可以參考 http://blog.jangmt.com/2015/09/ssh-key-linux.html 基本上建議建立一個 hadoop 帳號,這個使用者為主要放置程式的使用者,同時也是 HDFS 的管理員。 然後 hadoop 可以登入 root , root 可以登入 hadoop 都無須密碼,這樣交換資料也相較容易。 [hadoop@namenode ~]$ ssh root@datanode1 ifco...

Linux Shell -- for 迴圈

Linux Shell -- for 迴圈 Linux shell 可以使用 for 迴圈傳遞固定的值內容給迴圈內部變數 基本格式為: for  變數  in 值1  值2  值3   do   echo  變數  done 執行結果會是:  值1  值2  值3   # 範例如下:複製 dl 目錄到每一台主機,主機已經先設定 ssh key 認證 [hadoop@namenode happ]$ cat sync_dl2_all.sh  #!/bin/bash ACTION=$1 if [ "$ACTION" == "all" ]; then   for N in 1 2 3   do    echo "send to datanode${N}"    RUN="rsync -av --delete-after /home/hadoop/happ/dl hadoop@datanode${N}:/home/hadoop/"    echo $RUN    #echo $RUN | sh   done   exit 0 else   echo "usage:$0 all"   exit 1 fi [hadoop@namenode happ]$ ./sync_dl2_all.sh usage:./sync_dl2_all.sh all [hadoop@namenode happ]$ ./sync_dl2_all.sh all send to datanode1 rsync -av --delete-after /home/hadoop/happ/dl hadoop@datanode1:/home/hadoop/ send to datanode2 rsync -av --delete-after /home/hadoop/happ/dl hadoop@datanode2:/home/hadoop/ send to datano...

CentOS 7 上 cacti 流量報表管理系統的安裝

圖片
CACTI 是一個結合 snmp 及 rrdtool 的流量報表管理工具,可以大量監控所有的流量報表。 使用前請先安裝及設定好 1. MariaDB http://blog.jangmt.com/2015/09/mariadb-root-in-centos-linux-7.html 2. httpd and phpmyadmin http://blog.jangmt.com/2015/09/centos-7-phpmyadmin.html  3. 主機的 snmpd 服務 http://blog.jangmt.com/2015/09/centos-7-snmpd-centos-7-snmp-install.html ---- CACTI install ---- # 直接使用 yum 安裝 [root@hnamenode2 snmp]# yum install cacti -y [root@hnamenode2 cacti]# pwd /etc/cacti # 安裝號後,請觀看 db.php 的設定值,建立一個 cacti 帳號 [root@hnamenode2 cacti]# cat /etc/cacti/db.php /* make sure these values refect your actual database/host/user/password */ $database_type = "mysql"; $database_default = "cacti"; $database_hostname = "localhost"; $database_username = "cacti"; $database_password = "cactiuser"; $database_port = "3306"; $database_ssl = false; /*    Edit this to point to the default URL of your Cacti install    ex: if your cacti install as at http://ser...

在 CentOS 7 安裝 snmpd 服務(CentOS 7 SNMP install)

---- 在 CentOS 7 安裝 snmpd 服務(CentOS 7 SNMP install) ---- 在 CentOS 7 安裝 snmpd 服務,讓主機的資訊可以透過網路取得。 環境是 CentOS 7 x86_64 版本防火牆已經關閉, SELINUX 設定為 permissive [root@hnamenode2 snmp]# getenforce Permissive # 安裝 snmpd 元件 [root@hnamenode2 ~]# yum -y install net-snmp net-snmp-utils # 修改設定檔,更換為底下資訊 [root@hnamenode2 snmp]# cat /etc/snmp/snmpd.conf # snmp 存取資訊 com2sec local           localhost       public com2sec localnet         192.168.0.0/16  public(public建議修改為其他的帳號) group   MyRWGroup v1            local group   MyROGroup v1            localnet group   MyROSystem v1           local group   MyROSystem v2c          local group   MyROSystem usm          local group   MyROGroup v1            localnet group   MyROGr...

CentOS 7 安裝 phpMyAdmin 設定

圖片
---- CentOS 7 安裝 phpMyAdmin 設定 ---- # 安裝 httpd and php [root@hnamenode2 ~]# yum -y install httpd httpd-devel httpd-manual php-mysql php-mbstring \ php php-soap php-xml php-mcrypt php-pear php-cli php-devel php-gd  [root@hnamenode2 conf.d]# systemctl restart httpd.service  [root@hnamenode2 conf.d]# systemctl status httpd.service  httpd.service - The Apache HTTP Server    Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled)    Active: active (running) since 六 2015-09-26 22:54:14 CST; 7s ago   Process: 11956 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS)  Main PID: 11961 (httpd)    Status: "Processing requests..."    CGroup: /system.slice/httpd.service            ├─11961 /usr/sbin/httpd -DFOREGROUND            ├─11963 /usr/sbin/httpd -DFOREGROUND            ├─11964 /usr/sbin/httpd -DF...

安裝 mariadb 並修改 root 密碼 in CentOS Linux 7

---- 安裝 mariadb 並修改 root 密碼 in CentOS Linux 7 ---- # 安裝 mariadb server [root@hnamenode2 ~]# yum -y install mariadb-server mariadb-bench mariadb-libs # 立即啟動 mariadb [root@hnamenode2 ~]# systemctl start mariadb # 預設開機啟動 [root@hnamenode2 ~]# systemctl enable mariadb ln -s '/usr/lib/systemd/system/mariadb.service' '/etc/systemd/system/multi-user.target.wants/mariadb.service' # 狀態 [root@hnamenode2 ~]# systemctl status mariadb mariadb.service - MariaDB database server    Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled)    Active: active (running) since 六 2015-09-26 21:21:58 CST; 7s ago   Process: 10071 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=0/SUCCESS)   Process: 9990 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)  Main PID: 10069 (mysqld_safe)    CGroup: /system.slice/mariadb.service            ├─10069 /bin...

CentOS Linux 7 xRDP (Linux RDP遠端桌面)

圖片
---- CentOS Linux 7 xRDP  (Linux RDP遠端桌面) ---- # 安裝 nux repo source 及 epel REPO [root@hnamenode2 ~]# yum install epel-release -y [root@hnamenode2 ~]# rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm # 安裝 xrdp [root@hnamenode2 ~]# yum -y install xrdp tigervnc-server # 啟動 xrdp [root@hnamenode2 ~]#   systemctl restart xrdp.service # 觀看啟動的狀態 [root@hnamenode2 ~]# netstat -antup | grep xrdp tcp        0      0 127.0.0.1:3350          0.0.0.0:*               LISTEN      31816/xrdp-sesman   tcp        0      0 0.0.0.0:3389            0.0.0.0:*               LISTEN      31817/xrdp # xrdp 預設啟動 [root@hnamenode2 ~]#  systemctl enable xrdp.service ln -s '/usr/lib/systemd/system/xrdp.service...

關閉 centos7 防火牆 firewalld 改用傳統的 iptables

圖片
---- 關閉 centos7 防火牆 firewalld 改用傳統的 iptables ---- ref: http://www.liquidweb.com/kb/how-to-stop-and-disable-firewalld-on-centos-7/ # 關閉防火牆(Firewall on RHEL / CentOS / RedHat Linux 7) # 預設開機不啟動 [root@hnamenode2 ~]# systemctl disable firewalld rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service' rm '/etc/systemd/system/basic.target.wants/firewalld.service' # 立即停止 [root@hnamenode2 ~]# systemctl stop firewalld # 狀態檢查 [root@hnamenode2 ~]# systemctl status firewalld firewalld.service - firewalld - dynamic firewall daemon    Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled)    Active: inactive (dead)  9月 14 18:48:27 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...  9月 14 18:48:33 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.  9月 26 21:00:53 hnamenode2 systemd[1]: Stopping firewalld - dynamic firewall daemon...  9月 26 21:00:54 hname...

變更 hadoop 的 HDFS 檔案系統 block size

圖片
在 hadoop 2.7 版本的 hadoop 內把預設的 block size 設定為 128MB ,對於規模不大的教學用 hadoop 是很浪費空間的。所以修改一下把它改成 64MB 的 size。 ---- 先觀看 hdfs 的 datanode 狀況 ---- # 也可以用 web 看 http://localhost:50070/dfshealth.html#tab-datanode  # 用指令看 [hadoop@hnamenode ~]$ hdfs dfsadmin -report Configured Capacity: 64280172384256 (58.46 TB) Present Capacity: 64247015936000 (58.43 TB) DFS Remaining: 64238110507008 (58.42 TB) DFS Used: 8905428992 (8.29 GB) DFS Used%: 0.01% Under replicated blocks: 0 Blocks with corrupt replicas: 0 Missing blocks: 0 Missing blocks (with replication factor 1): 0 ------------------------------------------------- Live datanodes (17): Name: 192.168.1.11:50010 (hdatanode11.cm.nsysu.edu.tw) Hostname: hdatanode11.cm.nsysu.edu.tw Decommission Status : Normal Configured Capacity: 3998832504832 (3.64 TB) DFS Used: 407236608 (388.37 MB) Non DFS Used: 745283584 (710.76 MB) DFS Remaining: 3997679984640 (3.64 TB) DFS Used%: 0.01% DFS Remaining%: 99.97% Configured Cache Capacity...

大量安裝 Oracle Java 在 CentOS Linux 7 上

圖片
---- JAVA 單機安裝方式 ---- 首先要去官方網站上抓下來,放到 linux 上面。 http://www.oracle.com/technetwork/java/javase/downloads/index.html 這裡是以 centos7 x86_64 的版本的 rpm 為範例 http://www.oracle.com/technetwork/java/javase/downloads/index.html # 安裝 oracle java [hadoop@hnamenode2 dl]$ sudo yum install jdk-8u51-linux-x64.rpm # 設定使用那個 java 當成預設值 [hadoop@hnamenode2 dl]$ sudo alternatives --config java There are 2 programs which provide 'java'.   Selection    Command ----------------------------------------------- *+ 1           /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.85-2.6.1.2.el7_1.x86_64/jre/bin/java    2           /usr/java/jdk1.8.0_51/jre/bin/java Enter to keep the current selection[+], or type selection number: 2 # 建議把 openjdk 移除,因為 hadoop 只要用 oracle jdk 就好,避免後續變數的錯亂。 # 移除後上面的 alternatives --config java 就會只剩下一個選項。 [hadoop@hnamenode2 dl]$ rpm -qa | grep openjdk java-1.7.0-openjdk-1.7.0.85-2.6.1.2.el7_1.x86_64 ja...

設定 ssh 使用 key 認證方式登入 linux 系統

目的為設定從 hnamenode 登入 hnamenode2 無須使用密碼登入 # ssh key 認證, 還沒產生 key 前的畫面 [hadoop@hnamenode ~]$ ls .ssh/ known_hosts # 產生一對 ssh key [hadoop@hnamenode ~]$ ssh-keygen  Generating public/private rsa key pair. Enter file in which to save the key (/home/hadoop/.ssh/id_rsa): Enter passphrase (empty for no passphrase): (這是key的密碼) Enter same passphrase again: (這是key的密碼,check again) Your identification has been saved in /home/hadoop/.ssh/id_rsa. Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub. The key fingerprint is: cf:d3:df:a5:cb:ae:75:b9:09:59:51:e8:c2:ff:45:33 hadoop@hnamenode2 The key's randomart image is: +--[ RSA 2048]----+ |               ..| |              . .| |           . . . | |            o .Eo| |        S    o oo| |         o .  + o| |         ...

命令列修改 centos 7 timezone(時區)

找出你的國家 [root@hnamenode ~]# timedatectl list-timezones | grep 'Taipei' Asia/Taipei 設定時區 [root@hnamenode ~]# timedatectl set-timezone Asia/Taipei 驗證, CST 中原時區 [root@hnamenode ~]# date Thu Sep 10 23:34:18 CST 2015

PDSH(Parallel Distributed SHell) 同時對遠端多台電腦送指令的 shell 工具

圖片
PDSH(Parallel Distributed SHell) 同時對遠端多台電腦送指令的 shell 工具 Pdsh(Parallel Distributed Shell) 是個可以同時平行對遠端的 shell 送指令及接收回傳資料的工具,它目標是取代 IBM's DSH 在 clusters at LLNL. 當有很多台一樣的主機,需要管理的時候就顯的重要。 目前他的官方網站 https://code.google.com/p/pdsh/ 最後一次更新在 2013 年,網路上已經有人打包成為 RPM 檔案,直接使用打包好的就可以。 它同時提供有 pdcp (copy from local host to a group of remote hosts in parallel) dshbak (formatting and demultiplexing pdsh output) 這些輔助工具。 RHLE 7 or CENTOS 7 版本的 RPM 下載 RPM 下載: http://blackjack.grid.org.ua/pub/linux/rhel/7x/base/x86_64/ 安裝需要請下載這些檔案: [hadoop@hadoop dl]$ rpm -qa | grep pdsh pdsh-2.29-2.el7.centos.x86_64 pdsh-rcmd-exec-2.29-2.el7.centos.x86_64 pdsh-mod-dshgroup-2.29-2.el7.centos.x86_64 pdsh-rcmd-ssh-2.29-2.el7.centos.x86_64 pdsh-mod-machines-2.29-2.el7.centos.x86_64 pdsh-debuginfo-2.29-2.el7.centos.x86_64 然後使用 RPM 安裝,因為軟體相依性關係,請先依序安裝下面兩個程式再裝其他的程式 rpm -ivh pdsh-rcmd-exec-2.29-2.el7.centos.x86_64 rpm -ivh pdsh-2.29-2.el7.centos.x86_64 .... other # 使用前需要先設定好, ssh key 認證,你可以參考底下這篇文...