一、touch /opt/bigdata/elk/auto_elasticsearch.sh並寫入:
1 #!/bin/bash
2
3 # 1.確認安裝目錄
4
5 confdir=$(cd `dirname $0` ;pwd) ## 安裝到elk目錄下,這種寫法可適用於任何路徑訪問!
6 echo "將elasticsearch安裝到${confdir}目錄下嗎?yes/no"
7 read answer ## 爲了可以delete不變成^H,需要改xshell的鍵盤界面配置
8 if [ $answer = "yes" ] ## 使用 = 表示字符串的相等
9 then
10 echo "已確認"
11 else
12 exit ## 退出該sh
13 fi
14
15 # 2.解壓到安裝目錄
16 # 2.1判斷是否存在.gz
17 gzpath="/opt/install/elk"
18 cd $gzpath
19 gzname=`ls |grep "elasticsearch-.*[gz]$"` ## 正則:.*單個字符匹配任意次,$:包含[gz]的結尾
20 if [ $? -ne 0 ]
21 then
22 echo "${gzpath}沒有elasticsearch的安裝包!"
23 exit
24 else
25 echo "===正在安裝${gzname}到${confdir}路徑==="
26 tar -zxvf ${gzname} -C ${confdir}
27 fi
28
29 # 3.修改配置文件
30 # 3.1改名
31 cd $confdir
32 OLDNAME=`ls |grep elasticsearch`
33 echo "OLDNAME:"$OLDNAME
34 NEWNAME=es622
35 mv $OLDNAME $NEWNAME
36 echo "NEWNAME:"$NEWNAME
37
38 # 3.2權限
39 chown -R hewenyan:root $NEWNAME ## 需要把es622權限修改,才能啓動裏面的
40
41 # 3.3配置
42 cd $NEWNAME/config
43 FILE=elasticsearch.yml
44
45 HOST="network.host: "`hostname`
46 HTTPPORT="http.port: 9200"
47 HTTPCORS1='http.cors.enabled: true'
48 HTTPCORS2='http.cors.allow-origin: "*"'
49
50 echo "請輸入cluster.name:"
51 read CLUSTERNAME
52 CLUSTERNAME="cluster.name: "$CLUSTERNAME
53 echo "請輸入node.name:"
54 read NODENAME
55 NODENAME="node.name: "$NODENAME
56 echo "節點是否為master:true/false"
57 read IFMASTER
58 IFMASTER="node.master: "$IFMASTER
59 echo "請輸入創建的集群,格式按照["A","B","C"]": ## ' '不需要轉義," "需要!
60 read HOSTSSET
61 HOSTSSET="discovery.zen.ping.unicast.hosts: "$HOSTSSET
62
63 echo $CLUSTERNAME >> $FILE
64 echo $NODENAME >> $FILE
65 echo $IFMASTER >> $FILE
66 echo $HOST >> $FILE
67 echo $HOSTSSET >> $FILE
68 echo $HTTPPORT >> $FILE
69 echo $HTTPCORS1 >> $FILE ## echo "test" >> xxx 用echo追加
70 echo $HTTPCORS2 >> $FILE ## 這樣能一行一行的添加。一個echo添加不了多行
71
72 # 4.修改/etc/sysctl.conf
73 #echo "請輸入虛擬機内存"
74 #read VM
75 echo "vm.max_map_count=655360" >> /etc/sysctl.conf
76
77 # 5.修改/etc/security/limits.conf
78
79 LIMITS=/etc/security/limits.conf
80
81 echo '* soft nofile 65536' >> $LIMITS
82 echo '* hard nofile 65536' >> $LIMITS
83 echo '* soft nproc 4096' >> $LIMITS
84 echo '* hard nproc 4096' >> $LIMITS
85
86 echo "====添加配置完畢====="
87
88 # 6.讓配置生效
89 sysctl -p92
93 echo "===正在切換用戶hewenyan==="
94 cd /opt/shell
95 su hewenyan -c " sh /opt/shell/es.sh" ## 轉換用戶為hwy並-command執行命令,
## 需要保證hwy用戶具有opt和子目錄的操作權限
二、cd /opt/shell; touch es.sh esstatus.es 等等
1 #!/bin/bash
2 while [ "1"=="1" ]
3 do
4 echo "=====請輸入相應命令進行操作======"
5 echo "-------1:查看es運行狀態---------"
6 echo "-------2:啓動es---------"
7 echo "-------3:關閉es---------"
8 echo "-------4:退出-----------"
9 read -p "請輸入序號:" read_num
10 case $read_num in
11 "1")
12 echo -e "