gerrit 搭建遇到的问题

1、启动Apache,端口被占用


: AH00072: make sock: could not bind to address
(0S 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。: AH00072: make sock: could not bind to address 0.0.0.:443
a
AH00451: no listening sockets available, shutting dow
AH00015: Unable to open logs

解决方法:

修改Apache端口的方法:

修改文件(一般在此目录下:Apache安装目录\conf\extra)httpd-ssl.conf 、httpd.ahssl.conf,将443端口替换为你想设置的端口

再次启动httpd.exe,这次没报错,查看了重新设置的监听端口正常:

netstat  -ano|findstr 端口号

2、安装gerrit过程中缺少

mysql-connector-java-5.1.21.jar、bcpkix-jdk15on-152.jar、bcprov-jdk15on-152.jar文件,下载失败

Gerrit Code Review is not shipped with MySQL Connector/J 5.1.21 ** This library is required for your configuration. ** Download and install it now [Y/n]? y Downloading http://repo2.maven.org/maven2/mysql/mysql-connector-java/5.1.21/mysql-connector-java-5.1.21.jar ... Failed to clean up lib: E:\Gerrit\lib\mysql-connector-java-5.1.21.jar !! FAIL !! error: repo2.maven.org Please download: http://repo2.maven.org/maven2/mysql/mysql-connector-java/5.1.21/mysql-connector-java-5.1.21.jar and save as: E:\Gerrit\lib\mysql-connector-java-5.1.21.jar

解决方法:

从以前老gerrit上面包拷贝过来

3、缺少 "ssh-keygen"

Generating SSH host key ... rsa...Exception in thread "main" java.io.IOException: Cannot run program "ssh-keygen": CreateProcess error=2, 系统找不到指定的文件。

at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)

at java.lang.Runtime.exec(Runtime.java:620) at java.lang.Runtime.exec(Runtime.java:485)

at com.google.gerrit.pgm.init.InitSshd.generateSshHostKeys(InitSshd.java:108)

at com.google.gerrit.pgm.init.InitSshd.run(InitSshd.java:85)

at com.google.gerrit.pgm.init.SitePathInitializer.run(SitePathInitializer.java:92)

at com.google.gerrit.pgm.init.BaseInit.run(BaseInit.java:123)

at com.google.gerrit.pgm.util.AbstractProgram.main(AbstractProgram.java:64)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:497)

at com.google.gerrit.launcher.GerritLauncher.invokeProgram(GerritLauncher.java:159)

at com.google.gerrit.launcher.GerritLauncher.mainImpl(GerritLauncher.java:100)

at com.google.gerrit.launcher.GerritLauncher.main(GerritLauncher.java:56)

at Main.main(Main.java:25) Caused by: java.io.IOException: CreateProcess error=2, 系统找不到指定的文件。

at java.lang.ProcessImpl.create(Native Method) at java.lang.ProcessImpl.(ProcessImpl.java:386) at java.lang.ProcessImpl.start(ProcessImpl.java:137)

at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)

...

解决方法:

如果有安装git,git目录下面有这个,把对应的路径添加到环境变量。如果没有,需要安装一个。

4、报错如下:

fatal: DbInjector failed

fatal: Unable to determine SqlDialect

fatal: caused by com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

fatal: fatal: The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

fatal: caused by java.net.ConnectException: Connection refused: connect

解决方法:

应该是找不到gerrit需要的数据库或者 设置的数据库用户没有权限登录到 mysql。如果你需要使用mysql,则需要安装gerrit之前安装mysql。

5、报错如下:

fatal: DbInjector failed

fatal: Unable to determine SqlDialect fatal: caused by java.sql.SQLException: Access denied for user 'gerrit'@'localhost' (using password: YES)

解决方法:

确保安装gerrit过程中输入的数据库存在,且设置的数据库用户有权限访问数据库,如果没有权限需要添加权限:

