DataGrip
发表于|更新于|软件
|总字数:305|阅读时长:1分钟|浏览量:
查看ddl和复制为insert语句

显示
设置数据库颜色

显示树状结构

显示表的commnet

显示数据库DDL最后一次更新的时间

同步/比较两个表的数据结构
用command 选中 两个想要比较的表,然后在其中一个表,选择

只显示不一样的字段
显示全部字段,绿色表示不一样

也可以比较两个库,还是刚才的方法,选中两个库,再比较

相当于Navicat的这个功能

复制功能
标记1,选中表,Command + c 就是复制的表名
标记2,选中库,Command + c 就是复制的库名

右边的选项,让你复制出的SQL格式是什么样的,比如复制出insert的sql,或者update的sql,或者导出xml 或者,多条记录复制出一条sql语句,简单使用可以尝试
build-in:
- sql inserts
- sql updates
scripted:
- sql-insert-multirow
- Sql-insert-statements

导出的功能
使用mysqldump,导出整个库


Mac电脑需要安装,mysql-client
1 | brew install mysql-client |
导入SQL
要在库名上点右键

这个功能类似于
相关推荐
2026-05-26
macOS IDEA部署Docker到本机Docker Desktop
说明在macOS上使用IDEA开发项目时,可以直接通过IDEA的Run配置,把项目打包成Docker镜像,然后部署到本机的Docker Desktop里运行. 这个方式适合本地调试Docker环境,不用每次手动执行docker build和docker run. 前提条件 macOS已经安装并启动Docker Desktop IDEA已经安装Docker插件 项目里有可用的Dockerfile Java项目已经可以正常打包,比如Maven或Gradle打包成功 整体流程IDEA部署服务到本机Docker Desktop,本质上就是把手动命令配置到IDEA的Run里. 手动执行时一般是这样: 123mvn clean package -DskipTestsdocker build -t my-app:latest .docker run --name my-app -p 8080:8080 my-app:latest 配置到IDEA之后,点击Run就可以自动完成打包,构建镜像,启动容器. 配置Docker连接打开IDEA设置: Settings | Build, Execution, Deployment | Docker 点击+,选择Docker for Mac. 然后点击Test Connection,看到连接成功就说明IDEA已经能连接到本机Docker Desktop. 准备DockerfileSpring Boot项目可以在项目根目录准备一个简单的Dockerfile. 123456789FROM eclipse-temurin:17-jreWORKDIR /appCOPY target/*.jar app.jarEXPOSE 8080ENTRYPOINT ["java", "-jar", "app.jar"] 如果项目端口不是8080,这里的EXPOSE和后面的端口映射都要换成实际端口. 配置Run打开: Run | Edit Configurations 点击+,这里常用有两个选择: Docker | Dockerfile适合项目里有Dockerfile,需要IDEA先构建镜像,再运行容器的场景. 它会执行类似下面的流程: 12docker build -t my-app:latest .docker run --name my-app -p 8080:8080 my-app:latest 也就是说,代码改了以后,可以让IDEA重新build镜像,再启动容器. Spring Boot项目,前端项目,或者自己写了Dockerfile的项目,一般选这个. Docker | Docker Image适合镜像已经存在,只需要运行这个镜像的场景. 它会执行类似下面的流程: 1docker run --name mysql-test -p 3306:3306 mysql:8 比如运行mysql,redis,nginx,nacos这类现成镜像,或者已经手动build好了镜像,只想让IDEA帮忙启动容器,就选这个. 简单记: 12有Dockerfile,需要构建镜像 -> Docker | Dockerfile已有镜像,只想运行容器 -> Docker | Docker Image Dockerfile配置项如果选择Docker | Dockerfile,关键配置如下: 配置项 说明 Server 选择前面配置好的Docker for Mac Dockerfile 选择项目里的Dockerfile Context folder 一般选择项目根目录 Image tag 镜像名称,比如my-app:latest Container name 容器名称,比如my-app Run built image 勾选,表示构建完成后直接运行镜像 Bind ports 端口映射,比如本机8080映射容器8080 Environment variables 按需配置环境变量 常用配置可以这样填: 123456Server: Docker for MacDockerfile: ./DockerfileContext folder: 项目根目录Image tag: my-app:latestContainer name: my-appBind ports: 8080:8080 Before launch如果是Spring Boot项目,建议在Before launch里加打包任务. Maven项目可以配置: 1clean package -DskipTests Gradle项目可以配置: 1bootJar 这样点击Run时,IDEA会先打包项目,再根据Dockerfile构建镜像并启动容器. 启动后验证启动成功后,可以在Docker Desktop里看到容器. 也可以在终端检查: 1docker ps 如果服务端口是8080,可以访问: 1http://localhost:8080 如果需要看日志,可以在IDEA的Run窗口查看,也可以执行: 1docker logs -f my-app 常见问题端口被占用修改Bind ports里的本机端口. 比如容器内部还是8080,本机可以改成18080. 118080 -> 8080 容器需要访问宿主机服务macOS的Docker Desktop里,容器访问宿主机可以使用: 1host.docker.internal 比如容器里的程序要连接本机MySQL,可以把数据库地址配置成: 1host.docker.internal:3306 挂载本机目录失败检查Docker Desktop是否允许访问这个目录. 可以在Docker Desktop里查看: Settings | Resources | File Sharing 总结本地项目通过IDEA部署到macOS的Docker Desktop,核心就是两步: 在IDEA里配置Docker for Mac 在Run配置里选择Docker | Dockerfile 如果只是运行已有镜像,才选择Docker | Docker Image.

2022-11-19
Jenkins
Root用户权限启动Jenkins适用于Ubuntu环境下通过apt-get install -y jenkins命令在线安装的Jenkins 1.修改配置文件 123456789vim /etc/default/jenkins# 将下面两个参数修改为root# 修改前JENKINS_USER=$NAMEJENKINS_GROUP=$NAME# 修改后JENKINS_USER=rootJENKINS_GROUP=root 2.更改目录权限 不知道这步有没有起作用 12345cd /var/lib/chown -R root:root ./jenkins# 重启systemctl restart jenkins.service Jenkins使用教程配置JDKManage Jenkins –> Global Tool Configuration 自动安装 手动安装要注意,JAVA_HOME的输入框下面,不要有警告或者错误信息,否则就是路径不正确,取消勾选自动安装 配置Maven 安装Maven Integration 插件 通常自动安装maven就行了,如果手动安装,MAVEN_HOME 输入框下面,不要有警告或者错误信息,否则就是路径不正确 获取当前项目名称在脚本中输入 $JOB_NAME就能获取到了 卸载jenkins12345678910//服务sudo apt-get remove jenkins//安装包,注意这里如果不是ubuntu那就yumsudo apt-get remove --auto-remove jenkins//配置和数据sudo apt-get purge jenkinssudo apt-get purge --auto-remove jenkins 升级jenkins12# 适用于ubuntu安装的apt-get upgrade jenkins 同时构建任务的个数系统管理–>系统设置–>执行者数量 构建成功才继续发包只是个不大不小的功能,很容易忽略了,在 任务的配置–>Post Steps –> Run only if build succeeds 修改时区 WebHook使用的场景,Github Push代码之后,自动构建 第一步.jenkins的配置 第二步.Github的配置 第三步.返回jenkins设置 第四步.push代码,查看有没有正常构建 Jenkins+Docker部署Maven聚合工程安装Jenkins 1234567891011docker run \ -v /var/run/docker.sock:/var/run/docker.sock \ -v $(which docker):/usr/bin/docker \ -v /root/jenkins:/var/jenkins_home \ --name jenkins \ --user=root \ -p 8080:8080 \ -p 50000:50000 \ -d \ -u 0 \ jenkins/jenkins:jdk11 第2行是将宿主机的/var/run/docker.sock映射到容器中,这样在容器中运行的docker命令,就会在宿主机上来执行。 第3行是将宿主机的docker程序映射进容器中,这样本身没有安装docker的jenkins容器就可以执行docker命令了(事实上容器里是没有运行docker的服务的,我们只是用这个映射进容器的docker来作为客户端发送docker的指令到/var/run/docker.sock而已,而/var/run/docker.sock已经被链接到宿主机了) Dockerfile 1234FROM openjdk:8-jdk-alpineVOLUME /tmpADD admin-server-0.0.1-SNAPSHOT.jar app.jarENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] Maven的pom.xml配置 12345678910111213141516<plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.4.13</version> <configuration> <imageName>springboot/${project.artifactId}</imageName> <dockerDirectory>src/main/docker</dockerDirectory> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration></plugin> imageName打的镜像名称,这里的镜像名称是:springboot/admin-server dockerDirectory指定docker文件夹的位置 Job配置 • -e “SPRING_PROFILES_ACTIVE=prerelease” ,可以看成是启动jar的时候的,java -jar admin-server.jar –spring.profiles.active=prerelease ,指定运行环境 脚本检测容器的运行1234567891011121314# "=" 两边不能有空格count=`docker ps -a | grep sabong-admin-controlfront |awk '{print $1}'`if [ -n "$count" ]; then docker stop $count docker rm $count echo "停止并删除容器"fidocker run \ -itd \ -p 9011:9011 \ -e “SPRING_PROFILES_ACTIVE=prerelease” \ --name admin-server \ springboot/admin-server 推送镜像到harbor12345678910# 打标签# sabong/sabong-controller-manager:latest 已经build成功了的镜像名字# 10.0.0.7/library/sabong/sabong-controller-manager:latest 新的镜像名字docker tag sabong/sabong-controller-manager:latest 10.0.0.7/library/sabong/sabong-controller-manager:latest# 登录私有仓库docker login -u admin -p 123456 10.0.0.7# 推送镜像docker push 10.0.0.7/library/sabong/sabong-controller-manager:latest Vue打包成镜像123456789101112131415npm installnpm run build:prod# build# sabong/sabong-admin-controlfront 随便起的docker build -t sabong/sabong-admin-controlfront --no-cache . # 打标签docker tag sabong/sabong-admin-controlfront:latest 10.0.0.7/library/sabong/sabong-admin-controlfront:latest# 登录私有仓库docker login -u admin -p 123456 10.0.0.7# 推送镜像docker push 10.0.0.7/library/sabong/sabong-admin-controlfront:latest Dockerfile 123From nginxCOPY dist/ /usr/share/nginx/html/ ⛔ 这里用的是nginx容器里默认的nginx配置文件,所以这里没有使用自定义的nginx配置 SpringBoot项目脚本适用于ssh传输文件,启动脚本 1234567891011121314151617181920#!/bin/bash# 具体不知道是干啥的,加上这个,这个看情况加# BUILD_ID=DONTKILLMEAPP_NAME=xxx.jar# 杀进程pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' ` if [ -n "${pid}" ]; then kill -9 $pidfiecho '准备启动jar包'nohup java -jar /root/$APP_NAME --spring.profiles.active=prod &sleep 3echo '启动成功' Maven多模块打包指定打包项目名 1clean package -pl 模块名 -am 配置SSH server 在系统管理–>System—>SSH Server配置 配置SSH Over FTP publish 这里Verbose output in console的作用是把远程的步骤,和远程的shell执行的结果也打印出来 这里Exec in pty 要勾选,不然项目启动完成了,也不会停止SSH链接 前端打包选择已经配置的node版本 构建环境 Build Steps 选择执行shell 12345npm installnpm run build:prodpwd# 删除上一次构建打的包,然后dist文件夹打包成dist.zip文件rm -f dist.zip && zip -r dist.zip dist 各种问题报错1.HTTP ERROR 403 No valid crumb was included in the request 解决办法:网上都是要去关闭CSRF,很明确的是我这里的全局安全配置里面根本就没有选项,我的版本是jenkins 2.293。所以百度出来的都是一堆垃圾,无奈自己解决,尝试一番之后,找到了方法,如 下图所示:还是在全局安全配置里面,勾选上这个参数即可。 2.Jenkins配置中安装插件时提示No such plugin: cloudbees-folder 1sudo systemctl start jenkins 2.Jenkins和Github personal access token 登录到您的 Jenkins 服务器。 选择“Jenkins”>“Manage Jenkins”>“Configure System”。 滚动到“GitHub”部分。 点击“Add GitHub Server”按钮。 在“API URL”字段中输入您的 Github API URL(例如 api.github.com)。 在“Credentials”字段中选择“Add”。 选择“Kind”为“Username with password”。 在“Username”字段中输入您的 Github 用户名。 在“Password”字段中输入您的 Github 个人访问令牌。 点击“Verify credentials”按钮以验证凭据是否有效。 如果验证成功,请点击“Save”按钮保存更改。 3.jenkins映射docker 12345# 如果docker run jenkins 没有指定# 这里就不能打包,就是因为在jenkins里的容器中,没有安装对象,使用了-v # 就是把jenkins里所需要的docker映射到宿主docker中-v /var/run/docker.sock:/var/run/docker.sock \-v $(which docker):/usr/bin/docker 4.安装插件没有成功 需要到插件中心,在可更新和可选插件里,一个一个手动去搜索安装,如果还有问题,就需要更新jenkins 5.npm install需要权限 1Unable to save binary /var/lib/jenkins/workspace/mymanager-/node_modules/node-sass/vendor/linux-x64-83 : Error: EACCES: permission denied, mkdir '/var/lib/jenkins/workspace/lottery-web-24kai-ausk3/node_modules/node-sass/vendor' 修改端口123456789101112131415161718192021222324252627282930# 第一步sudo vim /etc/init.d/jenkins# 8088改成想要的check_tcp_port "http" "$HTTP_PORT" "8088" || return 1# 第二步sudo vim /etc/default/jenkins# 8088改成想要的HTTP_PORT=8088# 第三步vim /lib/systemd/system/jenkins.serviceEnvironment="JENKINS_PORT=80"# 执行sudo systemctl daemon-reloadsudo systemctl start jenkinssudo systemctl status jenkins# 这个时候就启动报错,然后接着修改vim /lib/systemd/system/jenkins.service# 本来是jenkins的,改成rootUser=rootGroup=root# 执行,就可以了,不知道为啥sudo systemctl daemon-reloadsudo systemctl start jenkinssudo systemctl status jenkins jenkins使用root账号登录设置1 设置2 权限管理1.安装插件,Role-based Authorization Strategy 2.点击 管理系统–>安全段落下的–>全局安全配置,选中 3.管理系统–>安全段落下的 就会多一个功能

2022-11-19
Excel
行和列隐藏或显示行和列在电子表格中隐藏或取消隐藏列,以仅显示需要查看或打印的数据 📌 不影响计算 隐藏列 选择一个或多个列,然后按 Ctrl 选择不相邻的其他列。 右键单击选定的列,然后选择隐藏。📌 两列之间的双线表示隐藏了一个列。 ✅ 参考:微软官方文档 取消隐藏列 选择隐藏列的相邻左列和相邻右列。 右键单击选定的列,然后选择“取消隐藏”。 或双击隐藏列所存在的两列之间的双线。 自定义列的格式比如这里要设置列的格式是 年月日星期几 默认的日期和时间是没有符合要求的 自定义设置 📌 这样设置之后,比如在单元格里值设置的是 2021-01-02实际上显现的会是 2021年1月2日 星期几 ✅ 参考:微软官方文档

2022-11-19
Mac
快捷键 描述 命令 一个应用多个窗口 切换 command+` 录屏幕 shift+command+5 截图 shift+command+4 重装系统 先一直按住不要松手:Common+R,再按开机键;非苹果键盘,按住微软键+R 上一级目录 command+↑ 网站链接 一招解决 Chrome / Edge 浏览器卡顿变慢视频掉帧问题 - 让浏览器重回丝般流畅 AltTab iphone强制重启 浏览器返回手势 放歌有噪音通过【活动监视器】程序终止【coreaudiod】进程: 聚焦搜索】中输入【activity monitor】 在窗口右上角的搜索栏里输入【coreaudiod】 选择【coreaudiod】进程后,点击窗口上方工具栏中的【停止按钮】(按钮图标为X) 只有mac不能访问github 打开https://github.com.ipaddress.com/ 打开https://fastly.net.ipaddress.com/github.global.ssl.fastly.net#ipinfo sudo vim /etc/hosts 1234# 这个ip从第一步获取到的140.82.112.4 github.com# 这个ip从第二步获取到的199.232.69.194 github.global.ssl.fastly.net 刷新:sudo killall -HUP mDNSResponder;say DNS cache has been flushed 启动台有问号的图标,点击没反应123# 执行了之后,自己新建的文件夹会重置defaults write com.apple.dock ResetLaunchPad -bool TRUEkillall Dock Mac OS X 访问 Windows共享文件夹 在Mac中,点击 Finder菜单的“前往” > “前往服务器”。在弹出的连接服务器对话框中输入「smb://Windows主机的IP地址」,点击“连接”。 一般需要输入Windows对应用户的名称和密码,然后弹出如下窗口,选择对应的文件夹,点击“好”即可进行远程访问 只使用搜狗输入法系统偏好设置 >> 键盘 >> 快捷键 >> 反选切换输入法的快捷键 网络踪迹1traceroute ap-southeast-1.signin.aws.amazon.com 安装mysql客户端1234567brew install mysql-client# 安装目录在/opt/homebrew/Cellar/mysql-client/8.0.33_1 # mysqldump的目录/opt/homebrew/opt/mysql-client/bin/mysqldump Iterm2Iterm2多窗口同时输入命令只需要输入快捷键 ⌘(command) + ⇧(shift) + i 调出复制过的文本历史快捷键:“shift+cmd+h” 按键回放回放一段时间内的你敲过的所有字符。快捷键:“cmd+alt+b”,如图会弹出一个进度条,按左右键就可以实现按键回放了。 CheatSheet1234brew install cheatsheet# 使用随便在一个软件中 长按`command` Navicat破解gitee脚本 mac安装 protobuf123brew install protobufprotoc --version/opt/homebrew/share/emacs/site-lisp/protobuf 视频格式转换12345brew install ffmpeg# 使用这个命令ffmpeg -i input.mov -c copy output.mp4 # 不要用这个命令,网上说是速度很慢ffmpeg -i input.mov output.mp4

2022-11-19
IDEA
教程IDEA查看方法被调用 修改光标所在行背景颜色 断点判断条件在断点上点右键,正常的写判断代码就行 插件Rabinbow Brackets作者:Zhihao Zhang 使用方法 Command+右键,高亮选中部分 Alt+右键,高亮选中部分,其余的代码变暗 CommitMessage作者:郭翰林 使用方法,提交的时候,点击✈️的图标 Codeium作者:Codeium 写代码的时候会有自动提示,按tab确定使用AI生成的代码 Key Promoter XTranslation作者:Yii.Guxing 选中要翻译的内容,右键选择翻译 IDEA 2025恢复旧版Commit弹窗从IntelliJ IDEA 2025版本开始,JetBrains默认启用了非模态提交界面(Non-modal Commit),提交操作会显示在Commit工具窗口里,不再是以前独立弹出的Commit窗口. 如果更习惯旧版弹窗式Commit窗口,可以通过官方插件恢复. 安装插件 打开Settings,macOS是Preferences 进入Plugins 搜索Modal Commit 安装JetBrains官方插件Modal Commit Interface 重启IDEA 开启旧版提交窗口 打开Settings 进入Advanced Settings 搜索commit 在Version Control区域勾选Use modal commit interface for Git and Mercurial 点击Apply或者OK保存 配置完成后,Git和Mercurial提交时会恢复成旧版独立弹窗式Commit对话框.

2022-11-19
ElasticSearch
手动安装7.x手动安装单机ElasticSearch7.x123456789101112131415161718192021222324252627282930# 下载tar包,(6.6.2)wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.2.tar.gz# 解压缩之后修改配置文件vi /elasticsearch-7.10.1/config/elasticsearch.ymlnetwork.host: 0.0.0.0 #设置成外网也可以访问# 追加内容,修改系统环境该变量,修改完需要重启才能生效vi /etc/sysctl.confvm.max_map_count=262144# 加载参数anthony@base:/usr/local/elasticsearch-6.6.2$ sudo sysctl -pvm.max_map_count = 262144# 允许打开的最大文件描述,加入vim /etc/security/limits.conf* soft nofile 65536* hard nofile 65536* soft nproc 4096 或者(65536)* hard nproc 4096 或者(65536)# 修改JVM分配大小 这两个值要一致vi config/jvm.options-Xms4g-Xmx4g# 启动bin/elasticsearchbin/elasticsearch -d #后台启动 安装分词器下载解压缩的哦elasticsearch的plugin目录下IK分词器https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v6.6.2 1POST /_analyze { "analyzer": "ik_smart", "text": " 程序员 } 拼音分词器https://github.com/medcl/elasticsearch-analysis-pinyin/releases/tag/v6.6.2 12345GET /medcl/_analyze { "text": ["程序员"], "analyzer": "pinyin_analyzer" } 报错原因: 1234567891011# chown -R 用户名:用户名 目录名Exception in thread "main" java.nio.file.AccessDeniedException: /root/home/searchengine/elasticsearch-6.2.4/config/jvm.options at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) at sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:214) at java.nio.file.Files.newByteChannel(Files.java:361) at java.nio.file.Files.newByteChannel(Files.java:407) at java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:384) at java.nio.file.Files.newInputStream(Files.java:152) at org.elasticsearch.tools.launchers.JvmOptionsParser.main(JvmOptionsParser.java:58) 手动安装集群ElasticSearch7.x1.修改一台elasticsearch的elasticsearch.yml 1234567891011cluster.name: kkb-esnode.name: node0node.master: truenetwork.host: 0.0.0.0http.port: 9200transport.tcp.port: 9300discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]discovery.zen.minimum_master_nodes: 2http.cors.enabled: truehttp.cors.allow-origin: "*" 2.拷贝到其他的服务器 修改上面呢的配置文件中的3个配置 123node.name: node0http.port: 9200transport.tcp.port: 9300 3.检查健康状态 1http://localhost:9200/_cat/health?v 手动单机Kibana7.x安装1234567891011# 下载解压https://artifacts.elastic.co/downloads/kibana/kibana-6.6.2-linux-x86_64.tar.gz# 修改配置文件vi kibana-6.4.2-linux-x86_64/config/kibana.ymlserver.port: 5600server.host: "0.0.0.0"elasticsearch.url: "http://localhost:9200"# 启动,后台启动./bin/kibana & 手动单机Logstash7.x安装mysql-connector-java-5.1.48.jar是放在logstash-6.6.2/logstash-core/lib/jars,这样就不需要写相对路径了 12345678910111213141516171819202122input { jdbc { jdbc_driver_library => "mysql-connector-java-5.1.48.jar" jdbc_driver_class => "com.mysql.jdbc.Driver" jdbc_connection_string => "jdbc:mysql://192.168.111.128:3306/ssm" jdbc_user => "root" jdbc_password => "123456" jdbc_paging_enabled => "true" jdbc_page_size => "2" statement => "SELECT id,'name',phone FROM phone where update_data >= :sql_last_value" tracking_column_type => "timestamp" tracking_column => "update_date" schedule => "* * * * *" }}output { elasticsearch { index => "phone" document_id=> "%{id}" hosts => ["http://192.168.111.128:9200"] }} 启动命令 1./logstash -f ../config/logstash-sample.conf 手动安装8.x 📌 8.0 已经自带了jdk 二进制包安装ES安装12345# 下载包并解压wget https://xxxx.tar# 启动./elasticsearch./bin/elasticsearch 运行结果123456789101112131415161718192021✅ Elasticsearch security features have been automatically configured!✅ Authentication is enabled and cluster connections are encrypted.ℹ️ Password for the elastic user (reset with `bin/elasticsearch-reset-password -u elastic`): Shb2+OuCKthxFTxD-*jEℹ️ HTTP CA certificate SHA-256 fingerprint: ceb6add33653a4c8f3493bddde839cdfcf1035a3a50cb01247962495f15ea40fℹ️ Configure Kibana to use this cluster:• Run Kibana and click the configuration link in the terminal when Kibana starts.• Copy the following enrollment token and paste it into Kibana in your browser (valid for the next 30 minutes): eyJ2ZXIiOiI4LjAuMCIsImFkciI6WyIxMC4wLjIuNDo5MjAwIl0sImZnciI6ImNlYjZhZGQzMzY1M2E0YzhmMzQ5M2JkZGRlODM5Y2RmY2YxMDM1YTNhNTBjYjAxMjQ3OTYyNDk1ZjE1ZWE0MGYiLCJrZXkiOiJXaEV4SDM4QlZXV242cU9KejgxNTprUVliUEY0dlJfaU56MnRFaDlRY0hnIn0=ℹ️ Configure other nodes to join this cluster:• On this node: ⁃ Create an enrollment token with `bin/elasticsearch-create-enrollment-token -s node`. ⁃ Uncomment the transport.host setting at the end of config/elasticsearch.yml. ⁃ Restart Elasticsearch.• On other nodes: ⁃ Start Elasticsearch with `bin/elasticsearch --enrollment-token <token>`, using the enrollment token that you generated. 停止服务,修改配置文件然后输入:curl 127.0.0.1:9200,返回是: 12[hy@localhost ~]$ curl 127.0.0.1:9200curl: (52) Empty reply from server 而ES那边也有响应 123# 看来这和以前的7.1.1版本不一样了[2022-02-19T05:02:02,812][WARN ][o.e.x.s.t.n.SecurityNetty4HttpServerTransport] [localhost.localdomain] received plaintext http traffic on an https channel, closing connection Netty4HttpChannel{localAddress=/127.0.0.1:9200, remoteAddress=/127.0.0.1:38518}[2022-02-19T05:02:27,144][WARN ][o.e.x.s.t.n.SecurityNetty4HttpServerTransport] [localhost.localdomain] received plaintext http traffic on an https channel, closing connection Netty4HttpChannel{localAddress=/[0:0:0:0:0:0:0:1]:9200, remoteAddress=/[0:0:0:0:0:0:0:1]:56174} 修改配置文件 123456789# 需要把security features都关闭,否则http不对外服务了# true改成falsexpack.security.http.ssl: enabled: false keystore.path: certs/http.p12# Enable encryption and mutual authentication between cluster nodesxpack.security.transport.ssl: enabled: false 测试访问12http://localhost:9200需要输入账号和密码:elastic / Shb2+OuCKthxFTxD-*jE java访问测试12345<dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-client</artifactId> <version>8.0.0</version></dependency> 1234567891011121314151617181920212223242526272829@Bean(destroyMethod = "close")public RestClient restClient() throws CertificateException, IOException, KeyStoreException, NoSuchAlgorithmException, KeyManagementException { final CredentialsProvider credentialsProvider = new BasicCredentialsProvider(); credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials("elastic", "VWFjE60dbpKIjbajGJQ4")); Path caCertificatePath = Paths.get("E:\\es\\elasticsearch-8.0.0-windows-x86_64\\elasticsearch-8.0.0\\config\\certs\\http_ca.crt"); CertificateFactory factory = CertificateFactory.getInstance("X.509"); Certificate trustedCa; try (InputStream is = Files.newInputStream(caCertificatePath)) { trustedCa = factory.generateCertificate(is); } KeyStore trustStore = KeyStore.getInstance("pkcs12"); trustStore.load(null, null); trustStore.setCertificateEntry("ca", trustedCa); SSLContextBuilder sslContextBuilder = SSLContexts.custom() .loadTrustMaterial(trustStore, null); final SSLContext sslContext = sslContextBuilder.build(); RestClientBuilder builder = RestClient.builder( new HttpHost("localhost", 9200, "https")) .setHttpClientConfigCallback(httpClientBuilder -> { httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider); return httpClientBuilder.setSSLContext(sslContext); }); return builder.build();} 1234567//注入client@AutowiredRestClient restClient;Request request = new Request("GET","/ess_book/_doc/1");Response response = restClient.performRequest(request);return EntityUtils.toString(response.getEntity()); 集群安装ES全栈开发之ElasticSearch8.0分布式搜索引擎集群及其高可用测试 - 掘金 安装Kibana安装报错max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] 123456vim /etc/sysctl.confvm.max_map_count=****262144# 使生效sysctl -p**** 安装插件安装HEADHead是elasticsearch的集群管理工具,可以用于数据的浏览和查询 (1)elasticsearch-head是一款开源软件,被托管在github上面,所以如果我们要使用它,必须先安装git,通过git获取elasticsearch-head (2)运行elasticsearch-head会用到grunt,而grunt需要npm包管理器,所以nodejs是必须要安装的 (3)elasticsearch5.0之后,elasticsearch-head不做为插件放在其plugins目录下了。使用git拷贝elasticsearch-head到本地 cd /usr/local/ git clone git://github.com/mobz/elasticsearch-head.git (4)安装elasticsearch-head依赖包 [root@localhost local]# npm install -g grunt-cli [root@localhost _site]# cd /usr/local/elasticsearch-head/ [root@localhost elasticsearch-head]# cnpm install (5)修改Gruntfile.js [root@localhost _site]# cd /usr/local/elasticsearch-head/ [root@localhost elasticsearch-head]# vi Gruntfile.js 在connect–>server–>options下面添加:hostname:’*’,允许所有IP可以访问 (6)修改elasticsearch-head默认连接地址[root@localhost elasticsearch-head]# cd /usr/local/elasticsearch-head/_site/ [root@localhost _site]# vi app.js 将this.base_uri = this.config.base_uri || this.prefs.get(“app-base_uri”) || “
评论