软件包版本
1、elasticsearch-6.2.4.tar.gz,下载地址:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.tar.gz
2、kibana-6.2.4-linux-x86_64.tar.gz,下载地址:https://artifacts.elastic.co/downloads/kibana/kibana-6.2.4-linux-x86_64.tar.gz
3、apache-skywalking-apm-6.5.0.tar.gz,下载地址:http://mirrors.tuna.tsinghua.edu.cn/apache/skywalking/6.5.0/apache-skywalking-apm-6.5.0.tar.gz
将以上三个软件包上传至服务器/home/skywalking/路径下

注:skywalking6.0开始,最低要求elasticseach6.3.x及以上版本(之前安装上面的版本后,启动发现服务项及JVM等信息不能展示),我重新下了个https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.0.0-linux-x86_64.tar.gz

一、安装ES

1、创建安装路径
   mkdir /usr/local/es

2、解压软件包
   tar -zxvf /usr/local/src/elasticsearch-6.3.2.tar.gz -C /usr/local/es

3、创建独立用户与组(root用户下创建设定)
   (1)创建用户组
   groupadd es
   (2)创建用户es,并添加至用户组es
   useradd -g es es
   (3)设置密码
   passwd es
   New password:duanxz123
   Retype new password:duanxz123
  (4)使es用户拥有执行权限
   visudo

   root    ALL=(ALL)       ALL
es ALL=(ALL) ALL # 这个新增行

4、更改软件包属主属组

[root@localhost elasticsearch-6.2.4]# chown -R es:es /home/skywalking/es/elasticsearch-6.2.4/
[root@localhost elasticsearch-6.2.4]# ls -l /home/skywalking/elasticsearch-6.2.4.tar.gz
bin/ config/ es-data/ es-logs/ lib/ LICENSE.txt logs/ modules/ NOTICE.txt plugins/ README.textile
[root@localhost elasticsearch-6.2.4]# ls -l /home/skywalking/es/elasticsearch-6.2.4/
总用量 224
drwxr-xr-x. 2 es es 4096 11月 21 19:36 bin
drwxr-xr-x. 2 es es 75 11月 21 19:42 config
drwxr-xr-x. 2 es es 6 11月 21 19:42 es-data
drwxr-xr-x. 2 es es 174 11月 21 19:56 es-logs
drwxr-xr-x. 2 es es 4096 4月 13 2018 lib
-rw-r--r--. 1 es es 11358 4月 13 2018 LICENSE.txt
drwxr-xr-x. 2 es es 30 11月 21 19:56 logs
drwxr-xr-x. 16 es es 4096 4月 13 2018 modules
-rw-r--r--. 1 es es 191887 4月 13 2018 NOTICE.txt
drwxr-xr-x. 2 es es 6 4月 13 2018 plugins
-rw-r--r--. 1 es es 9268 4月 13 2018 README.textile
[root@localhost elasticsearch-6.2.4]#

5、切换到es用户,编辑配置文件,准备启动es

   # 设定es群集名称
cluster.name: my-es-skywalking
# es当前节点名称,用于区分不同节点
node.name: node-1 # 修改数据目录,此目录为自定义,需要在root用户下创建,且属主属组更改为es
path.data: /home/skywalking/es/elasticsearch-6.2.4/es-data
# 日志目录位置,需自己创建,方式同上
# yum安装则系统自定义,在软件版本或者系统升级时会被删除,所以建议修改
path.logs: /home/skywalking/es/elasticsearch-6.2.4/es-logs
# elasticsearch官网建议生产环境需要设置bootstrap.memory_lock: true
bootstrap.memory_lock: true
# 监听访问地址为任意网段
network.host: 0.0.0.0
# 服务监听端口
http.port: 9200

6、编辑完成配置文件后,数据目录以及日志文件目录需要创建

   sudo mkdir -p /home/skywalking/es/elasticsearch-6.2.4/es-data
