怎么做网站的导航,菜单设计制作模板免费,商丘中茂网络有限公司,百度网站排名抓取规则文章目录一、前置准备1. 部署总览2. 技术选型3. 全局配置4. 软件下载5. 操作声明二、jdk安装2.1. 上传2.2. 解压2.3. 设置环境变量三、zk集群3.1. 上传3.2. 解压3.3. 创建目录3.4. 编辑配置3.5. 添加配置3.6. myid3.8. 关闭防火墙3.9. 启动zk3.10. 监控状态3.11. 效果图四、kaf… 文章目录一、前置准备1. 部署总览2. 技术选型3. 全局配置4. 软件下载5. 操作声明二、jdk安装2.1. 上传2.2. 解压2.3. 设置环境变量三、zk集群3.1. 上传3.2. 解压3.3. 创建目录3.4. 编辑配置3.5. 添加配置3.6. myid3.8. 关闭防火墙3.9. 启动zk3.10. 监控状态3.11. 效果图四、kafka集群4.1. 上传4.2. 解压4.3. 数据目录4.4. 修改kafka的配置文件4.5. 依次启动kafka五、 验证集群5.1. 创建topic5.2. 启动生产者5.3. 启动消费者5.4. 生产消息5.5. 消费消息六、filebeat6.1.上传6.2. 解压6.3. 修改配置6.5. 启动filebeat七、logstash7.1. 上传7.2. 解压7.3. 新建配置7.4. 启动logstash7.5. 参数说明八、es集群8.1. 上传8.2. 解压8.3. 编辑配置8.4. 修改系统参数8.5. 启动es8.6. 监控日志8.7. 效果图九、node.js镜像9.1. 下载node.js9.2. 解压9.3. 重命名9.4. 创建软连接9.5. 验证9.6. cnpm镜像9.7. cnpm软连接十、安装es-head插件10.1. 下载插件10.2. 解压10.3. 安装依赖10.4. 配置10.5. 启动插件十一、安装kibana11.1. 上传到app目录并解压11.2. 修改配置11.3. 启动kibana11.4. 验证elk是否安装成功11.5. 防火墙配置一、前置准备
1. 部署总览
服务器部署组件开放端口192.168.159.136filebeateskafkazookeeperkibanazookeeper2181、2888、3888kafka9092es9200、9300、9100kibana5601192.168.159.137eskafkazookeeperlogstashzookeeper2181、2888、3888kafka9092es9200、9300、9100kibana5601192.168.159.138eskafkazookeepernodejszookeeper2181、2888、3888kafka9092es9200、9300、9100kibana5601
2. 技术选型
软件版本jdk1.8.0_301zookeeper3.4.10kafka2.12-2.1.1filebeat6.7.2logstash6.7.2elasticsearch6.7.2kibana6.7.2filebeat6.7.2
3. 全局配置
# 136节点、137节点、138节点同时操作# 1. 使用root用户进行登录
# 创建 /app目录
mkdir /app
如果/app已经存在忽略次操作# 2. 创建用户
useradd app
passwd app# 密码Elk123456
# 如果用户已经存在忽略次操作直接使用app用户登录即可 跳过3的第一个命令# 赋予权限:
chown app.app /app -R# 调整家目录
vim /etc/passwd# 切换app用户
su - app4. 软件下载
zookeeper-3.4.10.tar.gz
wget http://archive.apache.org/dist/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gzkafka_2.12-2.1.1.tgz
wget https://archive.apache.org/dist/kafka/2.1.1/kafka_2.12-2.1.1.tgzfilebeat-6.7.2-linux-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.7.2-linux-x86_64.tar.gzlogstash-6.7.2.tar.gz
wget https://artifacts.elastic.co/downloads/logstash/logstash-6.7.2.tar.gzelasticsearch-6.7.2.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.7.2.tar.gzkibana-6.7.2-linux-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.7.2-linux-x86_64.tar.gz5. 操作声明
默认使用app用户如果使用root用户操作会进行说明。
二、jdk安装 136节点、137节点、138节点同时操作 2.1. 上传
上传jdk压缩包jdk-8u301-linux-x64.tar.gz到/app 目录下
2.2. 解压
cd /app
tar -zxvf jdk-8u301-linux-x64.tar.gz2.3. 设置环境变量
切换到root用户执行命令
su - root编辑文件
vi /etc/profile修改环境变量
export JAVA_HOME/app/jdk1.8.0_301
export JRE_HOME$JAVA_HOME/jre
export CLASSPATH.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH$JAVA_HOME/bin:$JRE_HOME/bin:$PATH刷新环境变量
source /etc/profile切换app用户
su - app验证版本
java -version------------------------------以下均使用app用户操作------------------------------
三、zk集群 136节点、137节点、138节点同时操作 3.1. 上传
上传Zookeeper安装包到/app目录
3.2. 解压
cd /app
tar -zxvf zookeeper-3.4.10.tar.gz3.3. 创建目录
创建data及logs目录
cd /app/zookeeper-3.4.10
mkdir dataDir
mkdir dataLogDir3.4. 编辑配置
cd /app/zookeeper-3.4.10/conf
cp zoo_sample.cfg zoo.cfg
vi zoo.cfg3.5. 添加配置 修改内容为此处三台服务器配置相同,建议同时操作 tickTime2000
initLimit10
syncLimit5
dataDir/app/zookeeper-3.4.10/data
dataLogDir/app/zookeeper-3.4.10/data
clientPort2181
server.1192.168.159.136:2888:3888
server.2192.168.159.137:2888:3888
server.3192.168.159.138:2888:38883.6. myid
第一台服务器中添加myid文件
echo 1 /app/zookeeper-3.4.10/dataDir/ myid第二台服务器中添加myid文件
echo 2 /app/zookeeper-3.4.10/dataDir/myid第三台服务器中添加myid文件
echo 3 /app/zookeeper-3.4.10/dataDir/myid3.8. 关闭防火墙 systemctl stop firewalld3.9. 启动zk
3个节点依次启动
cd /app/zookeeper-3.4.10/
bin/zkServer.sh start3.10. 监控状态
bin/zkServer.sh statuszookeeper启动成功图片图3.1如下无报错Mode为leader或者follower都可以
3.11. 效果图 四、kafka集群
4.1. 上传
上传kafka安装包kafka_2.12-2.1.1.tgz到/app 目录下
4.2. 解压
tar -zxvf kafka_2.12-2.1.1.tgz4.3. 数据目录
进入到kafka安装目录下创建data文件夹
cd kafka_2.12-2.1.1/
mkdir data4.4. 修改kafka的配置文件
vim config/server.properties136节点
#broker的id
broker.id1
#绑定服务器ip
host.name192.168.159.136
listenersPLAINTEXT://192.168.159.136:9092
advertised.listenersPLAINTEXT://192.168.159.136:9092
num.network.threads3
num.io.threads8
socket.send.buffer.bytes102400
socket.receive.buffer.bytes102400
socket.request.max.bytes104857600
#保存数据的目录路径
log.dirs/app/kafka_2.12-2.1.1/data/kafka-logs
num.partitions1
num.recovery.threads.per.data.dir1
offsets.topic.replication.factor1
transaction.state.log.replication.factor1
transaction.state.log.min.isr1
#设置日志留存策略
log.retention.hours168
log.retention.bytes10737420000
#日志段大小
log.segment.bytes1073741824
log.retention.check.interval.ms300000
#配置zookeeperip表示zookeeper集群中各个节点ip
zookeeper.connect192.168.159.136:2181,192.168.159.137:2181,192.168.159.138:2181
zookeeper.connection.timeout.ms6000
message.max.byte52428880
group.initial.rebalance.delay.ms0
#设置删除topic
auto.create.topics.enable false
delete.topic.enabletruelog.cleanup.policydelete
log.segment.delete.delay.ms0137节点
#broker的id
broker.id2
#绑定服务器ip
host.name192.168.159.137
listenersPLAINTEXT://192.168.159.137:9092
advertised.listenersPLAINTEXT://192.168.159.137:9092
num.network.threads3
num.io.threads8
socket.send.buffer.bytes102400
socket.receive.buffer.bytes102400
socket.request.max.bytes104857600
#保存数据的目录路径
log.dirs/app/kafka_2.12-2.1.1/data/kafka-logs
num.partitions1
num.recovery.threads.per.data.dir1
offsets.topic.replication.factor1
transaction.state.log.replication.factor1
transaction.state.log.min.isr1
#设置日志留存策略
log.retention.hours168
log.retention.bytes10737420000
#日志段大小
log.segment.bytes1073741824
log.retention.check.interval.ms300000
#配置zookeeperip表示zookeeper集群中各个节点ip
zookeeper.connect192.168.159.136:2181,192.168.159.137:2181,192.168.159.138:2181
zookeeper.connection.timeout.ms6000
message.max.byte52428880
group.initial.rebalance.delay.ms0
#设置删除topic
auto.create.topics.enable false
delete.topic.enabletruelog.cleanup.policydelete
log.segment.delete.delay.ms0138节点
#broker的id
broker.id3
#绑定服务器ip
host.name192.168.159.138
listenersPLAINTEXT://192.168.159.138:9092
advertised.listenersPLAINTEXT://192.168.159.138:9092
num.network.threads3
num.io.threads8
socket.send.buffer.bytes102400
socket.receive.buffer.bytes102400
socket.request.max.bytes104857600
#保存数据的目录路径
log.dirs/app/kafka_2.12-2.1.1/data/kafka-logs
num.partitions1
num.recovery.threads.per.data.dir1
offsets.topic.replication.factor1
transaction.state.log.replication.factor1
transaction.state.log.min.isr1
#设置日志留存策略
log.retention.hours168
log.retention.bytes10737420000
#日志段大小
log.segment.bytes1073741824
log.retention.check.interval.ms300000
#配置zookeeperip表示zookeeper集群中各个节点ip
zookeeper.connect192.168.159.136:2181,192.168.159.137:2181,192.168.159.138:2181
zookeeper.connection.timeout.ms6000
message.max.byte52428880
group.initial.rebalance.delay.ms0
#设置删除topic
auto.create.topics.enable false
delete.topic.enabletruelog.cleanup.policydelete
log.segment.delete.delay.ms04.5. 依次启动kafka
136/137/138节点依次启动
cd /app/kafka_2.12-2.1.1/
nohup bin/kafka-server-start.sh config/server.properties 五、 验证集群 验证集群是否安装成功 5.1. 创建topic
在其中一个节点上创建一个topic
这里演示采用136节点,创建一个topic
cd /app/kafka_2.12-2.1.1/
bin/kafka-topics.sh --zookeeper 192.168.159.136:2181,192.168.159.137:2181,192.168.159.138:2181 --create --topic test2 --partitions 3 --replication-factor 15.2. 启动生产者
在其中一个节点上启动kafka生产者 这里演示采用136节点
cd /app/kafka_2.12-2.1.1/
bin/kafka-console-producer.sh --broker-list 192.168.159.136:9092 --topic test25.3. 启动消费者
在集群其他的节点上启动消费者,这里演示采用137和138节点
137节点
cd /app/kafka_2.12-2.1.1/
bin/kafka-console-consumer.sh --bootstrap-server 192.168.159.137:9092 --topic test2138节点
cd /app/kafka_2.12-2.1.1/
bin/kafka-console-consumer.sh --bootstrap-server 192.168.159.138:9092 --topic test25.4. 生产消息
Kafka生产者发送一条消息看能否在消费端能够接收到消息如果都能接收到消息表示kafka集群可用。 这里演示场景136节点 作为生产者发送消息 137节点和138节点作为消费者消费消息
5.5. 消费消息
137节点作为消费者消费消息 138节点作为消费者消费消息 从以上截图中可以看出136节点作为消费者发送消息“send msg 123456”137节点和138节点作为消费者可以正常接收消息。
六、filebeat 登录136节点使用app用户操作 6.1.上传
filebeat-6.7.2-linux-x86_64.tar.gz文件并上传app
6.2. 解压
cd /app
tar -zxvf filebeat-6.7.2-linux-x86_64.tar.gz6.3. 修改配置
修改filebeat.yml配置文件如下
vim /app/filebeat-6.7.2-linux-x86_64/filebeat.yml修改path路径
/app/test.logElasticsearch output这里的配置需要修改 修改前 修改后
6.5. 启动filebeat
nohup /app/filebeat-6.7.2-linux-x86_64/filebeat -e -c /app/filebeat-6.7.2-linux-x86_64/filebeat.yml 七、logstash
7.1. 上传
下载logstash-6.7.2.tar.gz文件并上传app目录
7.2. 解压
tar -zxvf logstash-6.7.2.tar.gz7.3. 新建配置
新建config目录下配置文件kafkaInput_esOutPut.conf
vim /app/logstash-6.7.2/config/kafkaInput_esOutPut.conf内容如下
input {kafka {bootstrap_servers 192.168.159.136:9092,192.168.159.137:9092,192.168.159.138:9092group_id [elk]topics [app-log]auto_offset_reset latestconsumer_threads 5decorate_events true}
}
output {stdout {codec rubydebug}elasticsearch {hosts [192.168.159.136:9200,192.168.159.137:9200,192.168.159.138:9200]index kafka-logs-%{YYYY-MM-dd}flush_size 20000idle_flush_time 10sniffing truetemplate_overwrite true }
}7.4. 启动logstash
cd /app/logstash-6.7.2
nohup bin/logstash -f /config/kafkaInput_esOutPut.conf --config.reload.automatic 7.5. 参数说明
--config.reload.automatic 选项的意思是启用自动配置加载以至于每次修改完配置文件以后无需停止然后重启Logstash 查看进程是否启动成功
ps -ps |grep logstash八、es集群
8.1. 上传
上传到/app目录
8.2. 解压
cd /app
tar -zxvf elasticsearch-6.7.2.tar.gz8.3. 编辑配置
vim /app/elasticsearch-6.7.2/config/elasticsearch.yml修改配置文件config/elasticsearch.yml136节点
# Elasticsearch Configuration
cluster.name: es-application
node.name: node-1
path.data: /app/elasticsearch-6.7.2/data
path.logs: /app/elasticsearch-6.7.2/logs
network.host: 0.0.0.0
http.port: 9200
discovery.zen.ping.unicast.hosts: [192.168.159.136:9300, 192.168.159.137:9300,192.168.159.138:9300]
discovery.zen.minimum_master_nodes: 2
http.cors.enabled: true
http.cors.allow-origin: *
http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE137节点
# Elasticsearch Configuration
cluster.name: es-application
node.name: node-2
path.data: /app/elasticsearch-6.7.2/data
path.logs: /app/elasticsearch-6.7.2/logs
network.host: 0.0.0.0
http.port: 9200
discovery.zen.ping.unicast.hosts: [192.168.159.136:9300, 192.168.159.137:9300,192.168.159.138:9300]
discovery.zen.minimum_master_nodes: 2
http.cors.enabled: true
http.cors.allow-origin: *
http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE138节点
# Elasticsearch Configuration
cluster.name: es-application
node.name: node-3
path.data: /app/elasticsearch-6.7.2/data
path.logs: /app/elasticsearch-6.7.2/logs
network.host: 0.0.0.0
http.port: 9200
discovery.zen.ping.unicast.hosts: [192.168.159.136:9300, 192.168.159.137:9300,192.168.159.138:9300]
discovery.zen.minimum_master_nodes: 2
http.cors.enabled: true
http.cors.allow-origin: *
http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE8.4. 修改系统参数 3个节点同时操作切换root用户修改系统参数执行如下命令 su - root第一处
echo vm.max_map_count655360 /etc/sysctl.conf /sbin/sysctl -p第二处
vim /etc/security/limits.conf* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 40968.5. 启动es 3给节点依次启动es su - app
cd /app/elasticsearch-6.7.2
bin/elasticsearch -d8.6. 监控日志
tail -f logs/es-application.log 8.7. 效果图
http://192.168.159.136:9200/ http://192.168.159.137:9200/ http://192.168.159.138:9200/ http://192.168.159.136:9200/_cat/health
九、node.js镜像 登录138节点使用root用户操作官网下载node.js 9.1. 下载node.js
https://nodejs.org/en/download/
下载 wget https://nodejs.org/dist/v16.13.1/node-v16.13.1-linux-x64.tar.xz9.2. 解压 tar -xvf node-v16.13.1-linux-x64.tar.xz 9.3. 重命名 mv node-v16.13.1-linux-x64 nodejs9.4. 创建软连接 ln -s /app/nodejs/bin/node /usr/bin/nodeln -s /app/nodejs/bin/npm /usr/bin/npm9.5. 验证
验证node.js是否安装成功 node -v9.6. cnpm镜像
使用cnpm操作
npm install -g cnpm --registerhttps://register.npm.taobao.org9.7. cnpm软连接
ln -s /app/nodejs/bin/cnpm /usr/bin/cnpm十、安装es-head插件
10.1. 下载插件
10.2. 解压
unzip elasticsearch-head-master.zip10.3. 安装依赖
cd elasticsearch-head-master
cnpm install10.4. 配置
现在head插件还无法连接到es需要修改以下配置文件
vim /app/elasticsearch-head-master/Gruntfile.js10.5. 启动插件
cd /app/elasticsearch-head-master目录下
npm run start安装完成输入对应地址显示如下结果
http://192.168.159.138:9100/ http://192.168.159.138:9200/
十一、安装kibana 登录136节点使用app用户操作 11.1. 上传到app目录并解压 tar -zxvf kibana-6.7.2-linux-x86_64.tar.gz11.2. 修改配置
修改config/kibana.yml配置文件 cd /appvim kibana-6.7.2-linux-x86_64/config/kibana.yml末尾添加如下配置 server.host为当前机器ip
server.port: 5601
server.host: 192.168.159.136
elasticsearch.hosts: [http://192.168.159.136:9200,http://192.168.159.137:9200,http://192.168.159.138:9200]11.3. 启动kibana
切换到bin目录启动nohup ./kibana
cd /app/kibana-6.7.2-linux-x86_64/
nohup bin/kibana http://192.168.159.136:5601/app/kibana
11.4. 验证elk是否安装成功 咱们在logstash的配置文件中配置的topic是app-log 创建topic
cd /app/kafka_2.12-2.1.1/bin/
./kafka-console-consumer.sh --bootstrap-server 192.168.159.138:9092 --topic app-log创建消费组137节点
cd /app/kafka_2.12-2.1.1/bin/
./kafka-console-consumer.sh --bootstrap-server 192.168.159.138:9092 --topic app-log --consumer-property group.idelk138节点
cd /app/kafka_2.12-2.1.1/bin/
./kafka-console-consumer.sh --bootstrap-server 192.168.159.138:9092 --topic app-log --consumer-property group.idelk测试1.往136节点/app/test.log文件写入一行数字之后查看es中是否可以查询到
cd /app
echo 123456789033333 test.log
cat test.log/app/kafka_2.12-2.1.1/bin/kafka-consumer-groups.sh --bootstrap-server 192.168.159.138:9092 --group elk --describe 2.es查询到了 3.kibana也成功抓取到了
11.5. 防火墙配置
136/137/138节点
firewall-cmd --zonepublic --add-port2181/tcp --permanent
firewall-cmd --zonepublic --add-port2888/tcp --permanent
firewall-cmd --zonepublic --add-port3888/tcp --permanent
firewall-cmd --zonepublic --add-port9092/tcp --permanent
firewall-cmd --zonepublic --add-port9100/tcp --permanent
firewall-cmd --zonepublic --add-port9200/tcp --permanent
firewall-cmd --zonepublic --add-port9300/tcp --permanent
firewall-cmd --zonepublic --add-port5601/tcp --permanent
firewall-cmd --reload