GRANT ALL PRIVILEGES ON 数据库名.* TO '数据库用户'@'localhost' IDENTIFIED BY '用户对应的密码'; 

FLUSH PRIVILEGES;

6、启动gerrit报错如下:

[2024-10-31 18:03:33,281] [main] ERROR com.google.gerrit.pgm.Daemon : Unable to start daemon

com.google.inject.CreationException: Unable to create injector, see the following errors:

1) No SSH keys under .\etc

while locating com.google.gerrit.sshd.HostKeyProvider at com.google.gerrit.sshd.SshHostKeyModule.configure(SshHostKeyModule.java:26)

while locating org.apache.sshd.common.KeyPairProvider for parameter 5

at com.google.gerrit.sshd.DatabasePubKeyAuth.(DatabasePubKeyAuth.java:72)

while locating com.google.gerrit.sshd.DatabasePubKeyAuth for parameter 0

at com.google.gerrit.sshd.CachingPublicKeyAuthenticator.(CachingPublicKeyAuthenticator.java:26)

解决方法:

报错如上,把老的gerrit上面的ssh_host_key文件拷贝过来放到etc目录下面

7、报错如下:

[2024-10-31 18:08:44,932] [main] ERROR com.google.gerrit.pgm.Daemon : Unable to start daemon

com.google.inject.ProvisionException: Unable to provision, see the following errors:

1) No index versions ready; run Reindex 1 error at com.google.gerrit.lucene.LuceneVersionManager.start(LuceneVersionManager.java:124)

at com.google.gerrit.lifecycle.LifecycleManager.start(LifecycleManager.java:74)

at com.google.gerrit.pgm.Daemon.start(Daemon.java:302)

at com.google.gerrit.pgm.Daemon.run(Daemon.java:203)

at com.google.gerrit.pgm.util.AbstractProgram.main(AbstractProgram.java:64)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:497)

at com.google.gerrit.launcher.GerritLauncher.invokeProgram(GerritLauncher.java:159)

at com.google.gerrit.launcher.GerritLauncher.mainImpl(GerritLauncher.java:100)

at com.google.gerrit.launcher.GerritLauncher.main(GerritLauncher.java:56)

at Main.main(Main.java:25)

解决方法:

网上查了,很多说按照指示reindex一下:java -jar .\bin\gerrit.war reindex

有些有作用,但是我是迁移老gerrit数据的,这种操作没有用。需要把老gerrit上面的

cache和index目录拷贝过来,再重启gerrit,就可以了。

8、启动gerrit报错如下:

[2024-10-30 17:43:41,799] [main] ERROR com.google.gerrit.pgm.Daemon : Unable to start daemon
com.google.inject.ProvisionException: Unable to provision, see the following errors:1) Error injecting constructor, java.io.IOException: Unable to unmap the mapped buffer: MMapIndexInput(path="E:\Gerrit\index\changes_0025\open\segments_1")at com.google.gerrit.lucene.LuceneChangeIndex.<init>(LuceneChangeIndex.java:236)while locating com.google.gerrit.lucene.LuceneChangeIndex annotated with @com.google.inject.internal.UniqueAnnotations$Internal(value=9)1 errorat com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1025)at com.google.inject.assistedinject.FactoryProvider2.invoke(FactoryProvider2.java:770)at com.google.gerrit.lucene.$Proxy115.create(Unknown Source)at com.google.gerrit.lucene.LuceneVersionManager.start(LuceneVersionManager.java:155)at com.google.gerrit.lifecycle.LifecycleManager.start(LifecycleManager.java:74)at com.google.gerrit.pgm.Daemon.start(Daemon.java:302)at com.google.gerrit.pgm.Daemon.run(Daemon.java:203)at com.google.gerrit.pgm.util.AbstractProgram.main(AbstractProgram.java:64)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.base/java.lang.reflect.Method.invoke(Method.java:566)at com.google.gerrit.launcher.GerritLauncher.invokeProgram(GerritLauncher.java:159)at com.google.gerrit.launcher.GerritLauncher.mainImpl(GerritLauncher.java:100)at com.google.gerrit.launcher.GerritLauncher.main(GerritLauncher.java:56)at Main.main(Main.java:25)
Caused by: java.io.IOException: Unable to unmap the mapped buffer: MMapIndexInput(path="E:\Gerrit\index\changes_0025\open\segments_1")at org.apache.lucene.store.MMapDirectory$2.freeBuffer(MMapDirectory.java:329)at org.apache.lucene.store.ByteBufferIndexInput.freeBuffer(ByteBufferIndexInput.java:376)at org.apache.lucene.store.ByteBufferIndexInput.close(ByteBufferIndexInput.java:355)at org.apache.lucene.store.BufferedChecksumIndexInput.close(BufferedChecksumIndexInput.java:60)at org.apache.lucene.index.SegmentInfos.readCommit(SegmentInfos.java:459)at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:909)at com.google.gerrit.lucene.AutoCommitWriter.<init>(AutoCommitWriter.java:38)at com.google.gerrit.lucene.AutoCommitWriter.<init>(AutoCommitWriter.java:33)at com.google.gerrit.lucene.SubIndex.<init>(SubIndex.java:79)at com.google.gerrit.lucene.SubIndex.<init>(SubIndex.java:61)at com.google.gerrit.lucene.LuceneChangeIndex.<init>(LuceneChangeIndex.java:268)at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)at com.google.inject.internal.DefaultConstructionProxyFactory$2.newInstance(DefaultConstructionProxyFactory.java:86)at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267)at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1016)at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1012)... 15 more
Caused by: java.lang.IllegalAccessException: class org.apache.lucene.store.MMapDirectory$2$1 cannot access class jdk.internal.ref.Cleaner (in module java.base) because module java.base does not export jdk.internal.ref to unnamed module @6bb4dd34at java.base/jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:361)at java.base/java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:591)at java.base/java.lang.reflect.Method.invoke(Method.java:558)at org.apache.lucene.store.MMapDirectory$2$1.run(MMapDirectory.java:322)at org.apache.lucene.store.MMapDirectory$2$1.run(MMapDirectory.java:314)at java.base/java.security.AccessController.doPrivileged(Native Method)at org.apache.lucene.store.MMapDirectory$2.freeBuffer(MMapDirectory.java:314)... 36 more

解决方法:

老gerrit上面的是jdk1.8,而新gerrit的jdk是11,把jdk版本换成1.8就可以了。也可以使用绿色版,但是启动的时候需要带全路径。

9、Apache注册成功,但是在服务那里启动失败

解决方法:

缺少环境依赖项,例如:

没有安装:vc_redist_x64 导致的,打开链接:Apache VS17 binaries and modules download

下载vc_redist_x64并安装。

重新添加Apache为本地服务,启动服务,可以正常运行了

10、点击页面的gitweb报错如下:

[2024-11-05 11:00:17,837] [Gitweb-ErrorLogger] ERROR com.google.gerrit.httpd.gitweb.GitwebServlet : CGI: ???????????????ò?í±ê??·¨?????·??
[2024-11-05 11:00:17,837] [HTTP-32] ERROR com.google.gerrit.httpd.gitweb.GitwebServlet : Non-zero exit status (1) from C:\Program Files\Git\mingw64\share\gitweb\gitweb.bat

解决方法:

看下C:\Program Files\Git\mingw64\share\gitweb\gitweb.bat 里面是否有中文的双引号,需要改成英文的双引号。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/58362.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

提升安全上网体验:Windows 11 启用 DOH(阿里公共DNS)

文章目录 阿里公共 DNS 介绍免费开通云解析 DNS 服务Windows 编辑 DNS 设置配置 IPv4配置 IPv6 路由器配置 DNS 阿里公共 DNS 介绍 https://alidns.com/ 免费开通云解析 DNS 服务 https://dnsnext.console.aliyun.com/pubDNS 开通服务后&#xff0c;获取 DOH 模板&#xff0…