sudo mkdir -p /home/skywalking/es/elasticsearch-6.2.4/es-logs
sudo chown -R es:es /data/
sudo chown -R es:es /var/log/es

7、准备工作完成,启动es
   cd /usr/local/es/elasticsearch-6.3.2/bin/
   ./elasticsearch  # 加上 -d 参数,后台运行
需要jdk环境,配置jdk:

vi /etc/profile
#set java environment
JAVA_HOME=/home/skywalking/jdk1.8
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH source /etc/profile
java -version

8、启动异常及解决之道
  (1)Caused by: java.lang.RuntimeException: can not run elasticsearch as root
  解决之道:
  su es
  然后,再./elasticsearch

(2)Java HotSpot(TM) 64-Bit Server VM warning: Cannot open file logs/gc.log due to Permission denied
     
     Exception in thread "main" org.elasticsearch.bootstrap.BootstrapException: java.nio.file.AccessDeniedException: /usr/local/es/elasticsearch-6.3.2/config/elasticsearch.keystore
     Likely root cause: java.nio.file.AccessDeniedException: /usr/local/es/elasticsearch-6.3.2/config/elasticsearch.keystore
     因为第一次启动不小心用了root启动,导致用root生成了对应的文件。切换es账号之后,没有对应文件的权限导致,删除相关的东西即可。
     
  解决之道:
  su root
  rm -rf /usr/local/es/elasticsearch-6.3.2/config/elasticsearch.keystore
 
  su es
  cd /usr/local/es/elasticsearch-6.3.2/bin/
  ./elasticsearch
 
  (3)2019-05-30 23:17:54,794 main ERROR Unable to locate appender "deprecation_rolling" for logger config "org.elasticsearch.deprecation"
     [2019-05-30T23:17:54,954][WARN ][o.e.b.JNANatives         ] Unable to lock JVM Memory: error=12, reason=Cannot allocate memory
     [2019-05-30T23:17:54,955][WARN ][o.e.b.JNANatives         ] This can result in part of the JVM being swapped out.
     [2019-05-30T23:17:54,955][WARN ][o.e.b.JNANatives         ] Increase RLIMIT_MEMLOCK, soft limit: 65536, hard limit: 65536
     [2019-05-30T23:17:54,956][WARN ][o.e.b.JNANatives         ] These can be adjusted by modifying /etc/security/limits.conf, for example:
             # allow user 'es' mlockall
             es soft memlock unlimited
             es hard memlock unlimited
   解决之道:
   vim /etc/security/limits.conf
   # 在末尾添加如下内容:
   * soft nofile 65536
   * hard nofile 131072
   es soft memlock unlimited
   es hard memlock unlimited
 
  (4)ERROR: [1] bootstrap checks failed
     [1]: memory locking requested for elasticsearch process but memory is not locked
    (5) [es@localhost bin]$ ./elasticsearch
已杀死
原因:内存太小,将虚拟机的内存调到10G

(6)max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

切换到root用户
执行命令:
sysctl -w vm.max_map_count=262144
查看结果:
sysctl -a|grep vm.max_map_count
显示:
vm.max_map_count = 262144

或者

在   /etc/sysctl.conf文件最后添加一行

vm.max_map_count=262144

#并执行命令: sysctl -p

即可永久修改

