分布式

读书笔记-大型分布式网站架构-设计与实践【陈康贤】

只愿长相守 提交于 2019-12-02 19:48:13
1. 面向服务的体系架构(SOA) HTTP协议的工作方式与HTTP网络协议栈的结构 如何实现基于HTTP协议和TCP协议的RPC调用,它们之间的有何差别,分别适应何种场景 如何实现服务的动态注册和路由,以及软负载均衡的实现 1.1 基于TCP协议的RPC 1.2 基于HTTP协议的RPC 1.3 服务的路由和负载均衡 1.4 HTTP服务网关 2. 分布式系统基础设施 分布式缓存memcache的使用及分布式策略,包括Hash算法的选择 常见的分布式系统存储解决方案,包括MySQL的分布式拓展、HBase的API及使用场景、Redis的使用等 如何使用分布式消息系统ActiveMQ来降低系统之间的耦合度,以及进行应用间的通信 垂直化的搜索引擎在分布式系统中的使用,包括搜索引擎的基本原理、Lucene详细的使用介绍,以及基于Lucene的开源搜索引擎工具Solr使用 2.1 分布式缓存 2.2 持久化存储 2.3 消息系统 2.4 垂直化搜索引擎 2.5 其他基础设施 3. 互联网安全架构 场景的Web攻击手段和防御方法,如XSS、CRSF、SQL注入等 常见的一些安全算法,如数字摘要、对称加密、非对称加密、数字签名、数字证书等 如何采用摘要认证方式防止信息篡改、通过数字签名验证通信双方的合法性,以及通过HTTPS协议保障通信过程中数据不被第三方监听和截获 在开放平台系统下

Hadoop上路_08-在win7中配置eclipse连接Ubuntu内的hadoop

与世无争的帅哥 提交于 2019-12-02 16:10:54
1. 设置 Ubuntu 静态 IP : hm@hm-ubuntu:~$ ifconfig 1 )配置网卡参数到 interfaces 文件: hm@hm-ubuntu:~$ sudo gedit /etc/network/interfaces 2 )重启网卡: hm@hm-ubuntu:~$ sudo /etc/init.d/networking restart 再次查看网卡配置: 2. 配置 Ubuntu 的 hosts : hm@hm-ubuntu:~$ sudo gedit /etc/hosts 重启 Ubuntu 3. 配置 VirtualBox 虚拟机的网络连接: 注意切换当前使用的网卡。 4. 配置 Win7 的 hosts : 5. 在 Win7 的 eclipse 中配置 Map/Reduce 连接: 1 )基本模式: 2 )高级模式(可选): 针对hdfs-site.xml文件: 针对core-site.xml文件: 3 ) 错误: 连接到Map/Reduce地址错误 Cannot connect to the Map/Reduce location: ubuntu Call to hm-ubuntu/192.168.1.251:9001 failed on connection exception: java.net.ConnectException:

Gearman Python接口使用

