本文重要是Apache Skywalking单机部署的场景,Apache Skywalking的架构模式是高度模块化的,所以如果业务量不大的话单机完全可以满足日常需求,本篇为Apache Skywalking系列的第一篇文章,后面我们产品交付组会持续输出关于Apache Skywalking的相关文章,包括但不限于Apache Skywalking架构、使用、代码层面的内容。
当时 Apache Skywalking 对于 Elasticsearch 变更许可证的回应是“由于 SSPL 和 Apache License 2.0 不兼容,不能再仅使用 Elasticsearch,会考虑其他存储方案,例如同为 Apache License 2.0 许可的 InfluxDB、TiDB 和 H2 Server”,甚至还计划构建为自己所用的存储方案。
上个月,AWS 宣布推出 OpenSearch 项目,这是 fork 自 Elasticsearch 和 Kibana 的开源分支。OpenSearch 项目由 OpenSearch (fork Elasticsearch 7.10.2) 和 OpenSearch Dashboards (fork Kibana 7.10.2) 组成,包括企业安全、告警、机器学习、SQL、索引状态管理等功能。OpenSearch 项目中的所有软件均采用了 Apache License 2.0 开源许可协议。包括红帽、SAP、Capital One 和 Logz.io 等在内的多个组织也参与维护这个新的 Elasticsearch 分支。
Apache Skywalking 称此消息公布后,他们就开始评估使用 OpenSearch 作为 SkyWalking 的存储方案。经过多次测试,现在正式宣布使用 OpenSearch 取代 Elastcsearch 作为存储方案。
JDK准备
▼▼▼Vi etc/profileexport JAVA_HOME=/usr/local/javaexport JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATHexport JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/binexport PATH=$PATH:${JAVA_PATH}
修改配置文件
▼▼▼cluster.name: apmnode.name: node-1 bootstrap.memory_lock: truenetwork.host: 0.0.0.0http.port: 9200path.data: home/ampdcp/elasticsearch/datapath.logs: home/ampdcp/elasticsearch/logscluster.initial_master_nodes: ["node-1"]cluster.max_shards_per_node: 3000
Jvm调优
▼▼▼vim data/elasticsearch/config/jvm.options-Xms1g 修改为 ===> -Xms2g-Xmx1g 修改为 ===> -Xmx2g
看情况给,给物理内存一半最佳
操作系统调优
在/etc/sysctl.conf添加如下内容
▼▼▼fs.file-max=655360vm.max_map_count=655360sysctl -p 使配置生效
1) vm.max_map_count=655360
系统最大打开文件描述符数
2) vm.max_map_count=655360
限制一个进程拥有虚拟内存区域的大小
修改
▼▼▼vim etc/security/limits.conf* soft nofile 65536* hard nofile 65536* soft nproc 65536* hard nproc 65536* soft memlock unlimited* hard memlock unlimited
(nproc)最大用户进程数
(memlock)最大锁定内存地址空间
▼▼▼* soft nproc 1024 修改前* soft nproc 65536 修改后mkdir -p data/elasticsearch/logs/touch data/elasticsearch/logs/escluster_deprecation.logchown -R shsnc:shsnc data/elasticsearchchown -R shsnc:shsnc usr/local/java
以下操作在普通用户执行
▼▼▼su - shsncsource /etc/profilecd /date/elasticsearch/bin./elasticsearch -d
下载介质
wget https://mirrors.tuna.tsinghua.edu.cn/apache/skywalking/8.4.0/apache-skywalking-apm-es7-8.4.0.tar.gz
解压安装包
▼▼▼su - shsncmkdir snc-apmmv apache-skywalking-apm-es7-8.4.0.tar.gz snc-apmtar -zxvf apache-skywalking-apm-es7-8.4.0.tar.gzmv apache-skywalking-apm-bin-es skywaling
修改配置文件
vi conf/application.yml
修改第106行,存储类型为elasticsearch7
▼▼▼storage: selector: ${SW_STORAGE:elasticsearch7}
修改第136行, elasticsearch7连接地址,如果是集群直接后面写就可以(10.2.158.105:9200,10.2.158.106:9200,10.2.158.107:9200)
▼▼▼elasticsearch7: nameSpace: ${SW_NAMESPACE:""} clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:10.2.158.42:9200}
▼▼▼bulkActions: ${SW_STORAGE_ES_BULK_ACTIONS:4000}
开启自监控
修改第346行为,使用prometheus作为监控项
▼▼▼telemetry: selector: ${SW_TELEMETRY:prometheus} none: prometheus: host: ${SW_TELEMETRY_PROMETHEUS_HOST:0.0.0.0} port: ${SW_TELEMETRY_PROMETHEUS_PORT:1234} sslEnabled: ${SW_TELEMETRY_PROMETHEUS_SSL_ENABLED:false} sslKeyPath: ${SW_TELEMETRY_PROMETHEUS_SSL_KEY_PATH:""} sslCertChainPath: ${SW_TELEMETRY_PROMETHEUS_SSL_CERT_CHAIN_PATH:""}
修改281行,
▼▼▼prometheus-fetcher: selector: ${SW_PROMETHEUS_FETCHER:-} default: enabledRules: ${SW_PROMETHEUS_FETCHER_ENABLED_RULES:"self"} active: ${SW_PROMETHEUS_FETCHER_ACTIVE:true}
初始化skywalking
sh bin/oapServiceInit.sh
启动skywalking
sh bin/startup.sh
访问前端


更多精彩干货分享
点击下方名片关注
IT那活儿