(7)ERROR: [1] bootstrap checks failed
[1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
修改
elasticsearch.yml
取消注释保留一个节点
cluster.initial_master_nodes: ["node-1"]

su es
  cd /usr/local/es/elasticsearch-6.3.2/bin/
  ./elasticsearch
 
  启动成功!!!
 
9、检查9200端口是否对外开放
(1)检查9200端口是否开放:netstat -ntap | grep 9200
(2)按照进程号杀掉:kill -9 pid
(3)查看已经开放的端口:firewall-cmd --list-ports
(4)开启端口:firewall-cmd --zone=public --add-port=9200/tcp --permanent
(5)重新载入防火墙的配置:firewall-cmd --reload
(6)重启:
 su es
 cd /usr/local/es/elasticsearch-6.3.2/bin/
 ./elasticsearch -d
 
 另一台电脑浏览器访问http://10.200.110.116:9200/,成功,如下所示:

{
"name" : "node-1",
"cluster_name" : "my-es-skywalking",
"cluster_uuid" : "ILucpOH_SKGBnFs3Jg9KPg",
"version" : {
"number" : "6.2.4",
"build_hash" : "ccec39f",
"build_date" : "2018-04-12T20:37:28.497551Z",
"build_snapshot" : false,
"lucene_version" : "7.2.1",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}

二、安装Kibana

1、创建安装路径
   mkdir /home/skywalking/es
2、解压软件包

/home/skywalking
[root@localhost skywalking]# tar -zxvf kibana-7.0.0-linux-x86_64.tar.gz -C /home/skywalking/es/

3、修改配置文件
(1)vim /home/skywalking/es/kibana-6.2.4-linux-x86_64/config/kibana.yml

# 服务端口号:
server.port: 5601

# 服务IP地址:
#server.host: "localhost"
server.host: "10.200.110.116"

# ES链接地址:
#elasticsearch.url: "localhost"
elasticsearch.url: "http://10.200.110.116:9200"

# 配置pid文件存储运行Kibana时的进程号,便于用kill -9 `cat /var/run/kibana.pid`来杀进程。
pid_file: /home/skywalking/es/kibana-6.2.4-linux-x86_64/run/kibana.pid

# 配置Kibana的日志输出位置:
logging.dest: /home/skywalking/es/kibana-6.2.4-linux-x86_64/kibana-log/kibana.log

(2)创建日志文件夹:mkdir /kibana-log和run

3、开放端口:
   firewall-cmd --list-ports
   firewall-cmd --zone=public --add-port=5601/tcp --permanent
   firewall-cmd --reload
4、目录赋权限 [root@localhost kibana-6.2.4-linux-x86_64]# chown -R es:es /home/skywalking/es/kibana-6.2.4-linux-x86_64/

5、启动
   cd /home/skywalking/es/kibana-6.2.4-linux-x86_64/bin
   ./kibana
   
   # 在后台不输出日志的方式运行
   cd /home/skywalking/es/kibana-6.2.4-linux-x86_64/bin
   nohup ./kibana > /dev/null 2>&1 &
   
6、访问
http://10.200.110.116:5601

三、安装Skywalking服务

1安装

cd /usr/local/src
tar -zxvf apache-skywalking-apm-incubating-6.0.0-GA.tar.gz
mv apache-skywalking-apm-incubating skywalking
mv skywalking/ /usr/local/

2配置
vim /usr/local/skywalking/config/application.yml
修改配置如下:
storage:

#h2记得都要注释了
#  h2:
#    driver: ${SW_STORAGE_H2_DRIVER:org.h2.jdbcx.JdbcDataSource}
#    url: ${SW_STORAGE_H2_URL:jdbc:h2:mem:skywalking-oap-db}
#    user: ${SW_STORAGE_H2_USER:sa}
  elasticsearch:
    # nameSpace: ${SW_NAMESPACE:""}
    clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:10.200.110.116:9200}
    indexShardsNumber: ${SW_STORAGE_ES_INDEX_SHARDS_NUMBER:2}
    indexReplicasNumber: ${SW_STORAGE_ES_INDEX_REPLICAS_NUMBER:0}
    # Batch process setting, refer to https://www.elastic.co/guide/en/elasticsearch/client/java-api/5.5/java-docs-bulk-processor.html
    bulkActions: ${SW_STORAGE_ES_BULK_ACTIONS:2000} # Execute the bulk every 2000 requests
    bulkSize: ${SW_STORAGE_ES_BULK_SIZE:20} # flush the bulk every 20mb
    flushInterval: ${SW_STORAGE_ES_FLUSH_INTERVAL:10} # flush the bulk every 10 seconds whatever the number of requests
    concurrentRequests: ${SW_STORAGE_ES_CONCURRENT_REQUESTS:2} # the number of concurrent requests

vim /usr/local/skywalking/webapp/webapp.yml
修改配置如下:
server:
  port: 18080

collector:
  path: /graphql
  ribbon:
    ReadTimeout: 10000
    # Point to all backend's restHost:restPort, split by ,
    listOfServers: 10.200.110.116:12800

3、开放端口:
   firewall-cmd --list-ports
   firewall-cmd --zone=public --add-port=18080/tcp --permanent

firewall-cmd --zone=public --add-port=11800/tcp --permanent

firewall-cmd --zone=public --add-port=12800/tcp --permanent
   firewall-cmd --reload

启动:
[root@localhost bin]# sh startup.sh
SkyWalking OAP started successfully!
SkyWalking Web Application started successfully!
[root@localhost bin]#

四、客户端代理:agent

实际开发时候,每一个jar包获取应用都应该单独使用一个agent,
所以将agent这个目录拷贝到各自对应的jar包路径下。

核心部分的目录信息如下:

├── activations
├── config
│   └── agent.config
├── logs
│   └── skywalking-api.log
├── optional-plugins
├── plugins
└── skywalking-agent.jar

其中,config/agent.config是最重要的,需要修改的核心参数如下所示

# 应用名称,当前代理的应用名称,用于UI界面分类和展示
agent.service_name=${SW_AGENT_NAME:Your_ApplicationName}
# 收集器的地址,这个根据实际情况设置,上述`Collector`在哪台服务器启动,ip就设置为多少。
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:10.200.110.116:11800}