☆樱花仙子☆ 提交于 2019-12-02 03:51:59
Gearman是一个分布式任务调度框架,对于Gearman的介绍已有很多,本文主要记录下最近是用Gearman的python接口时遇到的小问题 python-Gearman目前版本2.0.1( http://www.gearman.org/python_client_library ),从1.x到2.x的变化不少,相关的区别文档中有详细说明( http://pythonhosted.org/gearman/ ),下文对其中部分做下翻译性的介绍。 Gearman worker:worker端,向server注册工作接口并执行具体任务。 GearmanWorker类描述了woker的工作。 例:(来自文档) gm_worker = gearman.GearmanWorker(['localhost:4730']) #反转字符串 def task_listener_reverse(gearman_worker, gearman_job): return reversed(gearman_job.data) #设置id是可选的 gm_worker.set_client_id('your_worker_client_id_name') gm_worker.register_task('reverse', task_listener_reverse) #进入工作循环 gm_worker

手把手教你配置Hbase完全分布式环境

扶醉桌前 提交于 2019-12-02 03:27:56
HBase 配置相对比较简单,下面的教程也是基于我上面 2 篇 Hadoop 配置的环境下继续往下添加 HBase 的分布式配置,这次我的 HBase 安装目录放在跟 Hadoop 同一目录下面,节点信息跟我前一篇 Hadoop 完全分布式配置完全一样,不清楚的话可以参考我那篇文章。 HBase 根目录: /usr/mywind/hbase HBase 的版本: 0.98.8-hadoop2 有图有真相: 完整配置步骤: hadoop-env.sh → hbase-env.sh → hbase-site.xml → regionservers 当然,配置之前的惯例是把 bin 目录加到系统环境变量里面,方便命令的使用。然后,详细的步骤如下: 1. 配置 hadoop-env.sh ,把 HBase 环境变量告诉 Hadoop 。 export HBASE_HOME=${HBASE_HOME} export HADOOP_CLASSPATH=$HBASE_HOME/hbase-it-0.98.8-hadoop2.jar:$HBASE_HOME/hbase-it-0.98.8-hadoop2-tests.jar:$HBASE_HOME/conf:${HBASE_HOME}/lib/zookeeper-3.4.6.jar:${HBASE_HOME}/lib/protobuf-java-2

完全分布式 hadoop 1.X集群部署

半腔热情 提交于 2019-12-01 23:08:06
准备工作:配置好两台以上能免密码ssh访问的Linux服务器;下载好jdk和hadoop-1.2.1-bin.tar.gz;确保iptables、selinux等防火墙已关闭 1、解压jdk $tar -xzvf jdk-7u71-linux-i586.tar.gz #将解压出来的jdk文件转移到usr目录下,也可以不转移,后面通过环境变量配置到相应的目录即可 $mv ./jdk1.7.0_71 /usr 2、解压hadoop,配置hadoop $tar -xzvf hadoop-1.2.1-bin.tar.gz #进入到hadoop-1.2.1下面的conf目录下 $cd hadoop-1.2.1/conf #配置环境变量 java_home $vi hadoop-env.sh #只修改这一行即可 export java_home=/usr/jdk1.7.0_71 #修改core-site.xml $vi core-site.xml <configuration> #自定义namenode的主机名 master.haddop,可以自定义,也可以是IP地址,如果是名称,需要修改hosts <property> <name>fs.default.name</name> <value>hdfs://master.hadoop:9000</value> </property>

Nginx+Tomcat负载平衡,Redis管理session存储

感情迁移 提交于 2019-12-01 22:43:45
开篇 使用Nginx作为Tomcat的负载平衡器,Tomcat的会话Session数据存储在Redis,能够实现0当机的7x24运营效果。因为将会话存储在Redis中,因此Nginx就不必配置成stick粘粘某个Tomcat方式,这样才能真正实现后台多个Tomcat负载平衡,用户请求能够发往任何一个tomcat主机,当我们需要部署新应用代码时,只要停止任何一台tomcat,所有当前在线用户都会导向到运行中的tomcat实例,因为会话数据被序列化到Redis,在线用户不会受到影响,一旦停掉的tomcat实例上线,另外其他重复部署过程。 一、配置环境 工具 版本 端口 nginx 1.9.4 127.0.0.1:80(默认) tomcat7_1 7.0.61 127.0.0.1:8091 tomcat7_2 7.0.61 127.0.0.1:8092 tomcat7_3 7.0.61 127.0.0.1:8093 redis 2.7.3+ 127.0.0.1:6379(默认) 二、构建 tomcat-redis-session-manager-master 介绍:tomcat-redis-session-manager 是一个用来将 Tomcat 的 Session 数据存储在 Redis 库中的项目。 官网: https://github.com/jcoleman/tomcat

分享一个简单易用的RPC开源项目—Tatala

走远了吗. 提交于 2019-12-01 12:16:07
这个项目最早(2008年)是用于一个网络游戏的Cache Server,以及一个电子商务的Web Session服务。后来不断增加新的功能,除了Java还支持C#,到现在已经可以用它来开发网络游戏的服务器。等过些日子我还会开源网络游戏的服务器源码。 关于性能,当时后台相应请求的效率是每秒10W次,现在我在自己的笔记本上测,只有一个客户端与服务器都在一个物理机上(CPU: i7-3610QM; RAM: 8G; OS: Win7-64),每秒相应12000个请求。 tatala-client-csharp已经上传,同样在笔记本上测试,一个c#客户端一个Java服务端都在一台机器上,每秒响应22000个请求。c#客户端除了性能测试的例子还有一个演示Server推送的聊天室例子。 Tatala最大的特点是简单,性能是第二考虑能够满足大部分应用就行。因为性能可以通过增加机器得到提升,而代码简单意味着雇更少的人更快的开发。老板省钱,程序员轻松才是最重要的。 开源地址: https://github.com/zijan/Tatala 下面是简单介绍。 概述 Tatala是一个简单易用的RPC中间件,并且跨语言跨平台。它将调用方法转变成字节数组(包括被调用类名,目标方法名,参数序列和返回值),在socket基础上实现客户端和服务器之间的互相通信。 目前,Tatala支持Java的客户端与服务器端

大数据之Hadoop平台(二)Centos6.5(64bit)Hadoop2.5.1伪分布式安装记录,wordcount运行测试

≡放荡痞女 提交于 2019-12-01 08:20:45
注意: 以下安装步骤在 Centos6.5 操作系统中进行,安装步骤同样适于其他操作系统,如有同学使用 Ubuntu 等其他 Linux 操作系统,只需注意个别命令略有不同。 注意一下不同用户权限的操作,比如关闭防火墙,需要用 root 权限。 单节点的 hadoop 安装出现的问题会在如下几个方面: JDK 环境的配置、防火墙是否关闭、 root 用户和 hadoop 用户的不同操作等。 在搭建的过程中细心一点,按照下面的步骤做,基本不会有什么问题的。 一、准备工作( root 用户) 1. 关闭防火墙 关闭防火墙:service iptables stop 关闭开机启动:chkconfig iptables off 2.创建用户 创建hadoop用户:useradd hadoop 密码:passwd hadoop 加入sudoers:vim /etc/sudoers ,在root下一行写入hadoop ALL=(ALL) ALL 3.修改 hosts 文件 在 /etc/hosts 文件最后一行加入: 127.0.0.1 hadoop 二、安装 JDK1.8 ( root 用户 ) 1. 查看已装 JDK rpm -qa |grep java rpm -qa |grep jdk 2. 卸载上一步显示的程序 rpm -e --nodeps 程序名 (如:rpm -e -

Hadoop 2.6.4分布式集群环境搭建

时光怂恿深爱的人放手 提交于 2019-12-01 02:59:50
一、软件准备 VMware-Fusion-8.0.0-2985594.dmg ubuntu-14.04.4-desktop-amd64.iso 二、集群机器准备 在 VMware Fusion中安装三台虚拟机,如下: 在安装三台虚拟机的时候,创建专门用于 Hadoop 集群管理的用户 hadoop,为了管理方便,密码可以简单设置为 hadoop。 三台机器的名称和IP地址如下: 主机名称 IP地址 master 192.168.109.137 slave01 192.168.109.139 slave02 192.168.109.138 修改 三台机器的 /etc/hosts 文件,配置如下: 127.0.0.1 localhost 192.168.109.137 master 192.168.109.139 slave01 192.168.109.138 slave02 可以使用 ping 命令测试三台机器的连通性。 三、配置 ssh 无密码访问集群机器 在三台机器中分别执行以下两个命令,以便无密码登录到 localhost。 ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 将 slave01 和 slave02 的公钥 id_dsa.pub 传给

Spark 1.6.1分布式集群环境搭建

风格不统一 提交于 2019-12-01 02:59:37
一、软件准备 scala-2.11.8.tgz spark-1.6.1-bin-hadoop2.6.tgz 二、Scala 安装 1、master 机器 (1)下载 scala-2.11.8.tgz, 解压到 /opt 目录下,即: /opt/scala-2.11.8。 (2)修改 scala-2.11.8 目录所属用户和用户组。 sudo chown -R hadoop:hadoop scala-2.11.8 (3)修改环境变量文件 .bashrc , 添加以下内容。 # Scala Env export SCALA_HOME=/opt/scala-2.11.8 export PATH=$PATH:$SCALA_HOME/bin 运行 source .bashrc 使环境变量生效。 (4) 验证 Scala 安装 2、Slave机器 slave01 和 slave02 参照 master 机器安装步骤 进行安装。 三、Spark 安装 1、master 机器 (1) 下载 spark-1.6.1-bin-hadoop2.6.tgz ,解压到 /opt 目录下。 (2) 修改 spark-1.6.1-bin-hadoop2.6 目录所属用户和用户组。 sudo chown -R hadoop:hadoop spark-1.6.1-bin-hadoop2.6 (3) 修改环境变量文件