搜尋此網誌

2016年7月20日 星期三

Elastic Setup

0.
如果還沒安裝 JAVA,先安裝好
yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel

ES的歷史版本
https://github.com/elastic/elasticsearch


1.
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch


2.
vi /etc/yum.repos.d/elasticsearch.repo

最新 5 版本:
[elasticsearch-5.x]
name=Elasticsearch repository for 5.x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

舊的 2.x 版本:
[elasticsearch-2.x]
name=Elasticsearch repository for 2.x packages
baseurl=https://packages.elastic.co/elasticsearch/2.x/centos
enabled=1
gpgcheck=1
gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch


3.
yum -y install elasticsearch


4.
vi /etc/security/limits.conf
elasticsearch soft memlock unlimited
elasticsearch hard memlock unlimited


5.
編輯
vi /etc/elasticsearch/elasticsearch.yml,加入以下設定(要用空格,不能用tab)
檔案的最底端,加入以下:
network.host: 0.0.0.0
bootstrap.mlockall: true
index:
  analysis:
    analyzer:
      default:
        type: ik
        use_smart: false


6.
# Install kopf Plugin
cd /usr/share/elasticsearch/bin
./plugin install lmenezes/elasticsearch-kopf


7.
# Add allow port 9200, 9300
firewall-cmd --permanent --add-port={9200/tcp,9300/tcp}
firewall-cmd --reload

8.
chkconfig --add elasticsearch
systemctl daemon-reload
systemctl enable elasticsearch.service
systemctl start elasticsearch

CentOS7 開機進入 emergency mode 的原因和解決辦法

修改/etc/fstab文件後,出現「welcome to emergency mode! after logging in type "journalctl -xb"to view system logs...」

可能的原因:無法分辨認要掛載的檔案文件系統
解決辦法:把那些自己在/etc/fstab文件後加的開機掛載的內容刪掉之後,reboot就可以正常進入系統了

yum makecache fast

yum makecache fast

2016年7月19日 星期二

CentOS VM fdisk 新增硬碟

在 GUI 底下,利用 GParted 工具是最快的,但如果沒有 GUI 時候,透過
fdisk -l  列出清單
注意整個清單第一行字,看到 Disk /dev/sdb 是剛加入的硬碟,目前還沒有分割任何的磁區,所以要開始分割


fdisk /dev/sdb
按照以下逐一輸入:
n  (add a new partition)
p  (print the partition table)
1  (Partition number (1-4, default 1))
    enter
    enter
t  (change a partition's system id)
83 (標準硬碟)

w  (寫入儲存)


透過 fdisk -l 確認一次
應該會看到 /dev/sdb1

謹慎!對/dev/sdb1 進行格式化(CentOS 可以使用 ext4 的檔案格式)
mkfs.ext4 /dev/sdb1


準備自動開機掛載
先在跟目錄下 mkdir /var2
vi /etc/fstab

至最後一行加入, 意思是新加入的硬碟分割會綁定在  /var2 目錄
/dev/sdb1    /var2    ext4   defaults   0 0


存檔,下指令
mount -a
mount
df -h


重新開機的話也應該可以成功 mount 好新增的磁碟 var2



2016年7月18日 星期一

MongoDB 強制設定為 PRIMARY

MongoDB 的 Replica sets 很厲害。但是要控制它還要花點功夫。大家都會用到當發生狀況,從 Primary 轉變為 Secondary 之後,怎麼再轉回 Primary 問題。

priority 值愈大,就是 primary
輸入 rs.config() 可以看到參數狀態

例如要對第2台主機改變成為 primary 的話,可以採用以下

config = rs.conf()
config.members[3].priority = 0.5
rs.reconfig(config, {force : true})


還有一種情況,當 primary 主機停機超過 10秒
也會降格成為 secondary


官網提到以下兩個指令,可以令SERVER不關機情況下,改以手動控制SERVER

凍結 Replica sets 幾秒 :

rs.freeze(120)

暫停掉 Replica sets 幾秒 :
rs.stepDown(120)


2016年7月17日 星期日

CENTOS 7 parted 擴展硬碟空間


參考來源

1. yum -y install parted
2. parted
> print
> mkpart primary xx.xGB xx.xGB
> print
> set 3 lvm on (3 為新增磁碟區在 print 中顯示的磁碟編號)
> quit
3. reboot (讓新增磁區生效)
指定 VM 擴大
4. lvm
> pvs (查看 VG 名稱)
> pvcreate /dev/sda3 (新增的磁區,可先用 fdisk -l 確認)
> vgextend VolGroup_Name /dev/sda3
> pvscan
5. df -h (確認所要增加的空間)
看到 /dev/mapper/centos-root 字眼,確認出 mapper 路徑
擴大 LV 空間
6. lvm
>lvextend -L +xxxG /dev/mapper/centos-root
xxx 要確認一下
最後一到手續
7. xfs_growfs /dev/mapper/centos-root (CENTOS7專用)
8. df -h (確認空間是否有變大)

2016年6月28日 星期二

XAMPP 與 Apache Tomcat 設定調整 (增添 worker)

參考資料 Source: http://eoffice.im.fju.edu.tw/phpbb/viewtopic.php?t=6603

如果需要設定調整 Apache Tomcat :
(增加 或 刪除某些 worker 專案)

觀察 tomcat/conf/server.xml 內容
HTTP 使用了
Connector port="8080"

AJP 使用了
Connector port="8009"


觀察 apache/conf/httpd.conf  內容
確認好以下:
LoadModule jk_module modules/mod_jk.so
JkWorkersFile "conf/workers.properties"
JkShmFile "modules/mod_jk.shm"
JkLogFile "logs/mod_jk.log"
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkMount /test/* worker1
JkMount /mrs/* worker2
...


觀察 workers.properties
例如要增添 worker2

worker.list=worker1, worker2
worker.worker1.type=ajp13
worker.worker1.host = localhost
worker.worker1.port = 8009
worker.worker1.socket_timeout = 60
worker.worker1.mount = /test /test/*

worker.worker2.type=ajp13
worker.worker2.host = localhost
worker.worker2.port = 8009
worker.worker2.socket_timeout = 60
worker.worker2.mount = /mrs /mrs/*







搜尋此網誌