项目实战使用gitee

1.创建本地仓库 2.进行提交到本地仓库 创建仓库后在idea中会显示图标&#xff0c;点击绿色的√进行快速提交 3.绑定远程仓库 4.番外篇-创建gitee仓库 注意不要勾选其他

【大模型LLM面试合集】大语言模型架构_chatglm系列模型

chatglm系列模型 1.ChatGLM 1.1 背景 主流的预训练框架主要有三种&#xff1a; autoregressive自回归模型&#xff08;AR模型&#xff09;&#xff1a;代表作GPT。本质上是一个left-to-right的语言模型。通常用于生成式任务&#xff0c;在长文本生成方面取得了巨大的成功&a…

yolov8涨点系列之HiLo注意力机制引入

文章目录 HiLo 注意力介绍原理特点 yolov8增加CBAM具体步骤HiLo代码(1)在__init.py__conv.py文件的__all__内添加‘HiLo’(2)conv.py文件复制粘贴HiLo代码(3)修改task.py文件 yolov8.yaml文件增加HiLo注意力机制yolov8.yamlyolov8.yaml引入HiLo注意力机制 将 HiLo 注意力引入 Y…

ReactPress—基于React的免费开源博客CMS内容管理系统

ReactPress Github项目地址&#xff1a;https://github.com/fecommunity/reactpress 欢迎提出宝贵的建议&#xff0c;感谢Star。 ![ReactPress](https://i-blog.csdnimg.cn/direct/0720f155edaa4eadba796f4d96d394d7.png#pic_center ReactPress 是使用React开发的开源发布平台&…

金华迪加 现场大屏互动系统 mobile.do.php 任意文件上传漏洞复现

0x01 产品简介 金华迪加现场大屏互动系统是一种集成了先进技术和创意设计的互动展示解决方案,旨在通过大屏幕和多种交互方式,为观众提供沉浸式的互动体验。该系统广泛应用于各类活动、展览、会议等场合,能够显著提升现场氛围和参与者的体验感。 0x02 漏洞概述 金华迪加 现…

搭建支持国密GmSSL的Nginx环境

准备 1、服务器准备&#xff1a;本文搭建使用的服务器是CentOS 7.6 2、安装包准备&#xff1a;需要GmSSL、国密Nginx&#xff0c;可通过互联网下载或者从 https://download.csdn.net/download/m0_46665077/89936158 下载国密GmSSL安装包和国密Nginx安装包。 服务器安装依赖包…

直播系统搭建教程安装说明

需要安装的软件(宝塔【软件商店】中查找安装): 1.PHP7.0 ~ PHP7.3 需要安装的扩展:(宝塔【PHP管理】【安装扩展】中安装) *PDO PHP Extension * MBstring PHP Extension * CURL PHP Extension * Mylsqi PHP Extension * Redis PHP Extension * fileinfo PHP Extension …

有了这三个神器,就没有你找不到的资源

在这个信息丰富的时代&#xff0c;获取资源已成为日常生活的一部分。无论是技术文档、学习资料还是开源项目&#xff0c;快速准确地找到所需内容常常让人头疼。但今天&#xff0c;我将介绍三个强大的工具&#xff0c;帮助你轻松发现各种资源——从技术资料到影视音乐&#xff0…

Harbor的安装与使用

前言 通过 Harbor 项目地址 找到最新的 Release 版本 因为Harbor 是一个用于存储和分发 Docker 镜像的企业级 Registry 服务器。在使用的过程中&#xff0c;发现与containerd不能很好地兼容。所以我这边启用了原来的一套基于docker-cri 的K8S高可用服务&#xff08;3台AlmaLi…

fastbootd模式刷android固件的方法

