skywalking学习之路---skywalking环境从零搭建

介绍

SkyWalking项目是由华为大牛吴晟开源的个人项目,目前已经加入Apache孵化器。SkyWalking项目的核心目标是针对微服务、Cloud Native、容器化架构提供应用性能监控和分布式调用链追踪功能,目前链路追踪和监控应用支持的组件包括主流框架和容器,如dubbo、motan、spring boot、spring cloud等。

整体架构如下图示:

整体主要分为三个部分:

1.skywalking-collector:链路数据归集器,数据可以保存在H2或ElasticSearch

2.skywalking-web:web的可视化管理后台,可以查看归集的数据

3.skywalking-agent:探针,用来收集和推送数据到归集器

环境搭建

接下来就从零开始搭建一套skywalking环境

第一步:安装Elasticsearch

1.下载Elasticsearch

curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.10.tar.gz

2.解压压缩包

tar -vxf elasticsearch-5.6.10.tar.gz

3.配置elasticsearch参数

cd /elasticsearch-5.6.10/config

vim elasticsearch.yml

设置参数:

cluster.name: CollectorDBCluster

node.name: CollectorDBCluster

network.host: 127.0.0.1

4.启动ElasticSearch

./bin/elasticsearch

发现启动失败,提示报错

OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error=‘Cannot allocate memory‘ (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 2060255232 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /home/elasticsearch-5.6.10/hs_err_pid1738.log

查询资料发现是jvm内存设置问题,继续修改参数配置。

cd config

vim jvm.options

设置参数 -Xms4g 和 -Xmx4g  将-Xms2g和-Xmx2g注释 如下图示

再重新启动elasticsearch,发现再次启动失败,错误信息为:

Exception in thread "main" java.lang.RuntimeException: don‘t run elasticsearch as root.
        at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:93)
        at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:144)
        at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:285)
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)
        Refer to the log for complete error details.

原因是Elasticsearch是不允许使用root账户启动,所以需要切换到其他用户再启动,最终elasticsearch启动成功。

