master

Spark入门01

一曲冷凌霜 提交于 2019-12-04 11:53:05
一, Spark概述 spark框架地址 1、官网: http://spark.apache.org/ 2、源码托管: https://github.com/apache/spark 3、母公司网站: https://databricks.com/ 官方博客:https://databricks.com/blog/、https://databricks.com/blog/category/engineering/spark 1,官方定义 http://spark.apache.org/docs/2.2.0/ Spark框架,类似于MapReduce框架,针对大规模数据分析框架。 2,大数据分析类型 离线处理:处理分析的数据是静态不变的,类似MapReduce和Hive框架等 交互式分析:即席查询,类似于impala 实时分析:针对流式数据实时处理,展示结果等 3,Spark框架介绍 在磁盘上对100TB的数据进行排序,可以看到Spark比hadoop快的多,效率高。 为什么Spark框架如此快? 数据结构 RDD:弹性分布式数据集,Spark将要处理的数据封装到集合RDD中,调用RDD中函数处理数据。 RDD数据可以放到内存中,内存不足可以放到磁盘中。 Task任务运行方式不一样 MapReduce应用运行:MapTask和ReduceTask都是JVM进程。启动一个jvm进程很慢

Linux 之 Mysql 主主复制

孤人 提交于 2019-12-04 11:52:55
一、 Mysql1配置 vi /etc/my.cnf.d/server.cnf [mysqld] #作为主从复制的唯一标识,集群中,不能重复 server-id = 1 #开启二进制日志 log-bin = master-log #开启中继日志 relay-log = slave-log auto_increment_offset = 1 auto_increment_increment = 2 二、MySQL2配置 vi /etc/my.cnf.d/server.cnf [mysqld] #作为主从复制的唯一标识,集群中,不能重复 server-id = 2 #开启二进制日志 log-bin = master-log #开启中继日志 relay-log = slave-log auto_increment_offset = 2 auto_increment_increment = 2 三、重启MySQL服务 systemctl restart mysqld 四、MySQL1为主,MySQL2为从配置   在MySQL1 中执行sql>> mysql> create user 'lan'@'192.168.11.%' identified by '666666'; mysql> grant replication slave on *.* to 'lan'@'192.168.11.

(十三)Kubernetes Dashboard

拟墨画扇 提交于 2019-12-04 11:39:55
Dashboard概述 Github地址 Dashboard 是 Kubernetes 的 Web GUI ,可用于在 Kubernetes 集群上部署容器化应用、应用排障、管理集群本身及附加的资源等。常用于集群及应用速览、创建或修改单个资源(如 Deployment 、 Jobs 和 DaemonSet 等),以及扩展 Deployment 、启动滚动更新、重启 Pod 或使用部署向导部署一个应用等。 Dashboard 的认证和授权均可由 Kubernetes 集群实现,它自身仅是一个代理,所有的相关操作都将发给 API Server 进行,而非由 Dashboard 自行完成。目前仅支持使用的认证方式有令牌 (token) 认证和 kubeconfig 两种,在访问之前都需要准备好相应的认证凭证。 Dashboard部署 由于用到镜像 k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1 ,是国外的,我们拉取不下来,这里可以使用下面两种方式。 # docker pull mirrorgooglecontainers/kubernetes-dashboard-amd64:v1.10.1 或者是 # docker pull blwy/kubernetes-dashboard-amd64:v1.10.1 1)这里将资源清单文件下载本地

redis 和 redis集群

懵懂的女人 提交于 2019-12-04 11:36:37
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings)…… 与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者 把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。 Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足, 在部 分场合可以对关系数据库起到很好的补充作用。 它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。 Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。 这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制, 使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。 同步对读取操作的可扩展性和数据冗余很有帮助。 Sentinel(哨兵) 是用于监控redis集群中Master状态的工具,是Redis 的高可用性解决方案,

(十)Kubernetes ConfigMap和Secret

夙愿已清 提交于 2019-12-04 11:28:27
ConfigMap资源 介绍 ConfigMap 是让配置文件从镜像中解耦,让镜像的可移植性和可复制性。许多应用程序会从配置文件、命令行参数或环境变量中读取配置信息。这些配置信息需要与 docker image 解耦,你总不能每修改一个配置就重做一个 image 吧? ConfigMap API 给我们提供了向容器中注入配置信息的机制, ConfigMap 可以被用来保存单个属性,也可以用来保存整个配置文件或者 JSON 二进制大对象。 ConfigMap 保存的值为键值方式, value 长度没有限制。 创建ConfigMap ConfigMap 支持命令创建和使用清单创建。有以下四种方式创建。 1、命令直接创建 --from-literal: 为 “kubectl create configmap” 命令使用 “--from-literal” 选项可在命令行直接给出键值来创建 ConfigMap 对象,重复使用此选项可以传递多个键值对。格式如下: kubectl create configmap NAME --from-literal=key1=value1 --from-literal=key2=value2 [root@k8s-master ~]# kubectl create configmap nginx-config --from-literal=nginx_port

mysql5.7主从配置--docker创建mysql

