
暂无个人介绍
能力说明:
熟练掌握Linux常用命令、文件及用户管理、文本处理、Vim工具使用等,熟练掌握企业IP规划、子网划分、Linux的路由、网卡、以及其他企业级网络配置技术,可进行Web服务器(Nginx),以及数据库(My SQL)的搭建、配置、应用,可根据需求编写Shell脚本,通过常用工具进行linux服务器自动化运维。
能力说明:
掌握Java开发环境下所需的MySQL高级技巧,包括索引策略、innodb和myisam存储引擎,熟悉MySQL锁机制,能熟练配置MySQL主从复制,熟练掌握日常SQL诊断和性能分析工具和策略。可对云数据库进行备份恢复与监控、安全策略的设置,并可对云数据库进行性能优化。掌握主要NOSQL数据库的应用技术。
暂时未有相关云产品技术能力~
阿里云技能认证
详细说明1.什么是SparkSpark,是一种通用的大数据计算框架,正如传统大数据技术Hadoop的MapReduce、Hive引擎,以及Storm流式实时计算引擎等。Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发的通用内存并行计算框架,用于构建大型的、低延迟的数据分析应用程序。Spark使用强大的Scala语言开发,它还提供了对Scala、Python、Java(支持Java 8)和R语言的支持Apache顶级项目,项目主页:http://spark.apache.org2.Spark历史2009年由Berkeley's AMPLab开始编写最初的源代码2010年开放源代码2013年6月进入Apache孵化器项目2014年2月成为Apache的顶级项目(8个月时间)2014年5月底Spark1.0.0发布,打破Hadoop保持的基准排序纪录2014年12月Spark1.2.0发布2015年11月Spark1.5.2发布2016年1月Spark1.6发布2016年12月Spark2.1发布3.为什么要用Spark运行速度快:使用DAG(全称 Directed Acyclic Graph, 中文为:有向无环图)执行引擎以支持循环数据流与内存计算(当然也有部分计算基于磁盘,比如shuffle)易用性好:支持使用Scala、Java、Python和R语言进行编程,可以通过Spark Shell进行交互式编程 通用性强:Spark提供了完整而强大的工具,包括SQL查询、流式计算、机器学习和图算法组件随处运行:可运行于独立的集群模式中,可运行于Hadoop中,也可运行于Amazon EC2等云环境中,并且可以访问HDFS、Cassandra、HBase、Hive等多种数据源4.对比Hadoop解决问题的出发点不一样Hadoop用普通硬件解决存储和计算问题 Spark用于构建大型的、低延迟的数据分析应用程序,不实现存储 Spark是在借鉴了MapReduce之上发展而来的,继承了其分布式并行计算的优点并改进了MapReduce明显的缺陷 Spark中间数据放到内存中,迭代运算效率高 Spark引进了弹性分布式数据集的抽象,数据对象既可以放在内存,也可以放在磁盘,容错性高,可用自动重建 RDD计算时可以通过CheckPoint来实现容错 Hadoop只提供了Map和Reduce操作,Spark更加通用,提供的数据集操作类型有很多种,主要分为: Transformations和Actions两大类现状: Spark主要用于大数据的计算,而Hadoop以后主要用于大数据的存储(HDFS),以及资源调度(Yarn)。Spark+Hadoop的组合,是未来大据领域最热门的组合,也是最有前景的组合! 当然spark也有自己的集群模式。spark core实现了spark的基本功能、包括任务调度、内存管理、错误恢复与存储系统交互等模块。spark core中还包含了对弹性分布式数据集(resileent distributed dataset)的定义spark sql是spark用来操作结构化数据的程序,通过SPARK SQL,我们可以使用SQL或者HIVE(HQL)来查询数据,支持多种数据源,比如HIVE表就是JSON等,除了提供SQL查询接口,还支持将SQL和传统的RDD结合,开发者可以在一个应用中同时使用SQL和编程的方式(API)进行数据的查询分析,SPARK SQL是在1.0中被引入的Spark Streaming是Spark提供的对实时数据进行流式计算的组件,比如网页服务器日志,或者是消息队列都是数据流。MLLib是Spark中提供常见的机器学习功能的程序库,包括很多机器学习算法,比如分类、回归、聚类、协同过滤等。GraphX是用于图计算的比如社交网络的朋友关系图。6.Spark应用场景Yahoo将Spark用在Audience Expansion中的应用,进行点击预测和及时查询等淘宝技术团队使用了Spark来解决多次迭代的机器学习算法、高计算复杂度的算法等。应用于内容推荐、社区发现等腾讯大数据精准推荐借助Spark快速迭代的优势,实现了在“数据实时采集、算法实时训练、系统实时预测”的全流程实时并行高维算法,最终成功应用于广点通pCTR投放系统上。优酷土豆将Spark应用于视频推荐(图计算)、广告业务,主要实现机器学习、图计算等迭代计算
基于centos7.5安装tomcat1.将所需安装包导入服务器内,然后解压环境依赖包:jdk-8u151-linux-x64.tar解压jdktar xvf jdk-8u151-linux-x64.tar.gz -C /usr/local/mv /usr/local/jdk-8u151 /usr/local/java添加环境变量,文件位置vim /etc/profileJAVA_HOME=/usr/local/javaJRE_HOME=$JAVA_HOME/jrePATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/binCLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/dt.jarexport JAVA_HOME JRE_HOME PATH CLASSPATH重置环境变量,使生效source /etc/profile查看java版本[root@localhost ~]# java -versionjava version "1.8.0_151"Java(TM) SE Runtime Environment (build 1.8.0_151-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)2.安装apache-tomcat解压Tomcatmkdir /usr/local/tomcattar xvf apache-tomcat-8.5.39.tar.gz -C /usr/local/tomcatcd /usr/local/tomcat/apache-tomcat-8.5.39添加环境变量,位置vim /etc/profile 添加如下内容TOMCAT_HOME=/usr/local/tomcat/apache-tomcat-8.5.39CATALINA_HOME=/usr/local/tomcat/apache-tomcat-8.5.39CATALINA_BASE=/usr/local/tomcat/apache-tomcat-8.5.39export TOMCAT_HOME CATALINA_HOME CATLAINA_BASE重置使之生效 source /etc/profile配置主命令脚本cd /usr/local/tomcat/apache-tomcat-8.5.39/binvim catalina.sh输入查找:/OS specific support插入两行:export CATALINA_BASE=$CATALINA_BASE export CATALINA_HOME=$CATALINA_HOME说明:以上环境变量也可以执行多个tomcat,示例如下: ==tomcat-xxxx(版本或自定义名)== TOMCAT_HOME_2=/usr/local/tomcat-251/apache-tomcat-8.5.39 CATALINA_HOME_2=/usr/local/tomcat-251/apache-tomcat-8.5.39 CATALINA_BASE_2=/usr/local/tomcat-251/apache-tomcat-8.5.39 export TOMCAT_HOME_2 CATALINA_HOME_2 CATLAINA_BASE_23.启动tomcatcd /usr/local/tomcat/apache-tomcat-8.5.39/bin./startup.sh
官方网址:https://redis.io/github: https://github.com/antirez/redis解压并编译安装tar xvf redis-5.0.5.tar.gz -C /usr/local/src/cd /usr/local/src/redis-5.0.5make PREFIX=/usr/local/redis install配置修改复制源码包中的配置文件到软件目录下cp /usr/local/src/redis-5.0.5/redis.conf /usr/local/redis/bin/修改配置如下开启后台启动daemonize yes配置IP限制,默认的是本机登录bind 0.0.0.0想单独增加IP,可以bind 127.0.0.1 192.168.1.2开启密码验证requirepass xxxxxxxx开启aofappendonly yes设置aof备份频率appendfsync everysecaof备份频率说明==appendfsync always== //每次收到命令就立即强制写入磁盘,最慢的,但是保证完全的持久化,不推荐使用。==appendfsync everysec== //每秒钟强制写入磁盘一次,在性能和持久化方面做了很好的折中,推荐。==appendfsync no== //完全依赖OS,性能最好,持久化没保证。编写启动脚本vim /etc/init.d/redis!/bin/bashchkconfig: 2345 80 90description:auto_run执行软件路径SOFTPATH='/usr/local/redis/bin/redis-server'CLIPATH='/usr/local/redis/bin/redis-cli'配置文件路径CONFIGPATH='/usr/local/redis/bin/redis.conf'引入系统函数库文件. /etc/rc.d/init.d/functionsstart(){ $SOFTPATH $CONFIGPATH echo 'redis runing'}stop(){ #killall redis-server $CLIPATH shutdown echo -e "\033[31m redis stop \033[0m"}mystatus(){ status redis-server }case "$1" in start) start;;stop) stop;;status) mystatus;;restart) stop start ;;*) echo 'start|stop|status'esac然后chmod +x /etc/init.d/redischkconfig --add redischkconfig redis onchkconfig --list //查看所有注册的脚本文件启动命令脚本启动/etc/init.d/redis start||stop||restart路径启动/usr/local/redis/bin/redis.server /usr/local/redis/bin/redis.conf
Docker多主机搭建RabbitMQ集群本文通过docker swarm建立多主机的Rabbitmq集群,自带配置文件,无需再次配置,直接启动即可3台主机,分别为:test01:192.168.1.10,角色:managertest02:192.168.1.20,角色:workertest03:192.168.1.30,角色:worker配置好各自的hostnamedocker swarm创建docker swarm集群docker swarm init --advertise-addr 192.168.1.10Swarm initialized: current node (z2n633mty5py7u9wyl423qnq0) is now a manager. To add a worker to this swarm, run the following command: # 这就是添加节点的方式(要保存初始化后token,因为在节点加入时要使用token作为通讯的密钥) docker swarm join --token SWMTKN-1-2lefzq18zohy9yr1vskutf1sfb2a590xz9d0mjj2m15zu9eprw-2938j5f50t35ycut0vbj2sx0s 192.168.1.10:2377 To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.上面命令执行后,该机器自动加入到swarm集群。这个会创建一个集群token,获取全球唯一的 token,作为集群唯一标识。后续将其他节点加入集群都会用到这个token值。其中,--advertise-addr参数表示其它swarm中的worker节点使用此ip地址与manager联系。命令的输出包含了其它节点如何加入集群的命令。因此,其它两个节点加入集群的话,只需要按照提示,输入:docker swarm join --token SWMTKN-1-2lefzq18zohy9yr1vskutf1sfb2a590xz9d0mjj2m15zu9eprw-2938j5f50t35ycut0vbj2sx0s 192.168.1.10:2377 即可加入docker swarm集群在manager服务器中确认新的两个workers已经加入[root@test01 docker]# docker node lsID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSIONsdhq8qsmvptdge76nxe3shrug * test01 Ready Active Leader 19.03.1394gn5oj2so67wi63smjhdss69 test02 Ready Active 19.03.13lkl3pcqmuh43iwi4fjccmgg9r test03 Ready Active 19.03.13创建网络创建一个overlay的网络docker network create -d overlay rabbitmq-cluster如果已经有这个网络了先删除:bashdocker network rm rabbitmq-cluster查看已创建好的网络docker network lsNETWORK ID NAME DRIVER SCOPE4fb77484d00e bridge bridge localfe2fe4e230f3 docker_gwbridge bridge local392f51dce275 host host localxyiiys695y3q ingress overlay swarme7e48d381800 none null localun13usga59lw rabbitmq-cluster overlay swarm配置文件我将项目目录规划在/docker/rabbitmq中,先建立持久化存储目录/docker/rabbitmq/data在manager上创建rabbitmq的配置文件路径:/docker/rabbitmq/rabbitmq.conf,内容如下:loopback_users.guest = falselisteners.tcp.default = 5672hipe_compile = falsedefault_user = admindefault_pass = admincluster_formation.peer_discovery_backend = rabbit_peer_discovery_classic_configcluster_formation.classic_config.nodes.1 = rabbit@rabbit1cluster_formation.classic_config.nodes.2 = rabbit@rabbit2cluster_formation.classic_config.nodes.3 = rabbit@rabbit3cluster_formation.node_type = ram后面的cluster_formation.node_type = ram表示创建的是ram集群,如果不写,就是默认的disc集群。创建docker configdocker config create rabbitmq-config /docker/rabbitmq/rabbitmq.conf创建部署文件,我将它放在/docker/swarm/rabbitmq_swarm.ymlversion: "3.7"services: rabbit1: image: rabbitmq:3.8.2-management hostname: rabbit1 environment: RABBITMQ_ERLANG_COOKIE: "liaoxingchen_test" volumes: - "/docker/rabbitmq/data:/var/lib/rabbitmq" configs: - source: rabbitmq-config target: /etc/rabbitmq/rabbitmq.conf ports: - "4369:4369" - "5671:5671" - "5672:5672" - "15671:15671" - "15672:15672" - "25672:25672" deploy: replicas: 1 placement: constraints: - node.hostname==test01 rabbit2: image: rabbitmq:3.8.2-management hostname: rabbit2 depends_on: - rabbit1 environment: RABBITMQ_ERLANG_COOKIE: "liaoxingchen_test" volumes: - "/docker/rabbitmq/data:/var/lib/rabbitmq" configs: - source: rabbitmq-config target: /etc/rabbitmq/rabbitmq.conf deploy: replicas: 1 placement: constraints: - node.hostname==test02 rabbit3: image: rabbitmq:3.8.2-management hostname: rabbit3 depends_on: - rabbit1 environment: RABBITMQ_ERLANG_COOKIE: "liaoxingchen_test" volumes: - "/docker/rabbitmq/data:/var/lib/rabbitmq" configs: - source: rabbitmq-config target: /etc/rabbitmq/rabbitmq.conf deploy: replicas: 1 placement: constraints: - node.hostname==test03networks: default: external: name: rabbitmq-clusterconfigs: rabbitmq-config: external: true其中,RABBITMQERLANGCOOKIE,可以自定义,只需要保证3个service一样,即可。启动集群在test01上使用如下命令启动集群:docker stack deploy -c /docker/swarm/rabbitmq_swarm.yml rabbitmq此时,你可以使用任何一个节点的15672端口,来访问Rabbitmq集群无配置文件如果不带配置文件,也可启动集群后,手动配置。将yaml文件中configs:相关内容去掉,再启动集群,然后进入test02和test03,进入容器,输入如下命令:rabbitmqctl stop_apprabbitmqctl resetrabbitmqctl join_cluster --ram rabbit@rabbit1rabbitmqctl start_app效果是一样的,而且也会持久化到映射的data目录中。补充查看集群状态docker service lsID NAME MODE REPLICAS IMAGE PORTS8rlyppvidvjy rabbit_rabbit1 replicated 1/1 rabbitmq:3.8.2-management :4369->4369/tcp,:5671-5672->5671-5672/tcp, :15671-15672->15671-15672/tcp, :25672->25672/tcpjicd2n9dh0rd rabbit_rabbit2 replicated 1/1 rabbitmq:3.8.2-managementms4h7ljutm5n rabbit_rabbit3 replicated 1/1 rabbitmq:3.8.2-management查看某一个service的状态,如,rabbit1docker service ps rabbit_rabbit1ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTSsdih8hbhadfc rabbit_rabbit1.1 rabbitmq:3.8.2-management test01 Running Running 2 hours ago删除服务,你可以挨个删除service,因为你同时启动了3个service,docker service rm rabbit_rabbit1docker service rm rabbit_rabbit2docker service rm rabbit_rabbit3也可以利用stack同时删除docker stack rm rabbit番外补充Spring Boot 应用连接 RabbitMQ 集群配置spring.rabbitmq.addresses=node1:5672,node2:5672,node3:5672spring.rabbitmq.username=adminspring.rabbitmq.password=admin
安装基本软件sudo apt-get update sudo apt-get install apt-transport-https ca-certificates curl software-properties-common lrzsz -y 使用官方推荐源{不推荐}#sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" 使用阿里云的源{推荐}sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" 软件源升级sudo apt-get update 安装dockersudo apt-get install docker-ce -y 注:可以指定版本安装docker:sudo apt-get install docker-ce= -y查看支持的docker版本sudo apt-cache madison docker-ce 测试docker docker version 配置镜像加速器亚马逊加速。修改/usr/lib/systemd/system/docker.service Ubuntu可能没有这个文件ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock #把上述行时行修改,修改如下: ExecStart=/usr/bin/dockerd 创建文件/etc/docker/daemon.json { "registry-mirrors": ["https://dockerhub.azk8s.cn"] } 重启服务systemctl daemon-reload systemctl restart docker 配置阿里云加速的话,登录自己的阿里云,然后在==产品与服务=>容器镜像服务=>镜像加速器==根据官方的详细说明,进行配置镜像加速的方法有很多,在此不一一赘述。安装docker-composepip安装方法安装pipyum -y install epel-release #如果已配置好epel源,此步骤可省略。 yum -y install python-pip #如果你已安装好Python-pip,此部也可省略。 更新pippip install --upgrade pip`js 安装docker-compose: pip install docker-co```jsmpose查看版本:docker-compose vers`jsion 有些电脑由于环境原因,安装可能会报错,我们也可以直接下载docker-compose,放入bin目录下, 在线安装方法:curl -L https://github.com/docker/compose/releases/download/1.25.3/docker-compose-uname -s-uname -m -o /usr/local/bin/docker-composechmod +x /usr/local/bin/docker-compose 由于这个项目是在GitHub上,由于一些大家都懂的原因,可能下载比较困难,也可以用离线安装 版本会随时更新,所以上面的方法可能不是最新版,所以建议去离线安装的页面上看一看最新版本号,并做出更改。 离线安装方法:在 https://github.com/docker/compose/releases 中下载对应的版本,比如 1.23.2 的 docker-compose-Linux-x86_64 ,把文件放到/usr/local/bin文件夹下并改名:docker-compose。再添加执行权限: chmod +x /usr/local/bin/docker-compose```js验证下:[root@localhost /]# docker-compose versiondocker-compose version 1.23.2, build 1110ad01 docker-py version: 3.6.0 CPython version: 3.6.7 OpenSSL version: OpenSSL 1.1.0f 25 May 2017 docker命令补全:yum -y install bash-completion`js docker-compose常用命令:进入到相应docker-compose目录下:docker-compose up -d nginx 构建建启动nignx容器docker-compose exec nginx bash 登录到nginx容器中docker-compose down 删除所有nginx容器,镜像docker-compose ps 显示所有容器docker-compose restart nginx 重新启动nginx容器docker-compose run --no-deps --rm php-fpm php -v 在php-fpm中不启动关联容器,并容器执行php -v 执行完成后删除容器docker-compose build nginx 构建镜像 。 docker-compose build --no-cache nginx 不带缓存的构建。docker-compose logs nginx 查看nginx的日志 docker-compose logs -f nginx 查看nginx的实时日志docker-compose config -q 验证(docker-compose.yml)文件配置,当配置正确时,不输出任何内容,当文件配置错误,输出错误信息。 docker-compose events --json nginx 以json的形式输出nginx的docker日志docker-compose pause nginx 暂停nignx容器docker-compose unpause nginx 恢复ningx容器docker-compose rm nginx 删除容器(删除前必须关闭容器)docker-compose stop nginx 停止nignx容器docker-compose start nginx 启动nignx容器
2022年07月
2022年05月
2022年03月
2022年02月
一届比一届强啊
之前在网上看到的,根据手机壁纸颜色变换的手机壳算不算奇葩需求。。。。
低代码会成为以后的中小企业的搭建软件的方式。
公司、家里台式双屏,外出笔记本+腹灵键盘+杂牌鼠标。。。