搜尋此網誌

2016年5月25日 星期三

Centos7 安裝 MongoDB

由於 selinux 會影響 mongodb 的啟動,所以
vi /etc/selinux/config
SELINUX=disabled

然後重啟 OS

1. 加入 MongoDB Repository
vi /etc/yum.repos.d/mongodb.repo

參考 https://www.mongodb.com/download-center?jmp=nav#community

OS 是 64-Bit 的話

[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc


2. 安裝 3.4.x:

yum install -y mongodb-org

(會自動安裝五個套件:
mongodb-org-3.4.x
mongodb-org-server
mongodb-org-shell
mongodb-org-tools
mongodb-org-mongos
)


3. 修改
vi /etc/mongod.conf
先將預設的 bind IP 127.0.0.1 修改為 0.0.0.0

vi /etc/security/limits.d/20-nproc.conf
尾巴加一行後存檔
mongod     soft    nproc     500000



4. 防火牆設定
systemctl stop firewalld
systemctl disable firewalld
或者是
firewall-cmd --permanent --zone=public --add-port=27017/tcp
firewall-cmd --reload
systemctl restart mongod


5. 啟動與查服務的狀態
systemctl enable mongod
systemctl start mongod
ps auxw | grep mongod
systemctl status mongod


如果無法執行,可以考慮兩個方向:
1. SELINUX=disabled
vi /etc/selinux/config
SELINUX=disabled

2. 如果 SELinux 是enforcing 模式,則
yum -y install policycoreutils-python
semanage port -a -t mongod_port_t -p tcp 27017

查 LOG
/var/log/mongodb/mongod.log


6. 最後參照官網教學 Disable Transparent Huge Pages   ( Link )
vi /etc/init.d/disable-transparent-hugepages

填入以下腳本檔內容
#!/bin/bash
### BEGIN INIT INFO
# Provides:          disable-transparent-hugepages
# Required-Start:    $local_fs
# Required-Stop:
# X-Start-Before:    mongod mongodb-mms-automation-agent
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Disable Linux transparent huge pages
# Description:       Disable Linux transparent huge pages, to improve
#                    database performance.
### END INIT INFO

case $1 in
  start)
    if [ -d /sys/kernel/mm/transparent_hugepage ]; then
      thp_path=/sys/kernel/mm/transparent_hugepage
    elif [ -d /sys/kernel/mm/redhat_transparent_hugepage ]; then
      thp_path=/sys/kernel/mm/redhat_transparent_hugepage
    else
      return 0
    fi

    echo 'never' > ${thp_path}/enabled
    echo 'never' > ${thp_path}/defrag

    re='^[0-1]+$'
    if [[ $(cat ${thp_path}/khugepaged/defrag) =~ $re ]]
    then
      # RHEL 7
      echo 0  > ${thp_path}/khugepaged/defrag
    else
      # RHEL 6
      echo 'no' > ${thp_path}/khugepaged/defrag
    fi

    unset re
    unset thp_path
    ;;
esac
設定可執行權限
chmod 755 /etc/init.d/disable-transparent-hugepages

根據 OS 的不同,參考以下指令:
DistributionCommand
Ubuntu and Debian
sudo update-rc.d disable-transparent-hugepages defaults
SUSE
sudo insserv /etc/init.d/disable-transparent-hugepages
Red Hat, CentOS, Amazon Linux, and derivatives
sudo chkconfig --add disable-transparent-hugepages
將作業系統重新開機,登入之後 啟動 mongo 確認是否還有警告提示


2016年5月24日 星期二

LINUX 設定固定IP

當只有一張網卡時,網路設定檔位於
/etc/sysconfig/netwotk-scripts/ifcfg-eth0

BOOTPROTO="dhcp"  //若為固定IP則為BOOTPROTO="none"

ONBOOT="yes"

IPADDR=192.168.1.168
NETMASK=255.255.255.0
GATEWAY=192.168.1.254
DNS1=168.95.1.1
DNS2=8.8.8.8

修改存檔後重新啟動網路設定
service network restart

/etc/init.d/network restart


2016年5月23日 星期一

安裝 ajenti

透過 Ajenti 使得我們在不同版本的  Linux 可以在系統管理方面尚取得較一致性的經驗
安裝步驟如下:

install (CentOS 7 / RHEL7)
rpm -Uvh http://mirror01.idc.hinet.net/EPEL/7/x86_64/e/epel-release-7-8.noarch.rpm

Add repository key:
wget http://repo.ajenti.org/ajenti-repo-1.0-1.noarch.rpm
rpm -i ajenti-repo-1.0-1.noarch.rpm

Install the package:
yum -y install ajenti

Start the service:
systemctl enable ajenti
systemctl restart ajenti

防火牆要打開 8000 port
firewall-cmd --permanent --zone=public --add-port=8000/tcp
firewall-cmd --reload

預設登入網址 https://<ServerIP>:8000
預設帳號與密碼是 root/admin

如果發生 https 無法成功登入,可以修改/etc/ajenti/config.json
將 "ssl": {
        "enable": ture 改成 false

然後重啟服務
systemctl restart ajenti


2016年5月22日 星期日

R 繪圖

畫布
par(mfrow=c(1,1))

長條圖bar plot
直方圖histogram
盒鬚圖boxplot
散佈圖scatter plot
線圖line graph
線條的類型與寬度
使用`lty=#`與`lwd=#`來選擇線條的樣式與寬度。

## Reference
* R in Action, Robert I. Kabacoff
* R Graphics Cookbook, Winston Chang
* R Graphs Cookbook, Hrishi V. Mittal

R2課程 講義與檔案


https://yaojenkuo.github.io/learningR/LearningRandDataScienceRL2#(1)


練習檔案
https://github.com/yaojenkuo/NTUTrainRL2

下載 R & RStudio

R
http://cran.csie.ntu.edu.tw/

RStudio
https://www.rstudio.com/products/rstudio/download/

搜尋此網誌