elasticseach7.1.1集成opendistro,以https的方式访问elasticsearch

在很久很久以前,天地初开,万物都出现了。公司要上一个项目,需要用到elasticsearch,经过讨论,我们要使用带有用户密码的 es ,这也不是什么难事儿,现在版本的 es 本身默认启动的时候都需要设置用户密码。但是我们这次的项目是部署在某云上的,结果在某云上直接开了个 elasticsearch ,选择了带有用户密码的,结果开完以后,点了kibana连接,发现 kibana的页面和我做的不一样,仔细一看,是https 的,研发使用代码用 http 的方式连 es 也失败,提工单一问,访问 es 也需要 https 的方式访问。那就要自己在公司内网也部署一套这样的 es 了 ,于是乎,就发生了下面的故事。调研elasticsearch 如何加密传输…
经过老夫的询问,原来某云用的是 opendistro 做的 https,于是放狗搜一下,找到了这个github 项目的地址:github项目地址

废话不多说,以下是我总结的安装方式,希望能帮需要的哥们儿解决燃眉之急。(一下文档我顺手安装了些插件,需要的也可以安装)


一、服务器共三台

ip 主机名 部署服务 安装路径
192.168.7.41 elastic41 elasticsearch自带jdk、elasticsearch7.1.1、opendistro相关插件、kibana /data/elasticsearch-7.1.1 和 /data/kibana-7.1.1-linux-x86_64
192.168.7.42 elastic42 elasticsearch自带jdk、elasticsearch7.1.1、opendistro相关插件 /data/elasticsearch-7.1.1
192.168.7.43 elastic43 elasticsearch自带jdk、elasticsearch7.1.1、opendistro相关插件 /data/elasticsearch-7.1.1

二、准备环境和所需文件
在每个节点执行

mkdir -p /data/pack
useradd elastic
chown elastic. /data
echo "vm.max_map_count=262144" >> /etc/sysctl.conf
sysctl -p
echo "* soft nofile 65535" >> /etc/security/limits.conf
echo "* hard nofile 65535" >> /etc/security/limits.conf

在elastic41 上下载文件
下载elasticsearch 和 kibana

su - elastic
cd /data/pack
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.1-linux-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.1.1-linux-x86_64.tar.gz

下载elasticsearch的 opendistro 加密相关插件

wget https://d3g5vo6xdbdb9a.cloudfront.net/downloads/elasticsearch-plugins/opendistro-alerting/opendistro_alerting-1.1.0.0.zip
wget https://d3g5vo6xdbdb9a.cloudfront.net/downloads/elasticsearch-plugins/opendistro-security/opendistro_security-1.1.0.0.zip 
wget https://d3g5vo6xdbdb9a.cloudfront.net/downloads/elasticsearch-plugins/opendistro-sql/opendistro_sql-1.1.0.0.zip

下载kibana 的 opendistro 加密相关插件

wget https://d3g5vo6xdbdb9a.cloudfront.net/downloads/kibana-plugins/opendistro-alerting/opendistro-alerting-1.1.0.0.zip
wget https://d3g5vo6xdbdb9a.cloudfront.net/downloads/kibana-plugins/opendistro-security/opendistro_security_kibana_plugin-1.1.0.0.zip

下载elasticsearch的常用插件

wget https://artifacts.elastic.co/downloads/elasticsearch-plugins/analysis-icu/analysis-icu-7.1.1.zip
wget https://artifacts.elastic.co/downloads/elasticsearch-plugins/analysis-kuromoji/analysis-kuromoji-7.1.1.zip
wget https://artifacts.elastic.co/downloads/elasticsearch-plugins/analysis-nori/analysis-nori-7.1.1.zip
wget https://artifacts.elastic.co/downloads/elasticsearch-plugins/ingest-attachment/ingest-attachment-7.1.1.zip
wget https://github.com/medcl/elasticsearch-analysis-pinyin/releases/download/v7.1.1/elasticsearch-analysis-pinyin-7.1.1.zip
wget https://github.com/medcl/elasticsearch-analysis-stconvert/releases/download/v7.1.1/elasticsearch-analysis-stconvert-7.1.1.zip
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.1.1/elasticsearch-analysis-ik-7.1.1.zip

三、安装各插件到es和kibana

解压es和kibana文件到 /data 下

tar xvf elasticsearch-7.1.1-linux-x86_64.tar.gz -C ../
tar xvf kibana-7.1.1-linux-x86_64.tar.gz -C ../
chown -R elastic. /data/elasticsearch-7.1.1
chown -R elastic. /data/kibana-7.1.1-linux-x86_64

到es安装目录中安装 opendistro 加密插件

