ZooKeeper是一个分布式的,开放源码(apache)的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase、dubbox、kafka的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
cd /export/software/
rz //此时选择zookeeper的压缩包进行上传
tar -zxf zookeeper-3.4.9.tar.gz -C /export/servers/
cd /export/servers/
cd /export/servers/zookeeper-3.4.9/conf
mv zoo_sample.cfg zoo.cfg
vi zoo.cfg
修改dataDir //指定路径
修改后, 在配置文件的底部, 添加如下内容
server.1=node01:2887:3887
server.2=node02:2887:3887
server.3=node03:2887:3887
服务器相互通信的端口,投票选举的端口
更改后配置文件整体内容如下:(如果担心修改错误, 可以直接将zoo.cfg中的内容全部删除, 复制以下内容即可)
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/export/data/zk
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
#zookeeper集群配置
server.1=node01:2887:3887
server.2=node02:2887:3887
server.3=node03:2887:3887
cd /export/servers/
scp -r zookeeper-3.4.9/ root@node02:$PWD //将zookeeper复制到node02的同级目录下
scp -r zookeeper-3.4.9/ root@node03:$PWD //将zookeeper复制到node03的同级目录下
分别查看文件位置验证是否成功
cd /export/servers/zookeeper-3.4.9/bin/
./zkServer.sh start
1. 当第一台(id=1),启动后, 由于目前自有自己,故会把票投给自己
2. 当第二台(id=2),启动后, 由于目前已经又二台启动, 这时候会将票投给id最大的机器, 此时三台中已经有二台启动, 数量过半, 第二台理所应当的成为了leader
3. 当第三台(id=3),启动后, 虽然id=3为最大, 但是由于leader已经产生, 故只能担任follower
cd /export/software/
rz
yum -y install unzip //已安装忽略此步
unzip solr.zip
mv solr /export/servers/
cd /export/servers/solr/apache-tomcat-7.0.77/bin
vim catalina.sh //注意此时修改的.sh的文件 为非.bat
添加如下内容:(此处后期还会进行修改, 目前只是为了测试单机版本能否在linux中运行)
export "JAVA_OPTS=-Dsolr.solr.home=/export/servers/solr/solr-home"
注意: 由于是解压的是zip文件, tomcat中的.sh文件都没有任何的执行缺陷, 需要进行赋权限:
chmod 777 /export/servers/solr/apache-tomcat-7.0.77/bin/*
启动tomcat:
cd /export/servers/solr/apache-tomcat-7.0.77/bin/
./startup.sh
成功后:将tomcat务必关机操作
./shutdown.sh
cd /export/servers/solr/solr-home/
rm -rf collection2/ //删除多余的索引库, 只保留一个collection1即可
rm -rf collection1/data/
1. 需要先上传solr的安装包
cd /export/software/
rz
2. 解压solr的安装包
unzip solr-4.10.2.zip
3. 将solr安装包复制到/export/servers下
mv solr-4.10.2 /export/servers/
4. 开始执行上传
cd /export/servers/solr-4.10.2/example/scripts/cloud-scripts/
//注意: 以下命令是一行
./zkcli.sh -zkhost node01:2181,node02:2181,node03:2181 -cmd upconfig -confdir /export/servers/solr/solr-home/collection1/conf/ -confname solrconf
以下命令主要用于查看zookeeper中是否存在solr的配置文件: 可以不执行跳过
cd /export/servers/zookeeper-3.4.9/bin
./zkCli.sh
ls /configs/solrconf
cd /export/servers/solr/solr-home/
vim solr.xml
修改jetty.port:8080
// 目前用不到但为了统一路径建议修改
cd /export/servers/solr/apache-tomcat-7.0.77/bin/
vi catalina.sh
*** 修改如下内容
export "JAVA_OPTS=-Dsolr.solr.home=/export/servers/solr/solr-home //原来的内容
//以下为替换后的内容 注意: 这是一行内容, 复制时一起复制即可
export "JAVA_OPTS=-Dsolr.solr.home=/export/servers/solr/solr-home -DzkHost=node01:2181,node02:2181,node03:2181"
cd /export/servers/
scp -r solr root@node02:$PWD
scp -r solr root@node03:$PWD
// 发送完成查看是否存在
查询运行状态
/export/servers/zookeeper-3.4.9/bin/zkServer.sh status
进入zk命令行工具
/export/servers//zookeeper-3.4.9/bin/zkCli.sh -server ip
# 创建临时节点
# zkcli 断开临时节点消失
create -e /temp temp
# 创建临时顺序节点
create -s -e /temp temp
# 创建永久节点
create /chujian chujian
# 创建永久顺序节点
create -s /chujian chujian
ls path watch 读取节点信息
get path watch 获取节点参数
ls2 path watch 获取节点详细信息
# 获取节点信息
ls /
# 获取节点详细信息
ls2 /
# 获取节点参数
get /chujian
set path data version
# 更新节点参数
set /chujian chujian01
若删除节点存在子节点,那么无法删除该节点,必须先删除子节点,再删除父节点。 delete path version
可以递归删除节点。 Rmr path
setquota -n|-b val path 对节点增加限制。 n:表示子节点的最大个数 b:表示数据值的最大长度 val:子节点最大个数或数据值的最大长度 path:节点路径 listquota path 列出指定节点的 quota 子节点个数为 2,数据长度-1 表示没限制 delquota -n|-b path 删除 quota
查看历史命令 history
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。