elasticsearch5.3.0+kibana5.3.0+logstash5.3.0搜索windows环境搭建

安装ELK套件之前请先安装jdk1.8,本文只做安装步骤介绍,至于其它详细参数请另外查询资料。

elasticsearch5.3.0

1.下载elasticsearch-5.3.0 最新包。解压 进入bin文件夹,启动elasticsearch.bat 服务浏览器上输入http://localhost:9200/出现elasticsearch相关信息 表示启动成功。
2.安装x-pack插件,在5.0之前的版本需要安装很多插件进行查看,5.0版本之后只需要安装x-pack插件就行。X-Pack是一个Elastic Stack的扩展,将安全,警报,监视,报告和图形功能包含在一个易于安装的软件包中。在Elasticsearch 5.0.0之前,您必须安装单独的Shield,Watcher和Marvel插件才能获得在X-Pack中所有的功能。如果elasticsearch用的是集群环境,则每个elasticsearch节点下面都必须安装x-pack插件。进入bin文件夹下面,运行安装脚本bin/elasticsearch-plugin install x-pack。步骤如下面显示,则安装成功.

x-pack插件默认开了安全验证功能,如果不关闭,官网上demo运行会报找不到这个节点。解决办法打开elasticsearch-5.3.0\config\elasticsearch.yml将安全验证进行关掉xpack.security.enabled: false,另外的几个参数可以进行设置action.auto_create_index: true(自动创建引),cluster.name:myCluster(设置集群名称),node.name: node-1(开启节点名称)。(x-pack安全验证问题可以查看资料 http://www.th7.cn/Program/java/201704/1142297.shtml 和官网资料 https://www.elastic.co/guide/en/x-pack/current/java-clients.html )
如果想配置集群,需要额外配置集群参数
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
node.master: true
node.data: true
http.enabled: true
http.cors.enabled: true
http.cors.allow-origin: "*"
network.host: ip ##最好填写本机ip
discovery.zen.ping.unicast.hosts: ["ip"] ## 填写集群其他ip地址,不需要写端口号

kibana5.3.0

1.去官网下载kibana5.3.0版本进行解压。同样也需要安装x-pack插件。 在线安装:bin/kibana-plugin install x- pack。因为我本机安装非常的慢,所以我用离线安装的方法,在 https://artifacts.elastic.co/downloads/kibana-plugins/x-pack/x-pack-5.3.0.zip下载了安装包, 然后进行离线安装
kibana-plugin install file:///D:/kibana-5.3.0/x-pack-5.3.0.zip

安装成功后可访问http://localhost:5601 会有控制台进行展现。

logstash-5.3.0

1.去官网下载logstash-5.3.0安装包,进入bin/logstash.bat就可以正常启动。如果你想同步mysql数据库的表数据则需要安装logstash-input-jdbc插件,能够实现表数据自动同步功能。 logstash-plugin install logstash-input-jdbc 结果安装发现实在是太慢了。还提示报错信息,如下所示
解决办法如下:
1.让windows支持gem语法,去该网址上下载http://rubyinstaller.org/downloads/安装包Ruby 2.3.3 (x64)
安装成功后在cmd里面可以用gem -v查看gem是否安装成功,如果安装过程中出现SSL证书问题,请参考
http://blog.csdn.net/ysk575664647/article/details/52965737进行解决,亲测可用,安装完成后我配置了环境变量

剩下的安装步骤我是参考http://www.cnblogs.com/phpshen/p/6098333.html进行余下安装并且完成logstash测试


安装完成后,用java测试了下es一个demo.步骤如下,新建一个名称为elastic maven的项目
pom.xml
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
	<dependency>
	   <groupId>org.elasticsearch.client</groupId>
	   <artifactId>transport</artifactId>
	   <version>5.3.0</version>
	</dependency>
	<dependency>
       <groupId>org.apache.logging.log4j</groupId>
       <artifactId>log4j-api</artifactId>
       <version>2.7</version>
    </dependency>
    <dependency>
       <groupId>org.apache.logging.log4j</groupId>
       <artifactId>log4j-core</artifactId>
       <version>2.7</version>
    </dependency>
java
@SuppressWarnings("resource")
public class TestEsClient {
	public static Client client;
	static{
        try {
        	//设置集群名称
            Settings settings = Settings.builder().put("cluster.name", "myCluster").put("client.transport.sniff", true).build();
			client = new PreBuiltTransportClient(settings).addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("localhost"), 9300));
		} catch (UnknownHostException e) {
			e.printStackTrace();
		}
	}
	
	//创建一个index
	public static void createIndex() throws IOException{
		XContentBuilder contentBuilder = XContentFactory.jsonBuilder();
		contentBuilder.startObject()
		        .field("user", "kimchy")
		        .field("postDate", new Date())
		        .field("message", "trying out Elasticsearch").endObject();
		IndexRequestBuilder  index =  client.prepareIndex("twitter", "tweet", "1");
		IndexResponse res = index.setSource(contentBuilder).get();
		System.out.println("index:"+res.getIndex());
		System.out.println("type:"+res.getType());
		System.out.println("id:"+res.getId());
		System.out.println("result:"+res.getResult().toString());
		//关闭client
        client.close();
	}
	
	// 删除索引
	public static void deleteIndex(){
		DeleteResponse response = client.prepareDelete("twitter", "tweet", "1").get();
		System.out.println(response.status());
	}
	
	// 更新索引
	public static void updateIndex() throws IOException, InterruptedException, ExecutionException{
		XContentBuilder contentBuilder = XContentFactory.jsonBuilder();
		UpdateRequest updateRequest = new UpdateRequest();
		updateRequest.index("twitter");
		updateRequest.type("tweet");
		updateRequest.id("1");
		updateRequest.doc(contentBuilder.startObject().field("gender", "male").endObject());
		UpdateResponse res = client.update(updateRequest).get();
		System.out.println(res.getResult());
	}
	
	public static void print(){
		//搜索数据
        SearchResponse response = client.prepareSearch("blog").execute().actionGet();
        SearchHits hits = response.getHits();
        if(hits!=null){
        	for(SearchHit hit:hits.getHits()){
        		System.out.println(hit.getSourceAsString());
        	}
        }
	}
	
	public static void main(String[] args) throws IOException, InterruptedException, ExecutionException {
		createIndex();
	}
}

kibana导入莎士比亚数据进行日志分析可下载地址http://download.csdn.net/detail/xr568897472/9834666



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值