Spring Boot Dubbo Zookeeper(含ZK安裝腳本)
簡介
Dubbo
Common
公共依賴
<!-- Spring Boot Starter -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>2.3.0.RELEASE</version>
</dependency>
<!-- Dubbo Starter -->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.7.8</version>
</dependency>
<!-- ZooKeeper 注冊中心 -->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-registry-zookeeper</artifactId>
<version>2.7.8</version>
</dependency>
- 定義接口(用戶服務(wù)注冊使用)
public interface HelloService {
String sayHello(String name);
}
Provider
首先需要依賴Common
文章來源:http://www.zghlxwxcb.cn/news/detail-669806.html
- yml
dubbo:
application:
name: my-application
registry:
address: zookeeper://localhost:2181
- 實(shí)現(xiàn)定義的接口(Service是apache.dubbo)
@Service
public class HelloServiceImpl implements HelloService {
@Override
public String sayHello(String name) {
return "Hello, " + name + "!";
}
}
- 啟動(dòng)類(@EnableDubbo)
@EnableDubbo
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
Consumer
首先需要依賴Common
文章來源地址http://www.zghlxwxcb.cn/news/detail-669806.html
- Controller(@Reference注解)
@RestController
public class HelloController {
@Reference
private HelloService helloService;
@GetMapping("/hello/{name}")
public String sayHello(@PathVariable String name) {
return helloService.sayHello(name);
}
}
Zookeeper
- 安裝腳本
#!/bin/bash
#### 需要先裝JDK ####
#### 需要先裝JDK ####
#### 需要先裝JDK ####
cd /data/server;
# 下載一個(gè)版本兒
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz;
# 創(chuàng)建目錄
mkdir -p /data/server/apache-zookeeper-3.4.14;
# 解壓到/usr/local下
tar -zxvf zookeeper-3.4.14.tar.gz -C /data/server/;
# 新增zk目錄
mkdir -p /data/server/zookeeper-3.4.14/data;
mkdir -p /data/server/zookeeper-3.4.14/logs;
# 新增PID文件 并 設(shè)置PID
touch /data/server/zookeeper-3.4.14/data/myid;
# PID,與MAP key相同
echo 1 > /data/server/zookeeper-3.4.14/data/myid;
# 復(fù)制默認(rèn)配置,改為zoo.cfg
cp /data/server/zookeeper-3.4.14/conf/zoo_sample.cfg /data/server/zookeeper-3.4.14/conf/zoo.cfg;
# 修改核心配置zoo.cfg
# 替換
dataDir_old='/tmp/zookeeper';
dataDir_url='/data/server/zookeeper-3.4.14/data';
sed -ig "s#${dataDir_old}#${dataDir_url}#" /data/server/zookeeper-3.4.14/conf/zoo.cfg;
# 寫入dataLogDird
echo 'dataLogDir=/data/server/zookeeper-3.4.14/logs' >> /data/server/zookeeper-3.4.14/conf/zoo.cfg;
# 單節(jié)點(diǎn),只需要寫入單個(gè)即可
declare -A map
map[1]="127.0.0.1"
for key in ${!map[@]};do
echo "server."${key}"="${map[${key}]}":2888:3888" >> /data/server/zookeeper-3.4.14/conf/zoo.cfg;
done
# 查看下配置
cat /data/server/zookeeper-3.4.14/conf/zoo.cfg;
# 啟動(dòng)
# 不是root,需要source /etc/profile!!
# 不是root,需要source /etc/profile!!
# 不是root,需要source /etc/profile!!
/data/server/zookeeper-3.4.14/bin/zkServer.sh start
# 查看狀態(tài)
/data/server/zookeeper-3.4.14/bin/zkServer.sh status
#### 顯示下面內(nèi)容就是啟動(dòng)成功了 ####
#ZooKeeper JMX enabled by default
#Using config: /data/server/zookeeper-3.4.14/bin/../conf/zoo.cfg
#Mode: standalone
# 日志存儲(chǔ)位置
tail -100f /data/server/zookeeper-3.4.14/zookeeper.out
###### 問題
###1. org.apache.zookeeper.server.admin.AdminServer$AdminServerException: Problem starting AdminServer on address 0.0.0.0, port 8080 and command URL /commands
### 解決辦法:https://www.jianshu.com/p/181a69836fe9
到了這里,關(guān)于Spring Boot Dubbo Zookeeper的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!