时光总嘲笑我的痴心妄想 提交于 2019-12-04 10:12:12
想搭建个mysql主从复制的环境,但是资源有限,不想创建多个虚拟机,就用docker来吧。 centos7下安装docker的方法,博文“ docker学习2--centos7下安装 ”。 docker pull 从官方下载mysql镜像,速度非常慢,所以就从daocloud下载镜像吧,速度很快。 docker pull daocloud.io/library/mysql:5.7 运行起来,端口分别对应3306,3307 3306为主,3307为从 进入3306,并查看容器的系统版本 发现用的是debian版本的linux,查找下my.cnf在哪 查看my.cnf,发现里面又指向/etc/mysql/mysql.conf.d/mysql.cnf # cat /etc/mysql/mysql.conf.d/mysqld.cnf 看到 [mysqld] pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock datadir = /var/lib/mysql #log-error = /var/log/mysql/error.log # By default we only accept connections from localhost #bind-address = 127.0.0.1 #

Docker+Git效率工作

别说谁变了你拦得住时间么 提交于 2019-12-04 09:16:22
前言 事情是这样的,首先之前不知道git这个利器,就把代码复制来粘贴去,一个人写代码还好,几个人,特别是一个团队协同工作,这种复制粘贴,U盘拷贝代码,QQ发来发去代码的方式简直就是噩梦,非但麻烦,而且非常凌乱,反正我是受不了。然后,知道git以后才发现自己和它相见恨晚,先别说什么版本控制工具,首先光是托管代码就让我爽一番(svn工作流模式),请注意,我现在是以完全菜鸟的视角阐述,大神们请掠过。 引入了git,整个协同工作有条不紊多了,我的思路也清晰多了,可是问题又来了,项目开始的时候我只是考虑本机开发的问题,嗯,在本机的确没有问题了,但是后面有个新人加进项目后有个问题突然暴露了出来——多人协同开发中除了代码还有环境[环境描述,依赖,缓存,参数,配置等]!首先他和我习惯用不同的系统开发(他用windows,我用linux - -),然后各种环境问题(一会儿缺这个包,一会儿又编译不通过,等下报个错,分分钟折腾死你)。讲真,加班加点不重要,我突然想到,如果以后要部署到很多服务器,那岂不是又要重重复复做同样的功夫?想想都心累,可是docker解决了我这个困扰。 docker是个热门的虚拟容器的技术,其实我是想都没有想过要用到它的时候,虽然我之前知道有docker这么一个玩意,好像很牛逼,但是也就是仅仅停留在知道的程度,至于它能做什么,为什么会存在,我没有任何概念

Nginx 的进程结构,你明白吗?

♀尐吖头ヾ 提交于 2019-12-04 07:26:55
Nginx 进程结构 这篇文章我们来看下 Nginx 的进程结构,Nginx 其实有两种进程结构: 单进程结构 多进程结构 单进程结构实际上不适用于生产环境,只适合我们做开发调试使用。因为在生产环境中我们必须保持 Nginx 足够健壮以及 Nginx 可以利用多核的一个特性,而单进程的 Nginx 是做不到这一点的,所以默认的配置中都是打开为多进程的 Nginx。 我们来看一下,多进程的 Nginx 结构中它的进程模型是怎样的。 多进程中的 Nginx 进程架构如下图所示,会有一个父进程(Master Process),它会有很多子进程(Child Processes),这些子进程会分为两类: worker 进程 cache 相关的进程 为什么 Nginx 采用多进程结构而不是多线程结构呢? 因为 Nginx 最核心的一个目的是要保持高可用性、高可靠性,而当 Nginx 如果使用的是多线程结构的时候,因为线程之间是共享同一个地址空间的,所以当某一个第三方模块引发了一个地址空间导致的段错误时、在地址越界出现时,会导致整个 Nginx 进程全部挂掉。而当采用多进程模型时,往往不会出现这样的问题。从上图可以看到 Nginx 在做进程设计时,同样遵循了实现高可用、高可靠这样的一个目的。 比如说在 master 进程中,通常第三方模块是不会在 master 部分加入自己的功能代码的。虽然

k8s部署

孤街浪徒 提交于 2019-12-04 06:19:40
1.规划 角色 IP 主机名 master/etcd 10.0.0.115 master node1/master/etcd 10.0.0.116 node1 node2/master/etcd 10.0.0.117 node2 node3 10.0.0.118 node3 2.基础环境设置 2.1设置主机名 hostnamectl set-hostname XXXX 2.2做免密 在master上操作 [root@master .ssh]# ssh-keygen -t rsa [root@master .ssh]# cat id_rsa.pub >authorized_keys [root@master .ssh]# scp id_rsa* 10.0.0.206:/root/.ssh/ [root@master .ssh]# scp id_rsa* 10.0.0.208:/root/.ssh/ [root@node1 .ssh]# cat id_rsa.pub >authorized_keys ##两台node上都要操作 [root@node2 .ssh]# cat id_rsa.pub >authorized_keys 2.3安装ansible(也可以不安装,方便传文件) 这里只需在master1节点安装即可,后续一些操作均在此机器上执行,然后把生成的文件分发至对应节点 yum