[2019-03-26T23:40:37,583][INFO ][o.e.n.Node               ] [] initializing ...
[2019-03-26T23:40:37,677][INFO ][o.e.e.NodeEnvironment    ] [5DFSDCK] using [1] data paths, mounts [[/ (/dev/disk1s1)]], net usable_space [187.5gb], net total_space [233.4gb], spins? [unknown], types [apfs]
[2019-03-26T23:40:37,678][INFO ][o.e.e.NodeEnvironment    ] [5DFSDCK] heap size [1.9gb], compressed ordinary object pointers [true]
[2019-03-26T23:40:37,679][INFO ][o.e.n.Node               ] node name [5DFSDCK] derived from node ID [5DFSDCK_QhibMsJg734Ysg]; set [node.name] to override
[2019-03-26T23:40:37,679][INFO ][o.e.n.Node               ] version[5.6.10], pid[22167], build[b727a60/2018-06-06T15:48:34.860Z], OS[Mac OS X/10.13.6/x86_64], JVM[Oracle Corporation/Java HotSpot(TM) 64-Bit Server VM/1.8.0_191/25.191-b12]
[2019-03-26T23:40:37,679][INFO ][o.e.n.Node               ] JVM arguments [-Xms2g, -Xmx2g, -XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -Djdk.io.permissionsUseCanonicalPath=true, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Dlog4j.skipJansi=true, -XX:+HeapDumpOnOutOfMemoryError, -Des.path.home=/Users/xingwuxu/tools/elasticsearch-5.6.10]
[2019-03-26T23:40:38,317][INFO ][o.e.p.PluginsService     ] [5DFSDCK] loaded module [aggs-matrix-stats]
[2019-03-26T23:40:38,317][INFO ][o.e.p.PluginsService     ] [5DFSDCK] loaded module [ingest-common]
[2019-03-26T23:40:38,317][INFO ][o.e.p.PluginsService     ] [5DFSDCK] loaded module [lang-expression]
[2019-03-26T23:40:38,317][INFO ][o.e.p.PluginsService     ] [5DFSDCK] loaded module [lang-groovy]
[2019-03-26T23:40:38,317][INFO ][o.e.p.PluginsService     ] [5DFSDCK] loaded module [lang-mustache]
[2019-03-26T23:40:38,317][INFO ][o.e.p.PluginsService     ] [5DFSDCK] loaded module [lang-painless]
[2019-03-26T23:40:38,317][INFO ][o.e.p.PluginsService     ] [5DFSDCK] loaded module [parent-join]
[2019-03-26T23:40:38,317][INFO ][o.e.p.PluginsService     ] [5DFSDCK] loaded module [percolator]
[2019-03-26T23:40:38,317][INFO ][o.e.p.PluginsService     ] [5DFSDCK] loaded module [reindex]
[2019-03-26T23:40:38,317][INFO ][o.e.p.PluginsService     ] [5DFSDCK] loaded module [transport-netty3]
[2019-03-26T23:40:38,318][INFO ][o.e.p.PluginsService     ] [5DFSDCK] loaded module [transport-netty4]
[2019-03-26T23:40:38,318][INFO ][o.e.p.PluginsService     ] [5DFSDCK] no plugins loaded
[2019-03-26T23:40:39,595][INFO ][o.e.d.DiscoveryModule    ] [5DFSDCK] using discovery type [zen]
[2019-03-26T23:40:39,976][INFO ][o.e.n.Node               ] initialized
[2019-03-26T23:40:39,976][INFO ][o.e.n.Node               ] [5DFSDCK] starting ...
[2019-03-26T23:40:40,167][INFO ][o.e.t.TransportService   ] [5DFSDCK] publish_address {127.0.0.1:9300}, bound_addresses {[::1]:9300}, {127.0.0.1:9300}
[2019-03-26T23:40:43,226][INFO ][o.e.c.s.ClusterService   ] [5DFSDCK] new_master {5DFSDCK}{5DFSDCK_QhibMsJg734Ysg}{PFrWZNI9RHWNAneytiifdA}{127.0.0.1}{127.0.0.1:9300}, reason: zen-disco-elected-as-master ([0] nodes joined)[, ]
[2019-03-26T23:40:43,242][INFO ][o.e.h.n.Netty4HttpServerTransport] [5DFSDCK] publish_address {127.0.0.1:9200}, bound_addresses {[::1]:9200}, {127.0.0.1:9200}
[2019-03-26T23:40:43,243][INFO ][o.e.n.Node               ] [5DFSDCK] started
[2019-03-26T23:40:43,248][INFO ][o.e.g.GatewayService     ] [5DFSDCK] recovered [0] indices into cluster_state

ElasticSearch启动成功,监听9200端口,此时在浏览器打开127.0.0.1:9200即可看到ElasticSearch的基本信息

第二步:安装skywalking

原文地址:https://www.cnblogs.com/jackion5/p/10604189.html

时间: 2024-11-13 10:45:24

skywalking学习之路---skywalking环境从零搭建的相关文章

osgi实战学习之路:2. maven+maven-bundle-plugin+karaf搭建osgi之HelloWorld

环境准备: jdk版本 jdk:1.7 karaf: 版本:apache-karaf-3.0.1 下载地址: http://pan.baidu.com/s/1qWM4Y1u http://karaf.apache.org/ 配置本地仓库: 参考:http://blog.csdn.net/wobendiankun/article/details/25333113 启动karaf: karaf_home/bin/karaf.bat 启动成功如下: 安装 mvn-hello-provider 到本地仓

JAVA学习之路(环境配置,)