开发11800、12800端口:
firewall-cmd --list-ports
firewall-cmd --zone=public --add-port=11800/tcp --permanent
firewall-cmd --reload

设置好参数后,对于 Java 应用,添加核心的-javaagent进行启动
java -javaagent:agent/skywalking-agent.jar -jar xxx.jar

java -javaagent:E:\work\skywalking\agent\skywalking-agent.jar -jar appsflyer-reflux-201905241004.jar

idea里启动,添加VM启动参数,例如:
-javaagent:.../agent/skywalking-agent.jar
-Dskywalking.agent.service_name=test_etl-local
-Dskywalking.collector.backend_service=172.16.254.131:11800

五、附:启动/关闭命令:
# 启动ES
su es
cd /usr/local/es/elasticsearch-6.3.2/bin/
./elasticsearch -d

# 关闭ES
netstat -ntap | grep 9200
kill -9 pid

# 启动kibana
su root
cd /usr/local/kibana/kibana-6.3.2-linux-x86_64/bin/
nohup ./kibana > /dev/null 2>&1 &

# 关闭kinana
kill -9 `cat /var/run/kibana.pid`

# 启动skywalking
cd /usr/local/skywalking/bin/
sh startup.sh

# 关闭skywalking
netstat -ntap | grep 8081
kill -9 pid