1. fastbootd追根溯源 Google在Android 10上正式引入了动态分区机制来提升OTA的可扩展性。动态分区使能后&#xff1a;andorid系统可以在开机阶段动态地进行分区创建、分区销毁、分区大小调整等操作&#xff0c;下游厂商只需要规划好super分区的总大小&#xff0c;其内部的各个…

Mid term Review

Partial Fractions 部分分式 有理函数拆分的结果是若干项简单分式的和&#xff0c;这些简单分式被称为部分分式。在积分有理函数&#xff0c;解有理方程&#xff0c;或者处理拉普拉斯变换时特别有用。 有理函数的定义和拆分要求 有理函数必须为真有理式(与真分数的判断条件相…

致茂Chroma61860回收式电网模拟电源

Chroma回收式电网模拟电源 Chroma61830 Chroma61845 Chroma61860 Chroma61800-100 功率规格 61830&#xff1a;30kVA 61845&#xff1a;45kVA 61860&#xff1a;60kVA 61800-100&#xff1a;105kVA 61800-100 (800VLN)&#xff1a;105kVA 电压规格&#xff1a; 0~300V 0~40…

CSS基础知识六(浮动的高度塌陷问题及解决方案)

目录 1.浮动高度塌陷概念 2.下面是几种解决高度塌陷的几种方案&#xff1a; 解决方案一&#xff1a; 解决方案二&#xff1a; 解决方案三&#xff1a; 1.浮动高度塌陷概念 在CSS中&#xff0c;高度塌陷问题指的是父元素没有正确地根据其内部的浮动元素或绝对定位元素来计…

计算机网络:网络层 —— 边界网关协议 BGP

文章目录 路由选择协议动态路由协议边界网关协议 BGPBGP 的基本概念BGP-4 的四种报文 路由选择协议 因特网是全球最大的互联网&#xff0c;它所采取的路由选择协议具有以下三个主要特点&#xff1a; 自适应&#xff1a;因特网采用动态路由选择&#xff0c;能较好地适应网络状态…

风力发电并网系统的相关控制策略

风电作为一种可再生资源&#xff0c;具有低污染、储量大等优点。随着近年来**绿色发展战略的深入实施&#xff0c;我国风力发电技术取得重大进展。风力发电总装机容量机并网规模呈逐年增长趋势&#xff0c;为**工农业生产及居民生活提供了大量电力能源。然而&#xff0c;风力发…

uni-app跨域set-cookie

set-cookie的值是作为一个权限控制的 首先&#xff0c;无论什么接口都会返回一个set-cookie&#xff0c;但未登录时&#xff0c;set-cookie是没有任何权限的 其次&#xff0c;登录接口请求时会修改set-cookie&#xff0c;并且在后续其他接口发起请求时&#xff0c;会在请求头…

【RabbitMQ】03-交换机

1. 交换机 2. Fanout交换机 广播。生产者向exchange发消息 SpringBootTest public class SpringAmqpTest {Autowiredpublic RabbitTemplate rabbitTemplate;Testvoid testSimple() {String exchangName "hmall.fabout";rabbitTemplate.convertAndSend(exchangName…

基于python构造电影neo4j知识图谱

使用pandas构造neo4j电影知识谱图 实现效果 电影知识图谱构造过程 实现过程 import pandas as pd from tqdm import tqdmfrom config import graph, cnndef delete_all():graph.run("MATCH(n) DETACH DELETE(n)")# 创建带属性的节点 def createNode(node, row):try…

曲速磨-干法研磨机、超细研磨机、节能细磨

曲速磨在涂料粉体中的应用广泛&#xff0c;主要体现在提高涂料粉体的品质、生产效率以及适应特殊工艺需求等方面。 1.提高涂料粉体品质 细化颗粒&#xff1a;曲速磨通过研磨媒体(如锆珠)的高速运动&#xff0c;对涂料粉体进行强烈的碰撞、摩擦和剪切作用&#xff0c;从而有效地…