cd /data/elasticsearch-7.1.1
bin/elasticsearch-plugin install file:///data/pack/opendistro_sql-1.1.0.0.zip
bin/elasticsearch-plugin install file:///data/pack/opendistro_alerting-1.1.0.0.zip
bin/elasticsearch-plugin install file:///data/pack/opendistro_security-1.1.0.0.zip

到es安装目录中安装常用插件

bin/elasticsearch-plugin install file:///data/pack/analysis-icu-7.1.1.zip
bin/elasticsearch-plugin install file:///data/pack/analysis-kuromoji-7.1.1.zip
bin/elasticsearch-plugin install file:///data/pack/analysis-nori-7.1.1.zip
bin/elasticsearch-plugin install file:///data/pack/elasticsearch-analysis-ik-7.1.1.zip
bin/elasticsearch-plugin install file:///data/pack/ingest-attachment-7.1.1.zip
bin/elasticsearch-plugin install file:///data/pack/elasticsearch-analysis-pinyin-7.1.1.zip
bin/elasticsearch-plugin install file:///data/pack/elasticsearch-analysis-stconvert-7.1.1.zip

到kibana目录中安装opendistro 加密插件

cd /data/kibana-7.1.1-linux-x86_64
bin/kibana-plugin install file:///data/pack/opendistro-alerting-1.1.0.0.zip 
bin/kibana-plugin install file:///data/pack/opendistro_security_kibana_plugin-1.1.0.0.zip

四、修改配置文件

cd /data/elasticsearch-7.1.1
cat > config/elasticsearch.yml <

五、删除elasticsearch和kibana安装目录下的modules中的x-pack 相关插件,x-pack插件和opendistro插件有冲突,必须删除。也就是说,用了x-pack就不能用opendistro,蛋疼不蛋疼。。。

rm -fr /data/elasticsearch-7.1.1/modules/x-pack-security
rm -fr /data/kibana-7.1.1-linux-x86_64/node_modules/x-pack

六、生成pem文件到 /data/elasticsearch-7.1.1/config 目录下,将/data/elasticsearch-7.1.1传到其他两个节点,并修改文件中network.host和node.name 字段,并修改文件目录权限,然后启动
生成 pem 文件,可以使用github 中的方式生成,也可以直接用我这里已经合成好的,启动后把密码重新打入pem文件就可以了,文件下载地址:https://download.csdn.net/download/qq_31547771/11961047 ,下载好后解压到 config 路径下

chown -R elastic. /data
scp -r /data/elasticsearch-7.1.1 [email protected]:/data/
scp -r /data/elasticsearch-7.1.1 [email protected]:/data/

到192.168.7.42 和 192.168.7.43 上将配置文件中 network.host和node.name 字段改成 本机的

然后先在前台启动各节点的es,方便看报错。并查看日志是否有报错,是否选举了master

/data/elasticsearch-7.1.1/bin/elasticsearch

七、为https的elasticsearch创建用户密码

先生成internal_users_2019-Oct-25_15-55-25.yml文件,看自己生成的文件名是什么名字,我生成的是这个

cd plugins/opendistro_security/tools/
sh securityadmin.sh -r -h 192.168.7.41 -p 9300 -cd /tmp/es/ -icl -nhnv -cacert /data/elasticsearch-7.1.1/config/root-ca.pem -cert /data/elasticsearch-7.1.1/config/kirk.all.pem -key /data/elasticsearch-7.1.1/config/kirk.all.pem

然后使用 hash.sh 脚本生成elasticsearch 登录密码的哈希密文,写到 internal_users_2019-Oct-25_15-55-25.yml文件中,写入位置如下图所示。

bash hash.sh

在这里输入密码后,会返回 哈希值,然后将 hash 值贴到 internal_users_2019-Oct-25_15-55-25.yml文件中(想要不同用户使用不同密码,就多hash几个不同的密码)
在这里插入图片描述

vim /tmp/es/internal_users_2019-Oct-25_15-55-25.yml

elasticseach7.1.1集成opendistro,以https的方式访问elasticsearch_第1张图片

sh securityadmin.sh -h 192.168.7.41 -p 9300 -f /tmp/es/internal_users_2019-Oct-25_15-55-25.yml -icl -nhnv -cacert /data/elasticsearch-7.1.1/config/root-ca.pem -cert /data/elasticsearch-7.1.1/config/kirk.all.pem -key /data/elasticsearch-7.1.1/config/kirk.all.pem -t internalusers

测试刚刚生成的密码,我的密码是 admin@123

curl -ik https://192.168.7.41:9200 -uadmin:admin@123

八、启动kibana

cd /data/kibana-7.1.1-linux-x86_64
cat > config/kibana.yml <> kibana.log &

你可能感兴趣的:(大数据常用的分布式存储中间件)