centos7 Nacos+Elasticsearch+SkyWalking
安装包下载
- nacos
下载地址:https://github.com/alibaba/nacos/releases - es
下载地址:https://www.elastic.co/cn/downloads/ - skywalking
下载地址一:https://www.apache.org/dyn/closer.cgi/skywalking
下载地址二:http://skywalking.apache.org/downloads/ - 注意事项
es版本如果是下载的最新版本,需配置自带的高版本jdk到环境变量中,es启动需切换到普通用户。
如果es是最新版或7.0+版本,skywalking版本下载es7的二进制包,否则会启动失败。
nacos安装部署
有关nacos介绍,可参考官网介绍或其他文章,此处直接开搂。
- 下载并解压
wget https://github.com/alibaba/nacos/releases/download/1.3.1/nacos-server-1.3.1.tar.gz
tar xf nacos-server-1.3.1.tar.gz
mv nacos-server-1.3.1 /data/nacos
cd /data/nacos
- 修改配置
cp conf/application.properties conf/application.properties.origin
vim conf/application.properties
#nacos 此处修改默认端口,防止与本地端口冲突。
#contextPath默认地址建议不要更改,启动时需要在端口后面添加此路径来访问页面,例如:192.168.20.100:8001/nacos
#其它默认即可。
- 初始化数据库
nacos集群需要和mysql数据库连接,此处为单实例部署,为了效果采用测试环境mysql。
导入nacos数据库脚本:nacos-mysql.sql, schema.sql
- 启动服务
单实例模式运行:
sh bin/startup.sh -m standalone
#日志文件log目录中查看
- 浏览器访问
http://ip:port/nacos
默认账户密码:nacos/nacos - 集群模式
在实际生产环境中Nacos肯定都是集群模式,一般而言,集群模式至少3个节点。
集群配置文件在安装文件夹conf下cluster.conf,将每个nacos节点按照IP:PORT格式配置即可,按行分割。
启动命令sh startup.sh,不带任何参数。
部署过程请自行完成。
elasticsearch安装部署
- 下载安装包
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.0-linux-x86_64.tar.gz
tar xf elasticsearch-7.8.0-linux-x86_64.tar.gz
mv elasticsearch-7.8.0 /data/elasticsearch
- 配置es
cd /data/elasticsearch
#修改前先备份
sed '/^#/d' config/elasticsearch.yml
cluster.name: senyint
node.name: node-1
path.data: /data/elasticsearch/data
path.logs: /data/elasticsearch/logs
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["node-1"]
#####
es启动内存可以修改,但不要太小,
vim config/jvm.options
-Xms1g
-Xmx1g
#其它默认即可
#创建目录,es启动不会自动创建,需要手动创建
mkdir /data/elasticsearch/data
mkdir /data/elasticsearch/logs
- 启动es
#es启动前需配置jdk和创建es启动用户
useradd es
vim bin/elasticsearch-env
# 39,40行插入jdk环境变量
39 export JAVA_HOME=/data/elasticsearch/jdk
40 export PATH=$JAVA_HOME/bin:$PATH
#修改系统配置
sed /^#/d /etc/security/limits.conf
* soft core 0
* hard core 0
* soft nofile 655360
* hard nofile 655360
* soft nproc 4096
* hard nproc 4096
#打开文件数
vim /etc/sysctl.conf
vm.max_map_count=262144
#立即生效
sysctl -p
# 如果配置了iptables,请自行加入策略。
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9200 -j ACCEPT
#修改目录权限
chown -R es.es /data/elasticsearch
su es
#后台启动
sh bin/elasticsearch -d
#查看java进程
es启动后会同时监听9200和9300端口号
访问页面会显示版本号和一些配置信息
skywalking安装部署
- 下载安装包
wget https://mirror.bit.edu.cn/apache/skywalking/8.0.1/apache-skywalking-apm-es7-8.0.1.tar.gz
tar xf apache-skywalking-apm-es7-8.0.1.tar.gz
mv apache-skywalking-apm-es7-8.0.1 /data/skywalking
- 修改配置文件
#修改前先备份
vim config/application.yml
#其他配置不需要动,也无须注释h2部分配置。
#web页配置
vim webapp/webapp.yml
- 启动sky
#同时启动
sh bin/startup.sh
#单独启动
sh bin/oapService.sh
sh bin/webappService.sh
#启动sky前要确保es已经正常运行
#jps查看
- 浏览器访问
- agent客户端安装
java服务应用agent时,只需修改agent配置即可
vim config/agent.config
agent.service_name=${SW_AGENT_NAME:javaname}
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:192.168.20.100:11800}
logging.file_name=${SW_LOGGING_FILE_NAME:skywalking-api.log}
logging.level=${SW_LOGGING_LEVEL:INFO}
- 启动java时应用agent
java -javaagent:/data/agent/skywalking-agent.jar -jar admin.jar
#如果是docker中运行的java 需将agent目录添加到容器中
#可在Dockerfile中加入
cat Dockerfile
....
ADD admin.jar /data/webserver/
ADD agent.tar.gz /data/
ENV SKY_AGENT /data/agent/skywalking-agent.jar
....
#start.sh脚本中添加
$_EXECJAVA -javaagent:$SKY_AGENT -jar $JAVANAME --server.port=80 --nacos.url=192.168.20.100
#启动后,容器中指定目录会有日志生成,可以排查问题。
#正常启动后访问sky web页面
#拓扑图只有服务之间相互访问、调用后会产生,如果没有生成拓扑图可以打开java应用访问几次