1.unzipelasticsearch_bak.zip下部署集群用户#解压引擎文件#修改默认配置文件cdelasticsearch_bak/configvielasctsearch.ymlcluster.name:es-zl#修改集群名称,所有节点配置名称必须相同节点。name:es-46#修改每个节点的名称,必须不同才能区分每个节点node.master:true#是否可以作为master节点path.data:/data/es_data#es数据存储位置网络.host:127.17.30.46#每个节点的ip地址http.port:9200#节点的端口必须相同,默认9200bootstrap.memory_lock:truebootstrap.system_call_filter:false#内存锁防止swap导致es生成内存交互discovery.zen。ping.unicast.hosts:["127.17.30.44","127.17.30.45",,]#集群master节点的ip不需要所有节点的ip。其他节点只要能和本集群中任意一个master节点通信就可以加入discovery.zen.minimum_master_nodes:2#当两个有资格成为master节点的slave节点认为master节点挂了,就会重新选举master,一般设置为(n/2)+1,防止es出现脑裂情况gateway.recover_after_nodes:3#节点数达到后,进行数据恢复处理http.cors.enabled:truehttp.cors.allow-origin:"*"viyvm.options-Xms16g#默认2g,可根据服务器内存确定,自行修改#通过命令查看内存cat/proc/cpuinfo|grep'cpu内核'|wc-l#查看cpu核数cat/proc/meminfo|grepMemTotal#只查看内存free-h#查看内存使用情况df-h#查看硬盘存储注意:此操作必须部署在每台服务器上,不能在root用户下操作,必须在root用户下操作用户运行,如果没有usr用户,就创建。如果没有操作权限,执行:#root下,设置文件权限为duser用户可操作chownduser*chgrpduser*不使用es远程字典时:修改elasticsearch-5.3.0/plugins/ik/配置/IKAnalyzer。cfg.xmlIKAnalyzer扩展配置custom/mydict.dic;custom/single_word_low_freq.diccustom/ext_stopword.dic说明:可以在评论中添加最后两项添加自定义同义词替换config/synonyms.txt文件synonyms.txt文件中的格式,所有同义词一行,用“,”隔开2.修改集群配置vi/etc/security/limits.confroot下用户#Add以下语句*软nofile65536*硬nofile65536*软nproc65536*硬nproc65536dusersoftmemlock无限duserduserdusliteduslockhardmemlockunlimitedvi/etc/sysctl.sysctl.sysctl.conf.conf.conf#conf#-p三、启动集群用户user下,cdelasticsearch_bak/bin./elasticsearch-d#后台启动集群curl172.17.30.45:9200/_cat/nodes#查看所有节点,*主节点#失败时启动,查看es-log4.搜索部署用户用户操作查看es-logviindex_search_mapping.sh#修改的ip和端口与集群一致curl-XPUT"http://10.25.114.90:9200/index"{settings":{"number_of_shards":6,#main分片个数,一般为服务器总核数"number_of_replicas":2,#replica分片个数,防止数据丢失}注:tokenizeranslyzer可以根据实际情况修改、删除、添加。需要添加字段时添加删除字段,只需在如下位置添加即可"mappings":{"index":{"properties":{"id":{"type":"keyword"},"":{#需要添加的字段名称"type":""#添加字段的约束条件}}}}}注意:在修改文件的字段之前,需要删除文件的核心并重新开始搜索,还需要执行以下步骤curl-XDELETE"http://172.19.30.45:9200/index"#修改后,重新运行文件shindex_search_mapping.sh5.查询启动结果curlhttp://ip:9200/index?pretty#查询字段curlhttp://ip:9200/_cat/nodes#查询节点curlhttp://ip:9200/_cat/health#查询集群健康状况,greencurlhttp://ip:9200/_cat/shards#查询集群碎片状态六、数据量查询curlhttp://ip:9200/one_index/_stats#查询某个索引下的数据量curlhttp://ip:9200/one_index,two_index/_stats#查询多个索引的数据量,使用分开curlhttp://ip:9200/_all/_stats#查询所有索引下的数据数量#returnsearch,fetch,get,index,bulk,segment,countscurlhttp://ip:9200/_cat/count/index#只查询某个索引下的文档数,如果没有加索引,查询所有索引文档总数七、search-guard为es集群配置auth1,安装search-guard插件和ssl插件,查询es的版本curlip:9200#中的numberdataresult代表版本号安装search-guardhttps://repo1.maven.org/maven...找到对应的版本,下载或者使用命令行下载,bin/elasticsearch-plugininstall-bcom.floragunn:search-guard-5:5.3.0-12安装在es目录下search-guard-sslhttps://repo1.maven.org/maven...命令行bin/elasticsearch-plugininstall-bcom.floragunn:search-顾ard-ssl:5.3.0-22注意:当es版本较高时,可能不需要两者都有,使用search-guard即可2.生成es证书文件下载search-guard源码工具生成证书工具gitclonehttps://github.com/floragunncom/search-guard-ssl.git修改ca配置cdsearch-guard-ssl/example-pki-scripts/etc/viroot-ca.conf#根证书配置0.domaincomponent="www.test.com"#domainname1.duIincomponent="www.test.com"#domainnameorganizationName="test"#Organicname="testrootingtestrooting"#通用名visigning-ca.conf#签名证书配置0.domainComponent="www.test.com"#域名1.domainComponent="www.test.com"#域名organizationName="Test"#组织名称NameorganizationalUnitTestSigningCA"#OrganizationalunitnamecommonName="TestSigningCA"#Commonname注意:填写以上信息,并确保与生成证书时的信息一致。修改sh文件回到example-pki-scripts目录,修改example.sh文件:#!/bin/bashset-e./clean.sh./gen_root_ca.sh1234567812345678./gen_node_cert.sh01234567812345678&&./gen_node_cert.sh?1?12345678?12345678?&&??./gen_node_cert.sh?2?12345678?12345678./gen_client_node_cert.sh?test?12345678?12345678./gen_client_node_cert.sh?test?12345678?12345678参数说明:./gen_root_ca.sh1234567812345678第一个参数为CA_PASS,即CA密码(根证书密码)第二个参数为TS_PASS,为TS密码(truststore,信任证书密码)./gen_node_cert.sh01234567812345678第一个参数为节点号,生成证书后的文件名为node-0*第二个参数为KS_PASS(keystore文件密码)第三个参数为CA_PASS./gen_client_node_cert.shtest12345678第一个参数为客户端节点名,生成证书后的文件名为test*第二个参数为KS_PASS第三个参数是CA_PASS,生成证书。运行example.shshexample.sh#会在当前目录生成一个证书文件3.配置es,启动search-guard为每个节点生成证书,分别复制到每个节点#将node-0-keystore.jks和truststore.jks复制到es的config目录下cpnode-0-keystore.jks~/elasticsearch/config/cptruststore.jks~/elasticsearch/config/#将test-keystore.jks和truststore.jks复制到escptest-keystore.jks的plugins/search-guard-2/sgconfig目录~/elasticsearch/plugins/search-guard-2/sgconfig/cptruststore.jks~/elasticsearch/plugins/search-guard-2/sgconfig/注意:保持证书一致,所以只需要在一台机器上生成CA证书修改es配置文件config/elaticsearch.yml在之前修改的基础上增加如下配置配置sslsearchguard.ssl.transport.enabled:truesearchguard.ssl.transport.keystore_filepath:node-0-keystore.jkssearchguard.ssl.transport.keystore_password:12345678searchguard.ssl.transport.truststore_filepath:truststore.jkssearchguard.ssl.transport.truststore_password:12345678searchguard.ssl.transport.enforce_hostname_verification:falsesearchguard.ssl.transport.resolve_hostname:false#配置https#http配置,这里我只是为了测试方便,配置之后应该是设置为truesearchguard.ssl.http.enabled:falsesearchguard.ssl.http.keystore_filepath:node-0-keystore.jkssearchguard.ssl.http.keystore_password:12345678searchguard.ssl.http.truststore_filepath:truststore.jkssearchguard.ssl.http.truststore_password:12345678#是生成CA证书时填写的信息,即./gen_client_node_cert.shtest12345678命令searchguard.authcz.admin_dn的第一个参数:-CN=test,OU=client,O=client,L=测试,C=DE启动es4。将search-guard的配置写入es并添加权限chmod-R777plugins/search-guard-5/tools/sgadmin.sh配置格式./plugins/search-guard-5/tools/sgadmin.sh-cnclustername-hhostname-cdplugins/search-guard-5/sgconfig-ksplugins/search-guard-5/sgconfig/admin-keystore.jks-kspasspassword-tsplugins/search-guard-5/sgconfig/truststore.jks-tspasspassword-nhnv注:clustername为集群名称hostname为elasticsearch.yml文件中network.host的值password生成证书设置的密码以上生成的命令配置为./plugins/search-guard-5/tools/sgadmin.sh-cnes-nlp-h192.168.124.18-cdplugins/search-guard-5/sgconfig-ksplugins/search-guard-5/sgconfig/test-keystore.jks-kspass12345678-tsplugins/search-guard-5/sgconfig/truststore.jks-tspass12345678-nhnv5,添加es用户和密码生成md5加密密码chmod-R777plugins/search-guard-2/tools/hash.shcdplugins/search-guard-2/tools/plugins/search-guard-2/tools/hash.sh-p123456#保存生成的hash密码,添加用户和密码vimplugins/search-guard-5/sgconfig/sg_internal_users.ymlsunww:hash:Encryptedstring#password:123456#最后一行密码提示,防止忘记添加用户权限vimplugins/search-guard-5/sgconfig/sg_roles_mapping.ymlag_all_access:users:-admin-sunww#给sunww用户添加所有权限,重写配置到es中生效。/plugins/search-guard-5/tools/sgadmin.sh-cnes-nlp-h192.168.124.18-cdplugins/search-guard-5/sgconfig-ksplugins/search-guard-5/sgconfig/test-keystore.jks-kspass12345678-tsplugins/search-guard-5/sgconfig/truststore.jks-tspass12345678-nhnv6,测试curlhttp://sunww:123456@127.0.0.1:9200curl-usunww:123456http://127.0.0.1:9200curl--usersunww:123456http://127.0.0.1:9200过了一段时间,你的学业是不是丢了?