最近过去的寒假我就开始看一些JAVA的学习视频了,视频是毕向东老师的,讲得还不错,东北口音,欧了没? 首先是一些基础概念. 1.JAVA的三种技术架构 企业版 J2EE 标准版 J2SE 小型版 J2ME 2.JAVA语言的特点:跨平台性 简言之,不同的平台都有与之对应的JVM.即Windows系统有win版的JVM,linux系统有linux版的JVM,Mac系统有Mac版的JVM,而JAVA程序是在这些虚拟机上开发的. 3.JAVA语言的环境搭建 自从sun公司被oracle收购以后,下载J

kivy学习之路--开发环境架设之linux篇

这是初稿,应该会进一步修改,毕竟图文并茂更好食用,建议和意见尽管评论吧,一起进步!上一篇在51cto上面,以后应该会都在这里发了,51cto的博客编辑系统真是磨人的小妖精 0x01 系统配置 系统和python参数 Linux gnu-VirtualBox 3.16.0-23-generic #31-Ubuntu SMP Tue Oct 21 18:00:35 UTC 2014 i686 i686 i686 GNU/Linux Python 2.7.8 Lubuntu 14.10 0x02  安

VUE学习之路一环境/项目创建

vue环境安装 nodejs 需要配置环境变量 脚手架安装工具 npm install --global vue-cli / cnpm install --global vue-cli //安装cnpm命令时需要配置淘宝镜像 创建项目 创建的位置必须要先CD到相应的目录下 cli2.X    创建: vue init webpack project-name     运行:npm run dev cli3.x    vue create webpack project-name npm run

Android开发学习之路-编程环境初探

第一个helloworld程序.各文件浅析. 1.AndroidManifest.xml 是android应用程序的工程描述文件,包含了宏观上的内容 .application(表示应用程序)标签中包含了一个activity(表示活动),基本上每一个页面都是一个活动,一个应用程序中可能可以包含多个活动,应该需要在这里修改,也就是包含多个页面,比如滑动到另一个页面.这里面application中有些基础定义,allowBackup,icon,label(就是应用程序名称),them这里应该是可选的,

springmvc学习笔记(一) -- 从零搭建,基础入门

1.新建maven项目 参考mybatis学习笔记(五) -- maven+spring+mybatis从零开始搭建整合详细过程(上)第一部分,修改配置 2.修改pom.xml 文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mav

DevOps环境从零搭建(一)

之前在项目中已经用了jenkins作为测试环境代码发布工具,sonar作为静态代码检查工具,idea作为开发工具,jira作为缺陷管理平台,upstream作为code review工具(正在研究).DevOps最近比较火热,但是核心貌似都是jenkins,18年准备搭建一套规范化的平台. 环境:CentOS Linux release 7.4.1708 1.安装Java在Oracle官网下载jdk-8u162(当然是下最新的jdk8)由于系统已经安装了自带的openjdk检查安装的openjd

Hadoop学习之路(1)腾讯云搭建Hadoop3集群

1主机名和IP配置 1.1主机名 1.首先使用root用户名和root密码分别登录三台服务器2.分别在三台虚拟机上执行命令:hostnamectl set-hostname node1hostnamectl set-hostname node2hostnamectl set-hostname node33.分别在三台服务器上执行logout 1.2 IP设置 systemctl restart network 2配置免密登录 2.1 生成公钥和私钥 使用此命令:ssh-keygen -t rsa

C语言学习之路

C语言学习之路之环境准备 Hello,大家好,我的专业是软件工程,自从大一的时候,和很多人一样,在懵懂中学习了C语言~哈,不过呢,这门语言是真的很基础,也很重要!所以呢,如果是想要在IT行业大显身手的话,就必须对这门语言有所了解.那么,开始我们的探索之路吧,GO~ 工欲善其事,必先利其器!要学好这门语言,我们需要几个工具:一,是一本参考书,本人推荐使用<C Primer Plus>这本书,个人觉得这本书写的很好,推荐大家入门使用,还有一本书是<深入理解C指针>:二,是一款好的编译器