Centos 7.6搭建Skywalking6.5+es6.2.4的更多相关文章

  1. Centos vsftpd服务器搭建

    Centos vsftpd服务器搭建 时间:2016-07-18 1.最为简单的vsftpd服务器搭建 1.安装vsftpd 1.yum 安装 yum install vsftpd 2.rpm文件安装 ...

  2. CentOS 6.4 搭建git 服务器

    CentOS 6.4 搭建git 服务器 (2013-11-22 19:04:09)转载▼ 标签: it 分类: Linux 此文件是依据markdown所编写,更好效果参见本人github的文档ht ...

  3. CentOS使用virtualenv搭建独立的Python环境-python虚拟环境

    CentOS使用virtualenv搭建独立的Python环境-python虚拟环境 virtualenv可以搭建虚拟且独立的python环境,可以使每个项目环境与其他项目独立开来,保持环境的干净,解 ...

  4. 在CentOS 6上搭建私有的Docker Registry

    在CentOS 6上搭建私有的Docker Registry v2Registry概念 :Registry是一个无状态的, 高可扩展的服务器端应用程序, 用于存储和分发Docker Image. 依赖 ...

  5. Linux Centos 6.6搭建SFTP服务器

    Linux Centos 6.6搭建SFTP服务器 在Centos 6.6环境使用系统自带的internal-sftp搭建SFTP服务器. 打开命令终端窗口,按以下步骤操作. 0.查看openssh的 ...

  6. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.7. 配置资源与参数

    2.7.配置资源与参数 2.7.1. 修改主机名称 [root@linuxrac1 ~]# cd /etc/sysconfig [root@linuxrac1 sysconfig]# vi netwo ...

  7. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.6. 安装Oracle所依赖的必要包

    2.6. 安装Oracle所依赖的必要包 2.6.1. 检查Oracle所依赖的必要rpm包 [root@localhost /]#rpm -q binutils compat-libstdc elf ...

  8. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.5. 配置网络

    2.5. 配置网络 2.5.1. 配置网络 Oracle Rac数据库涉及到公用网络和私有网络,因此要做网络划分和IP地址规划,下表列出了要安装的RAC数据库对应的IP地址.主机名以及网络连接类型: ...

  9. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.4. 安装JDK

    2.4.安装JDK 2.4.1.准备JDK 在百度搜索:JDK下载 2.4.2.上传JDK put E:\软件安装文件\jdk-8u11-linux-x64.rpm /home/linuxrac1/D ...

随机推荐

  1. 二十三:原型模式详解(clone复制方法源码)

    定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象.                 定义比较简单,总结一下是通过实例指定种类,通过拷贝创建对象. 在JAVA语言中使用原型模式是非常 ...

  2. Vue笔记--同局域网下访问本地项目

    正常开发中有时间提测比较麻烦.通常让测试小姐姐连接开发本地开启的服务器访问本地项目(在同一局域网下). 其实一般项目IDE已经实现这些功能例如webstorm和vscode,有时候需要单独配置下. 但 ...

  3. 【android】关于call拨号功能实现的记录

    前几天考试居然记错dial和call,故在此写上小demo来作区别,加深印象. 主要是实现call(拨通电话)功能,dial(拨电话)功能用作对比,话不多说,贴上代码. 1.创建布局文件如下: < ...

  4. ZigBee究竟是什么?有什么用?

    ZigBee技术是一种近距离.低复杂度.低功耗.低速率.低成本的双向无线通讯技术.主要用于距离短.功耗低且传输速率不高的各种电子设备之间进行数据传输以及典型的有周期性数据.间歇性数据和低反应时间数据传 ...

  5. Arbitrage POJ - 2240

    题目链接:https://vjudge.net/problem/POJ-2240 思路:判正环,Bellman-ford和SPFA,floyd都可以,有正环就可以套利. 这里用SPFA,就是个板子题吧 ...

  6. php、mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳)

    php.mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳) //其中 video 是表名: //createtime 是字段: // //数据库time字段为时间戳 // //查询当天: ...

  7. 201871010125-王玉江《面向对象程序设计(java)》第十五周学习总结

    项目 内容 这个作业属于哪个课程 <任课教师博客主页链接> https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 <作业链接地址> ht ...

  8. VC 静态库与动态库(四)动态库创建与使用_显示调用

    在第三章的基础上,接着添加一个显示调用项目 显示调用项目创建: 1.给解决方案添加一个新的控制台项目DisplayCall用于测试动态库,创建完成后设置为启动项目 2.DisplayCall.cpp添 ...

  9. 12-numpy笔记-莫烦基本操作2

    代码 import numpy as np A = np.arange(3,15) print('-1-') print(A) print('-2-') print(A[3]) A = np.aran ...

  10. xgboost:

    https://www.zybuluo.com/Dounm/note/1031900 GBDT算法详解 http://mlnote.com/2016/10/05/a-guide-to-xgboost- ...