3## 环境依赖
GrayLog 服务端需要一些环境依赖
- Linux 发行版(如Debian、Ubuntu、或推荐使用的CentOS)
- Elasticsearch 2.x (2.1.0 or later)graylog2.3以后版本支持了elasticsearch5.x版本,但是不支持6.x版本
- MongoDB 2.4 or later (latest stable version is recommended)
- Oracle Java SE 8 or later (OpenJDK 8 also works; latest stable update is recommended)
准备工作
- 在linux系统的/home下新建文件夹zzx
- 在zzx中新建:Java、Mongodb、Elasticsearch文件夹
安装jdk8(elasticsearch依赖jdk8)
-
下载jdk
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz"
-
解压二进制包
tar -xzvf jdk-8u144-linux-x64.tar.gz
给单独的用户添加环境变量
#elasticsearch
groupadd elsearch
useradd elsearch -g elsearch -p elasticsearch
chown -R elsearch:elsearch "${TOP_DIR}/Elasticsearch/elasticsearch-5.4.0"
sudo su elsearch -c "export JAVA_HOME=/home/zzx/Java/jdk1.8.0_144 && export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar && export PATH=$JAVA_HOME/bin:$PATH:$HOME/bin && ${elasticsearch_top}/bin/elasticsearch"
备注
- jdk主要是给ElasticSearch和graylog使用的,ElasticSearch在启动的时候会单独开一个用户,所用我们吧jdk设置成这个用户使用,以便不影响系统中其他的jdk版本
MongoDB安装
-
下载monogdb
在/home/zzx/Mongodb下执行curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.7.tgz
-
解压二进制包
tar -xzvf mongodb-linux-x86_64-3.2.7.tgz
配置
#创建db目录
mkdir -p /home/zzx/Mongodb/data/db
- 3.1. 可选配置
#自定义配置文件: mongodb.conf
#创建配置文件,放到一个目录下,我的就放到了和mongodb的bin同级目录里了
vim mongodb.conf // 这里是创建文件
#配置内容如下:
<<<<<<<<<<< 分割线
dbpath=/data/Mongodb/data/db
logpath=/data/Mongodb/log/mongodb.log
logappend=true
fork=true
port=27017
# auth = true
# 先关闭, 创建好用户在启动
>>>>>>>>>>>>分割线
- 启动数据库服务器
/home/zzx/Mongodb/mongodb-linux-x86_64-3.2.7/bin/mongod --dbpath /home/zzx/Mongodb/data/db
- 链接数据库
/home/zzx/Mongodb/mongodb-linux-x86_64-3.2.7/bin/mongo/h
参考链接
https://itjh.net/2016/07/11/centos-install-mongodb/
在CentOS7上源码安装MongoDB 3.2.7
知识点
查询mongdb的进程PID号
ps -ef | grep mongod
kill -4 [PID] //杀掉进程
mongodb启动命令中读取配置文件的参数是 -f
./mongod -f [mongod.conf文件目录]
eg: ./mongod -f /home/mongodb/mongod.conf
elasticsearch安装
-
下载elasticsearch
在/home/zzx/Elasticsearch下执行
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.2.tar.gz -
解压二进制包
tar -xzvf elasticsearch-5.5.2.tar.gz -
配置
1. 修改/home/zzx/Elasticsearch/elasticsearch-5.4.0/config目录下的配置文件:elasticsearch.yml
2. 如果报JAVA内存不足的错误(如下),
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000
则修改配置文件/home/zzx/Elasticsearch/elasticsearch-5.4.0/config/jvm.options
vim /home/zzx/Elasticsearch/elasticsearch-5.4.0/config/jvm.options
....
3. 配置脚本:
#elasticsearch
groupadd elsearch
useradd elsearch -g elsearch
chown -R elsearch:elsearch "${TOP_DIR}/Elasticsearch/elasticsearch-5.4.0"
#java
killall -s 9 java
su - elsearch -c "export JAVA_HOME=/home/zzx/Java/jdk1.8.0_144 && export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar && export PATH=$JAVA_HOME/bin:$PATH:$HOME/bin && ${elasticsearch_top}/bin/elasticsearch&"
知识点
1. 启动elasticSearch时,在最后面加一个给&符合,即可在后台运行,shell关闭也会一直在运行
Graylog2安装
- 下载graylog
wget https://packages.graylog2.org/releases/graylog/graylog-2.3.1.tgz
- 解压安装包
tar zxvf graylog-2.3.1.tgz
-
配置 graylog.conf.exampl文件在解压文件中
#配置文件创建 cp graylog.conf.example /etc/graylog/server/server.conf
-
安装辅助工具:pwgen、perl-Digest-SHA,用来生成密码
yum install pwgen perl-Digest-SHA -y
-
生成密钥-将生成的密文保存,下一步配置文件要用
pwgen -N 1 -s 96 echo -n 123456x | shasum -a 256
修改配置文件
vim /etc/graylog/server/server.conf
修改为:
#命令生成 password_secret:pwgen -N 1 -s 96
password_secret =blwVhWyYQhf5zl3UBcLnxfXhoXVSxkSB7hH6ndUJzdQS2HOzlpnstp0slm0F4rekhuKcrVPSBLcuBEXvluL67dQEtNJvbUwv
#生成加密密码 root_password_sha2: echo -n yourpassword | shasum -a 256
root_password_sha2 = 8670fc6414ede6766e9bdb469f9661d4bccd80ac2ed8197f0857b407320c8a8e
#配置rest api的URI
rest_listen_uri = http://127.0.0.1:9000/api/
#配置web 界面的URI
web_listen_uri = http://127.0.0.1:9000/
#配置 elasticsearch 配置文件路径
elasticsearch_config_file = /etc/elasticsearch/elasticsearch.yml
问题记录
-
配置完成以后,web页面能访问,但是无法搜索以及搜锁长时间卡死不出结果
解决方法 :很有可能是es的索引出问题了,删除es的索引curl -XDELETE 'http://0.0.0.0:9200/graylog_0/'