这是一期基础版的,我们可以安装mysql,挂载了磁盘,不用配置环境变量,docker容器管理可视化界面非常好用,搭建自己的私有仓库这些都是咱们必备的知识呀!!!!!
八、dokcer安装rancher
docker run -d -p 80:80 -p 443:443 rancher/rancher:v2.4.0 // rancher安装k8s 添加集群->custom->在至少4G的机器复制命令-安装成功 --25分 --37分 复制代码
九、dokcer安装redis
docker pull redis:latest docker 启动 redis docker run -p 6379:6379 --name redis -v /opt/docker_redis/redis.conf:/etc/redis/redis.conf -v /opt/docker_redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass 123456 命令说明 -p 6379:6379 端口映射:前表示主机部分,:后表示容器部分。 --name redis 指定该容器名称,查看和进行操作都比较方便。 -v 挂载文件或目录 :前表示主机部分,:后表示容器部分。 -d redis 表示后台启动redis redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录/usr/local/docker/redis.conf --appendonly yes 开启redis 持久化 --requirepass 123456 设置密码为123456 进入: docker exec -it redis /bin/bash 进入: docker exec -it redis /bin/bash redis-cli -p 6379 获取密码:config get requirepass 输入密码: auth 123456 缓存穿透,查不到(设置null缓存,布隆过滤器)和雪崩(多级缓存) 缓存击穿,查的多,过期:过期时间分散设置,热点数据不过期 复制代码
十、dokcer安装influxDB
// 添加阿里源 vim /etc/docker/daemon.json { "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" },"insecure-registries":[ "192.168.180.105:1180" ], "registry-mirrors":["https://6kx4zyno.mirror.aliyuncs.com"] } docker run -d -p 8083:8083 -p 8086:8086 --name my_influxdb influxdb docker exec -it my_influxdb bash cd /usr/bin ./influx 进入influxdb客户端命令行show databases create database jmeter; 创建名为 “jmeter” 的库 use jmeter select * from jmeter 增加: 当measurement不存在的时候,我们插入一条数据时,就会创建这个measurement insert add_test,name=YiHui,phone=110 user_id=20,email="bangzewu@126.com" 新增一条数据,measurement为add_test, tag为name,phone, field为user_id,email show measurements 查看表 select * from add_test time email name phone user_id ---- ----- ---- ----- ------- 1604641039680640423 bangzewu@126.com YiHui 110 2 show tag keys from add_test; name: add_test tagKey ------ name phone 插入总结: insert + measurement + "," + tag=value,tag=value + + field=value,field=value tag与tag之间用逗号分隔;field与field之间用逗号分隔 tag与field之间用空格分隔 tag都是string类型,不需要引号将value包裹 (经常查询,group by) field如果是string类型,需要加引号(用于函数计算,非字符串) 类型总结: SELECT * FROM "TB_TRACE" WHERE vno = '鲁L71692' and time >= '2021-01-22 07:46:05' and time <= '2021-01-22 08:46:05' 类型 方式 示例 float 数字 user_id=21 int 数字i age=18i boolean true/false boy=true String "" or '' email=“bangzewu@126.com” 1.时间戳指定 当写入数据不指定时间时,会自动用当前时间来补齐,如果需要自己指定时间时,再最后 面添加上即可,注意时间为ns insert add_test,name=YiHui,phone=110 user_id=22,email="bangzewu@126.com",age=18i,boy=true 1564150279123000000 2.指定保存策略插入数据 前面写入数据没有指定保存策略,表示这条数据写入到默认的保存策略中;我们知道一个数据 库可以有多个保存策略,一个measurement中也可以存不同的保存策略的数据,在写入数据时 ,如果需要指定保存策略,可以使用 insert into 保存策略 ... show retention policies on test 查看数据库的现有策略 name duration shardGroupDuration replicaN default ---- -------- ------------------ -------- ------- autogen 0s 168h0m0s 1 true 新建策略 CREATE RETENTION POLICY "1_d" ON "jmeter" DURATION 1d REPLICATION 1 DEFAULT 本例在 jmeter库添加了一个2小时的策略,名字叫做 2_hours, duration为2小时, 副本为1,设置为默认策略 修改策略:ALTER RETENTION POLICY "2_hours" ON "telegraf" DURATION 4h DEFAULT ALTER RETENTION POLICY "TRACE_RETENTION_POLICY" ON "SMART_DATA" DURATION 8760h DEFAULT 删除策略:drop retention POLICY "2_hours" ON "telegraf" 插入数据带保存策略:注意使用当前的时间戳 insert into "1_d" add_test,name=YiHui2,phone=911 user_id=23,email="bangzewu@126.com",age=18i,boy=true 1604642513123000000 查询当前策略的数据: select * from "1_d".add_test 备份数据:exit 可以备份指定数据库指定时间段的数据 influxd backup -portable /tmp/data/total cd /tmp/data/total 下面演示下将前面的导出的备份,恢复到一个新的数据库 yhhblog_bk上,执行命令如下 influxd restore -portable -db yhhblog -newdb yhhblog_bk yhhblog_per 恢复到存在的DB:https://blog.hhui.top/hexblog/2018/07/27/180727-%E6%97%B6%E5%BA%8F%E6%95%B0%E6%8D%AE%E5%BA%93InfluxDB%E4%B9%8B%E5%A4%87%E4%BB%BD%E5%92%8C%E6%81%A2%E5%A4%8D%E7%AD%96%E7%95%A5/ 采用的一个策略是先备份到一个临时的db中;然后将临时DB中的数据写入已存在的db中 1.在influxdb中tag都是string类型,会建立索引,所以基于tag的查询效率一般来讲是优于 field查询的,它支持的操作符为= <> != 2.在influxdb中没有in查询,不同的查询条件可以使用and/or来连接,表示同时满足or 一个满足即可 java代码实现批量插入: 可视化工具influxDBstudio:直接在本道seach 十一、dokcer安装ES,kibana docker pull docker.io/elasticsearch:7.1.1 docker run -d -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" --name es2 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" 5acf0e8da90b docker logs 676164fb24b3 docker exec -it es2 /bin/bash elasticsearch.yml cluster.name: "qfcwx-cluster" network.host: 0.0.0.0 http.cors.enabled: true http.cors.allow-origin: "*" cluster.name:自定义集群名称。 network.host:当前es节点绑定的ip地址,默认127.0.0.1,如果需要开放对外访问这个属 性必须设置。 http.cors.enabled:是否支持跨域,默认为false。 http.cors.allow-origin:当设置允许跨域,默认为*,表示支持所有域名,如果我们只 是允许某些网站能访问,那么可以使用正则表达式。 docker run --name kibana -e ELASTICSEARCH_URL=http://47.104.130.105:9200 -p 5601:5601 -d kibana:7.1.1 进入容器修改kibana.yml 修改连接es的ip端口 复制代码
十一、dokcer安装kafka面板
vim docker-compose.yml version: "3" services: kafdrop: image: obsidiandynamics/kafdrop restart: "no" ports: - "8080:9000" environment: KAFKA_BROKERCONNECT: "外网ip:9092" docker-compose up -d linux上模拟生产者发送kafka cd /opt/supp_app/kafka_2.13-2.6.0/bin ./kafka-console-producer.sh --bootstrap-server 172.17.47.173:9092,172.17.47.174:9092,172.17.47.175:9092 --topic queue_topic ./kafka-console-consumer.sh --bootstrap-server 172.17.47.173:9092,172.17.47.174:9092,172.17.47.175:9092 --topic queue_topic {"vehicleNo":"鲁Q327EB","fenceId":"7980862197161687045","entryTime":"2021-01-19 08:13:33","leaveTime":""} 复制代码
十二 、 docker安装hbase
docker pull harisekhon/hbase:1.3 docker run -d --name hbase001 -p 16010:16010 harisekhon/hbase:1.3 docker exec -it hbase001 bash 复制代码
十三、 docker 安装kylin
kylin.apache.org/cn/docs/ins…
docker pull apachekylin/apache-kylin-standalone:3.1.0 docker run -d \ -m 8G \ -p 7070:7070 \ -p 8088:8088 \ -p 50070:50070 \ -p 8032:8032 \ -p 8042:8042 \ -p 16010:16010 \ apachekylin/apache-kylin-standalone:3.1.0 并自动运行 $KYLIN_HOME/bin/sample.sh 及在 Kafka 中创建 “kylin_streaming_ topic” topic 并持续向该 topic 中发送数据。这是为了让用户启动容器后,就能体验 以批和流的方式的方式构建 Cube 并进行查询。 容器启动后,我们可以通过 “docker exec -it <container_id> bash” 命令进入容器 内。当然,由于我们已经将容器内指定端口映射到本机端口,我们可以直接在本机浏览器中 打开各个服务的页面,如: Kylin 页面:http://127.0.0.1:7070/kylin/login HDFS NameNode 页面:http://127.0.0.1:50070 YARN ResourceManager 页面:http://127.0.0.1:8088 HBase 页面:http://127.0.0.1:16010 复制代码
使用docker操作redis的基本命令,influxDB详细操作、hbase、klin都是必备的常用软件,rancher是一个挺好用的软件,es,kibana这些都是必须要掌握的。