ElasticSearch-Head 安装配置

因为安装 ElasticSearch-Head 需要使用到 npm 包管理器,所以需要我们提前安装好 NodeJS ,安装 NodeJS 的 安装好 nodejs 之后,我们开始安装 ElasticSearch-Head 

[root@localhost /home]# git clone git://github.com/mobz/elasticsearch-head.git

[root@localhost /home]# cd elasticsearch-head

[root@localhost /home]# npm install


若在 npm install 的过程中报错:

npm ERR! code ELIFECYCLE

npm ERR! errno 1

npm ERR! phantomjs-prebuilt@2.1.16 install: `node install.js`

npm ERR! Exit status 1

npm ERR!

npm ERR! Failed at the phantomjs-prebuilt@2.1.16 install script.

npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:


解决方法:

[root@localhost /home]# npm install phantomjs-prebuilt@2.1.16 --ignore-scripts


然后重新执行

[root@localhost /home]# npm install 

依赖安装完成后,我们需要修改一些配置

1.修改Gruntfile.js,允许外网访问 elasticsearch-head

[root@localhost /home]# vim elasticsearch-head/Gruntfile.js

找到 grunt.initConfig 中的 connect 配置,在 options 中添加 hostname: '*',(注意,冒号后面有个空格)

connect: {

        server: {

               options: {

                        hostname: '*',

                     port: 9100,

                     base: '.',

                     keepalive: true

                }

         }

}

2.修改默认连接地址,配置 elasticsearch-head 监控的elasticsearch节点IP地址

[root@localhost /home]# vim elasticsearch-head/_site/app.js


找到 this.base_uri 的配置(在4354行左右,可以通过搜索找到)

this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200";

将 localhost 修改成 elasticsearch 所在的服务器地址

3.配置 elasticsearch 允许跨域访问

[root@localhost /home]# elasticsearch-6.4.2/config/elasticsearch.yml

在文件结尾添加两行配置:(同样的,每行开头和冒号后面都需要加一个空格)

 http.cors.enabled: true

 http.cors.allow-origin: '*'

4.防火墙开启9100端口,并重启防火墙

[root@localhost /home]# firewall-cmd --zone=public --add-port=9100/tcp --permanent

[root@localhost /home]# firewall-cmd --reload

这样,我们的 ElasticSearch 和 ElasticSearch-Head 已完成基本的配置,我们可以启动并查看效果

# 切换用户

[root@localhost /home]# su esroot


# 启动 ElasticSearch 服务

[esroot@localhost /home]$ elasticsearch-6.4.2/bin/elasticsearch


# 启动 ElasticSearch-Head

[esroot@localhost /home]$ cd elasticsearch-head

[esroot@localhost /home]$ npm run start

(注:如果需要放到后台运行,可以采用nohup的形式,即:nohup npm run start &)

我们可以查看当前端口情况

[root@localhost /home]$ netstat -tunlp

可以看到,目前9100、9200、9300端口正在运行,其中:

9100端口:ElasticSearch-Head 占用端口

9200、9300端口:ElasticSearch 占用端口,9200是http协议的RESTful接口,9300是tcp通讯端口,集群间和TCPClient都走的它

Kibana 安装配置

注:安装Kibana的版本需要与ElasticSearch的版本保持一致

1.下载、解压

# 下载

[root@localhost home]# wget https://artifacts.elastic.co/downloads/kibana/kibana-6.4.2-linux-x86_64.tar.gz


# 解压

[root@localhost home]# tar -zxvf kibana-6.4.2-linux-x86_64.tar.gz

[root@localhost home]# mv kibana-6.4.2-linux-x86_64 kibana-6.4.2

2.修改配置文件

# 提权

[root@localhost home]# su


# 编辑配置文件

[root@localhost home]# vim kibana-6.4.2/config/kibana.yml


修改 server.host 和 elasticsearch.url 的配置,分别指定 kibana 和 elasticsearch 所在的服务器及端口

server.host: "localhost"

elasticsearch.url: "http://localhost:9200"

3.开启5601端口

# 开启防火墙

[root@localhost home]# systemctl start firewalld


# 允许端口

[root@localhost home]# firewall-cmd --zone=public --add-port=5601/tcp --permanent


# 重启防火墙

[root@localhost home]# systemctl restart firewalld

4.启动 Kibana

# 启动 ElasticSearch 服务(若已启动,则忽略)

[root@localhost /home]# elasticsearch-6.4.2/bin/elasticsearch


# 启动 Kibana

[root@localhost /home]# kibana-6.4.2/bin/kibana

按照以上步骤 ElasticSearch 和 Kibana 应该是可以正常运行起来的,我们可以通过访问 http://<kibana_server_ip>:5601 看是否启动成功



中文分词器 IK


首先进入到 ElasticSearch 的路径下面,然后执行下面的命令,其中的 6.4.2 替换成你的 ElasticSearch 版本

./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.4.2/elasticsearch-analysis-ik-6.4.2.zip

安装完后重启 ElasticSearch 即可(注意需要使用 esroot 用户启动)