工作笔记-Hazelcast安装和基本配置

服务端

Hazelcast区分服务端和客户端,服务端通过hazelcast.xml文件加载配置,客户端通过hazelcast-client.xml文件加载配置。3.12版本以后支持yaml文件格式的配置,在xml和yaml文件同时存在时,优先加载xml文件。

以下是hazelcast.xml文件的最小配置(yaml格式):

hazelcast: 
  instance-name: hazelcast-node1
  group: 
    name: hazelcast-server
  network: 
    port: 
      port: 5701
      auto-increment: true
      port-count: 100
    join: 
      multicast: 
        enabled: false 
      tcp-ip: 
        enabled: true
        interface: 127.0.0.1
        member-list: 
          - 10.113.114.32 
          - 10.113.114.38

xml格式:

<hazelcast
        xsi:schemaLocation="http://www.hazelcast.com/schema/config http://www.hazelcast.com/schema/config/hazelcast-config.xsd"
        xmlns="http://www.hazelcast.com/schema/config"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <group>
        <name>hazelcast-server</name>
        <password>123456password</password>
    </group>

    <network>
        <port auto-increment="false" port-count="3">5701</port>
        <join>
            <multicast enabled="false">
                <multicast-group>224.2.2.3</multicast-group>
                <multicast-port>54327</multicast-port>
            </multicast>
            <tcp-ip enabled="true">
                <member-list>
                    <member>11.12.13.14</member>
                    <member>11.12.13.15</member>
                    <member>11.12.13.16</member>
                </member-list>
            </tcp-ip>
        </join>
    </network>
</hazelcast>

注:3.11版本以后移除了password设置,不再进行password验证。

在服务端安装Hazelcast可以通过安装包或者源码包,以安装包为例,下载ZIP格式的安装包,链接地址:

https://hazelcast.org/download/

下载完成后在指定目录完成解压,进入bin目录下,将配置文件(hazelcast.xml或者hazelcast.yaml)替换进去,然后运行start.sh脚本,有多节点的集群则依次启动。

客户端

以Java客户端为例,将hazelcast-3.12和hazelcast-client-3.12的Jar包引入工程,推荐使用Maven:

		<dependency>
			<groupId>com.hazelcast</groupId>
			<artifactId>hazelcast</artifactId>
			<version>3.12</version>
		</dependency>
		<dependency>
			<groupId>com.hazelcast</groupId>
			<artifactId>hazelcast-client</artifactId>
			<version>3.12</version>
		</dependency>

客户端部分的配置更加简单,通过hazelcast-client.xml或者hazelcast-client.yaml文件加载配置,在xml和yaml文件同时存在时,优先加载xml文件,以下只以最小配置为例,yaml格式:

hazelcast-client:
  group:
    name: hazelcast-server
  network:
    cluster-members:
      - 11.12.13.14
      - 11.12.13.15 
      - 11.12.13.16

xml格式:

<hazelcast-client xmlns="http://www.hazelcast.com/schema/client-config"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://www.hazelcast.com/schema/client-config
                  http://www.hazelcast.com/schema/client-config/hazelcast-client-config-3.12.xsd">

    <group>
        <name>dev</name>
        <password>dev-pass</password>
    </group>
    <instance-name>CLIENT_NAME</instance-name>
    <network>
        <cluster-members>
            <address>127.0.0.1</address>
            <address>127.0.0.2</address>
        </cluster-members>

使用时:

	public HazelcastInstance hazelcastClientCase(){
		return HazelcastClient.newHazelcastClient();
	}
	

日志

将hazelcast的日志打印出来,方便定位问题,Hazelcast支持slf4j下的日志框架,包括log4j, logback等,以logback为例。

修改start.sh启动文件:

  1 #!/bin/sh
  2 
  3 PRG="$0"
  4 PRGDIR=`dirname "$PRG"`
  5 HAZELCAST_HOME=`cd "$PRGDIR/.." >/dev/null; pwd`
  6 PID_FILE=$HAZELCAST_HOME/bin/hazelcast_instance.pid
  7 #export JAVA_OPTS="-Dhazelcast.logging.type=log4j -Dlog4j.configuration=file:/root/server/application/log4j.properties"
  8 export JAVA_OPTS="-Dhazelcast.logging.type=slf4j -Dlogback.configurationFile=/root/server/midware/hazelcast-3.12/bin/logback.xml"
  9 if [ $JAVA_HOME ]
 10 then
 11         echo "JAVA_HOME found at $JAVA_HOME"
 12         RUN_JAVA=$JAVA_HOME/bin/java
 13 else
 14         echo "JAVA_HOME environment variable not available."
 15     RUN_JAVA=`which java 2>/dev/null`
 16 fi
 17 
 18 if [ -z $RUN_JAVA ]
 19 then
 20     echo "JAVA could not be found in your system."
 21     echo "please install Java 1.6 or higher!!!"
 22     exit 1
 23 fi
 24 
 25         echo "Path to Java : $RUN_JAVA"

第七第八行分别为log4j和logback的日志配置, 分别为:hazelcast.logging.type和logback.configurationFile

然后将logback的jar包拷贝到user-lib目录下:

#:~/server/midware/hazelcast-3.12/user-lib # pwd
/root/server/midware/hazelcast-3.12/user-lib
#:~/server/midware/hazelcast-3.12/user-lib # ll
total 1396
-rw-r--r-- 1 root root 489884 May 20 16:18 log4j-1.2.17.jar
-rw-r--r-- 1 root root 107064 Aug  9 11:12 logback-access-1.2.3.jar
-rw-r--r-- 1 root root 290339 Aug  9 11:12 logback-classic-1.2.3.jar
-rw-r--r-- 1 root root 471901 Aug  9 11:12 logback-core-1.2.3.jar
-rw-r--r-- 1 root root  41203 Aug  9 11:23 slf4j-api-1.7.25.jar

配置好了以后,重新启动,就可以看到日志输出到了所配置的路径下了。

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值