搜档网
当前位置:搜档网 › Hadoop1.1.2,ZooKeeper及HBase的安装配置过程(绝对可用)

Hadoop1.1.2,ZooKeeper及HBase的安装配置过程(绝对可用)

Hadoop1.1.2,ZooKeeper及HBase的安装配置过程(绝对可用)
Hadoop1.1.2,ZooKeeper及HBase的安装配置过程(绝对可用)

Hadoop、ZooKeeper及HBase的安装配置过程(绝对可用)

这两天正在为公司配置一个Hadoop集群(以及HBase),作为存储及计算海量数据的平台。现在将安装的过程贴出来,仅供参考。

Hadoop的配置

?集群的物理配置情况

集群IP: 172.16.38.213 ~ 172.16.38.218

(hostname分别为master、slave0、slave1、slave2、slave3、slave4)

用户名/密码:root/123456

其中,master作为jobtracker和namenode,其余节点作为tasktracker和datanode

?节点角色分配

修改每个节点的 /etc/hosts文件,追加如下内容

172.16.38.213 master

172.16.38.214 slave0

172.16.38.215 slave1

172.16.38.216 slave2

172.16.38.217 slave3

172.16.38.218 slave4

再修改每个节点自己的hostname,如对于master,将其/etc/sysconfig/network文件改为 NETWORKING=yes

HOSTNAME=master

然后,运行

hostname master

退出,再进入输入env | grep hostname发现修改生效

?为每个节点设置无密码ssh登录

1、在master节点上运行

ssh-keygen–t rsa

2、在master节点上,首先

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

启动Hadoop

在master节点的/home/LTE/hadoop-1.1.2目录下进行HDFS的格式化

bin/hadoopnamenode –format

格式化后,HDFS中的内容会全部丢失

然后,开启Hadoop集群

bin/start-all.sh

此时,Hadoop集群已经启动,可以提交运算的作业了。

HBase的配置

安装HBase时,不仅需要HBase本身,还需要ZooKeeper来提供、管理和协调分布式服务。在运行HBase之前,也需要先启动ZooKeeper服务。

另外,有些版本的HBase只能支持特定版本的Hadoop,如下表:

在本文中,采用了Hadoop-1.1.2,HBase-0.94.8,以及ZooKeeper-3.4.5

由于ZooKeeper采用了Paxos算法来进行选举,因此实际能够有效参与选举的节点数量是奇数。所以,我们在安装HBase和ZooKeeper时,只采用奇数个节点(本文采用5个节点,分别为master、slave0、slave1、slave2、slave3)。

安装ZooKeeper

将zookeeper-3.4.5.tar.gz在/home/LTE下解压,生成zookeeper-3.4.5目录。在

/home/LTE/zookeeper-3.4.5/conf中,有zoo_sample.cfg文件,使用命令

cpzoo_sample.cfgzoo.cfg 命令生成 zoo.cfg配置文件。编辑zoo.cfg的内容,如下:[html]view plaincopyprint?

# The number of milliseconds of each tick

tickTime=2000

# The number of ticks that the initial

# synchronization phase can take

initLimit=10

# The number of ticks that can pass between

# sending a request and getting an acknowledgement

syncLimit=5

# the directory where the snapshot is stored.

# do not use /tmp for storage, /tmp here is just

# example sakes.

dataDir=/home/LTE/zookeeper

# the port at which the clients will connect

clientPort=2181

server.1=master:2888:3888

server.2=slave0:2888:3888

server.3=slave1:2888:3888

server.4=slave2:2888:3888

server.5=slave3:2888:3888

#

# Be sure to read the maintenance section of the

# administrator guide before turning on autopurge.

#

# https://www.sodocs.net/doc/a14503806.html,/doc/current/zookeeperAdmin.html#sc_maint

enance

#

# The number of snapshots to retain in dataDir

#autopurge.snapRetainCount=3

# Purge task interval in hours

# Set to "0" to disable auto purge feature

#autopurge.purgeInterval=1

为了让系统能够识别zoo.cfg中的server.id=host:port:port中的server.id,在master节点的/home/LTE/zookeeper中创建一个文件myid,里面只有一个数字1;同理,在slave0节

点的/home/LTE/zookeeper中创建一个文件myid,里面只有一个数字2;以此类推…. 直至slave3节点。注意,这里id的范围是1~255 。以上配置(zookeeper以及zookeeper-3.4.5)要复制到集群中的每一个节点上去。

在/etc/profile的最后添加:

[html]view plaincopyprint?

export HBASE_HOME=/home/LTE/hbase-0.94.8

export HADOOP_HOME=/home/LTE/hadoop-1.1.2

export ZK_HOME=/home/LTE/zookeeper-3.4.5

export JAVA_HOME=/usr/local/java/jdk1.6.0_32

export CLASSPATH=$CLASSPATH:$HBASE_HOME/lib:$JAVA_HOME/lib

export PATH=$JAVA_HOME/bin:$HBASE_HOME/bin:$ANT_HOME/bin:$HADOOP_HOME/

bin:$ZK_HOME/bin:$PATH

然后,source /etc/profile

这个操作要在集群的每一个节点上进行

启动ZooKeeper

在每一个节点的/home/LTE/zookeeper-3.4.5/bin中执行命令: ./zkServer.sh start

这样就启动了zookeeper集群中的各个节点。

输入命令./zkServer.sh status

可以查看当前节点在zookeeper集群中的角色是leader还是follower

安装HBase

将/home/LTE/hbase-0.94.8.tar.gz解压,生成/home/LTE/hbase-0.94.8。在hbase-0.94.8/lib 中,原来有一个hadoop-core-1.0.4.jar文件,但是我们用的Hadoop的版本是hadoop-1.1.2,

所以需要将hbase-0.94.8/lib/hadoop-core-1.0.4.jar替换成

hadoop-1.1.2/hadoop-core-1.1.2.jar,否则会有冲突。

打开conf/hbase-env.sh文件,将其中最后一行改为:

export HBASE_MANAGES_ZK=false

这表示我们不使用hbase-0.94.8自带的zookeeper,而是使用我们刚才自己安装的zookeeper-2.3.4(具体指定使用哪个zookeeper是通过/etc/profile中的ZK_HOME变量来指定的)。

下面,打开conf/hbase-site.xml文件,添加以下内容:

[html]view plaincopyprint?

1.

2.

3.hbase.rootdir

4.hdfs://master:54310/hbase

5.

6.

7.hbase.cluster.distributed

8.true

9.

10.

11.dfs.replication

12.3

13.

14.

15.hbase.zookeeper.quorum

16.master,slave0,slave1,slave2,slave3

17.

18.

19.hbase.zookeeper.property.dataDir

20./home/LTE/zookeeper/dataDir

21.

22.

其中,我们需要通过hbase.rootdir指定HDFS的一个namenode节点,并让HBase将数据写入HDFS中的一个目录(本例中就是hdfs://master:54310/hbase);

hbase.zookeeper.quorum指定了哪些节点运行Quorum Peer(即QuorumPeerMain进程),个数需为奇数。

下面,打开文件conf/regionservers,添加以下内容:

[html]view plaincopyprint?

1.slave0

2.slave1

3.slave2

4.slave3

该文件指定了HRegionServer进程将在哪些节点上运行。

以上配置需要在HBase的每一个节点中生效。

启动HBase

OK,现在HBase集群配置好了。我们来启动HBase。

进入$HBASE_HOME/bin目录下,输入命令

./start-hbase.sh

在HBase集群启动之后,键入命令

./hbase shell

启动HBase的控制台界面

我们可以在浏览器中查看HBase系统的运行状态,地址为

http://172.16.38.213:60010/master-status,其中172.16.38.213是master所在节点的IP.

常见问题

1、HBase中的某个节点无法启动

这很可能是因为集群中各个节点的系统时间不一致(时间差超出了某个阈值),这是我们需要将几台机器间的时间调整一致。

我们可以将master作为时间服务器,让其他机器与master进行对时。

首先,在master上键入命令service ntpd start 来开启master上的时间服务器。

等待几分钟后,在其他每一台机器上键入命令ntpdate master 来与master进行对时

2、由于缺少一些jar包引起的异常

在HBase上运行一些Hadoop的MR程序时,可能会报以下异常:

[plain]view plaincopyprint?

1.Exception in thread "main" https://www.sodocs.net/doc/a14503806.html,ng.NoClassDefFoundError: com/google/

protobuf/Message

2..... ...

3.Caused by: https://www.sodocs.net/doc/a14503806.html,ng.ClassNotFoundException: com.google.protobuf.Messa

ge

4..... ...

或者

[plain]view plaincopyprint?

1.Exception in thread "main" https://www.sodocs.net/doc/a14503806.html,ng.NoClassDefFoundError: org/apache/

zookeeper/KeeperException

2..... ...

3.Caused by: https://www.sodocs.net/doc/a14503806.html,ng.ClassNotFoundException: org.apache.zookeeper.Keep

erException

4..... ...

解决方法:

①在Hadoop的conf/hadoop-env.sh中设置HADOOP_CLASSPATH变量

export

HADOOP_CLASSPATH=/home/LTE/hbase-0.94.8/lib:/home/LTE/zookeeper-3.4.5/lib:/ho

me/LTE/hbase-0.94.8/hbase-0.94.8.jar:/home/LTE/zookeeper-3.4.5/zookeeper-3.4.5.jar

②将/home/LTE/hbase-0.94.8/lib/protobuf-java-2.4.0a.jar复制到每个节点的

/home/LTE/hadoop-1.1.2/lib路径下

如果有以下异常

[plain]view plaincopyprint?

1.Exception in thread "main" https://www.sodocs.net/doc/a14503806.html,ng.NoClassDefFoundError: com/google/

common/collect/ImmutableSet

2.... ....

3.

4.Caused by: https://www.sodocs.net/doc/a14503806.html,ng.ClassNotFoundException: https://www.sodocs.net/doc/a14503806.html,mon.collect

.ImmutableSet

5. at https://www.sodocs.net/doc/a14503806.html,.URLClassLoader$1.run(URLClassLoader.java:202)

6. at java.security.AccessController.doPrivileged(Native Method)

7. at https://www.sodocs.net/doc/a14503806.html,.URLClassLoader.findClass(URLClassLoader.java:190)

8. at https://www.sodocs.net/doc/a14503806.html,ng.ClassLoader.loadClass(ClassLoader.java:306)

9. at https://www.sodocs.net/doc/a14503806.html,uncher$AppClassLoader.loadClass(Launcher.java:301)

10. at https://www.sodocs.net/doc/a14503806.html,ng.ClassLoader.loadClass(ClassLoader.java:247)

11. ... 12 more

那么是由于Hadoop缺少guava-11.0.2.jar包引起的。

解决方法:将每个节点的HBase/lib下的guava-11.0.2.jar包复制到Hadoop的lib目录下即可

参考连接:HBase MapReduce 一些ClassNotFoundException 所缺少的jar包

ZOOKEEPER解惑

ZOOKEEPER 解惑 今年年初的时候,写了一篇ZooKeeper 的入门文章《初识ZooKeeper 》,一直到这一周,才有时间将 ZooKeeper 整个源码通读了一遍。不能说完全理解了ZooKeeper 的工作原理与细节,但是之前心中一直关于ZooKeeper 的疑问都得到了解释。 现在网上关于ZooKeeper 的文章很多,有介绍Leader 选举算法的,有介绍ZooKeeper Server 内部原理的,还有介绍ZooKeeper Client 的。本文不打算再写类似的内容,而专注与解答读者对ZooKeeper 的相关疑问。 ZOOKEEPER 在客户端究竟做了什么事情 使用过ZooKeeper 的读者都知道,初始化客户端的代码如下: 1 2 3 System.out.println("Starting ZK:"); zk = new ZooKeeper(address, 3000, this ); System.out.println("Finished starting ZK: " + zk); 完成客户段的初始化之后,就可以对ZooKeeper 进行相应的操作了: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 if (zk != null ) { try { Stat s = zk.exists(root, false ); if (s == null ) { zk.create(root, new byte [0], Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); } } catch (KeeperException e) { System.out .println("Keeper exception when instantiating queue: " + e.toString()); } catch (InterruptedException e) { System.out.println("Interrupted

ZooKeeper注册中心安装详细步骤(单节点)

本文参考(龙果学院)www#roncoo#com DUBBO项目实战课程文档 Dubbo建议使用Zookeeper作为服务的注册中心。 注册中心服务器(192.168.3.71)配置,安装Zookeeper: 1、修改操作系统的/etc/hosts文件中添加: # zookeeper servers 192.168.3.71 edu-provider-01 2、到https://www.sodocs.net/doc/a14503806.html,/zookeeper/下载zookeeper-3.4.6: $ wget https://www.sodocs.net/doc/a14503806.html,/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz 3、解压zookeeper安装包: $ tar -zxvf zookeeper-3.4.6.tar.gz 4、在/home/wusc/zookeeper-3.4.6目录下创建以下目录: $ cd /home/wusc/zookeeper-3.4.6 $ mkdir data $ mkdir logs 5、将zookeeper-3.4.6/conf目录下的zoo_sample.cfg文件拷贝一份,命名为为 zoo.cfg $ cp zoo_sample.cfg zoo.cfg 6、修改zoo.cfg配置文件: $ vi zoo.cfg # The number of milliseconds of each tick tickTime=2000 # The number of ticks that the initial # synchronization phase can take initLimit=10 # The number of ticks that can pass between # sending a request and getting an acknowledgement syncLimit=5 # the directory where the snapshot is stored. # do not use /tmp for storage, /tmp here is just # example sakes. dataDir=/home/wusc/zookeeper-3.4.6/data dataLogDir=/home/wusc/zookeeper-3.4.6/logs # the port at which the clients will connect clientPort=2181 #2888,3888 are election port server.1=edu-provider-01:2888:3888

VMware网络虚拟化产品NSX安装配置指南

NSX for vSphere Getting Started Guide VMware NSX for vSphere, release 6.0.x July 21, 2014 Table of Contents NSX for vSphere Getting Started Guide (1) Introduction (3) Installation of NSX for vSphere (4) Infrastructure requirements for NSX-v (4) NSX-v Installation overview (6) Step 1: Install NSX Manager (6) Step 2: Install the NSX Controller Cluster (8) Step 3: Prepare ESXi hosts for NSX (10) L2 Logical Switching (14) Goal of the L2 logical switching lab (14) Create four Logical Switches (14) Add VMs on Web/App/DB Logical Switches (15) Validate that VMs on the same Logical Switch can communicate (16) Distributed Logical Routing (18) Goal of the logical routing lab (18) Create a single Distributed Logical Router (18) Validate that VMs in the different Logical Switches can communicate (21) Distributed Firewalling (23) Goal of the Distributed Firewalling lab (23) Create the Distributed Firewall rules (23) Validate the Distributed Firewall rules (25) Logical Centralized Routing (26)

Windows环境下Kafka与Zookeeper安装配置与启动过程

Windows环境下Kafka与Zookeeper安装配置与启动过程1.软件下载 1.1下载jdk1.8.0_60 1.2 下载zookeeper-3.4.9.tar.gz 1.3下载kafka_ 2.12-0.10.2.0.tgz 2.环境准备 安装配置java环境,配置jdk1.8为操作系统java运行时环境 2.1安装jdk1.8 将https://www.sodocs.net/doc/a14503806.html,网站下载的jdk1.8.0_60压缩包解压缩到c:\program files\java目录下,如下图: 2.2 配置java环境 如图在“控制面板--系统和安全--系统”页,鼠标点击“高级系统设置”,在弹出的“系统属性”页面选择高级tab页:

点击“环境变量”按钮后,在弹出的环境变量对话框中点击“系统变量”栏中的“新建”按钮,在弹出的“新建系统变量”窗口中输入如下: :

点确定确定后,再配置JRE_HOME

同时打开一个cmd窗口在其中输入: SET JA V A_HOME=C:\Program Files\Java\jdk1.8.0_60

SET CLASSPATH=.;%JA V A_HOME%/lib/dt.jar;%JA V A_HOME%/lib/tools.jar;%JRE_HOME%\lib\;%JRE_HOME%\lib\r t.jar;%JRE_HOME%\lib\jce.jar;%JRE_HOME%\lib\metadata-extractor-2.4.0-beta-1.jar;%JRE_HOME%\lib\mediautil-1.0.jar; SET Path=%JA V A_HOME%\bin;%JA V A_HOME%\jre\bin; 在命令行输入java -version,输出如下,表明系统已启用java配置 3.Zookeeper安装配置 3.1 解压与目录设计 在目录e:\apache\zookeeper\下解压文件zookeeper-3.4.9.tar.gz,并将解压文件夹改名为zk0,复制该文件夹到相同目录下分别改名为zk1、zk2. 3.2在zk0\zk1\zk2目录下都创建空文件夹data和logs,如下图 3.2在data目录中创建文件myid,设置zookeeper服务器的序号。 Myid的内容分别为0、1、2

利用的配置ZooKeeper服务实现分布式系统数据同步

利用ZooKeeper服务实现分布式系统的配置数据同步 很多时候,一旦习惯了某些事情,也就习惯了它们的恶劣,习惯了它们的丑陋,习惯了它们“赋予”你的各种痛苦。 –Tony Bai 一、痼疾难解 我们目前的业务配置数据同步方案。简单描述这个方案如下: 方案涉及两个角色–数据库(DB)与应用节点(app_node); 所有的业务配置数据均统一存储在DB中; 应用节点在启动后从DB中读取最新业务配置数据; 应用节点运行过程中,如果DB中的业务配置数据发生变更(增/删/改),DB中的触发器(trigger)将会执行。在触发器的脚本中,触发器将会【串行】地与每个应用节点建立TCP链接,并将业务配置表的变更信息发给各个应用节点。应用节点会接收并【解析】触发器发过来变更数据包,并同步到自己的本地内存中。这样就达到了运行时更新配置的目的。 曾几何时,在那个还没有集群化,没有分布式的时代,它还是一个不错的方案,至少在线上没有暴露出太多问题,它也不在我们关注的重点范围之内。但随着集群化、分布式的新版本的到来,那一大坨遗留的代码就变得格外让人不顺眼,同时问题也随之在线上暴露开来了。上面我用【】标记了两个关键词:“串行”和“解析”。这两个词隐含有这个方案的两个主要问题。 “串行”–意味着每一次DB的业务配置数据变更,trigger脚本都要逐个与应用节点建立链接并收发数据。当应用节点逐渐增多时,每一次业务数据同步都会相当地耗时。尤其是当某个应用节点所在主机出现问题时,到该节点链接建立的过程会阻塞,导致整个业务配置数据同步的时间达到无法忍受的地步。 “解析”–我们自定义了trigger与应用节点之间的协议包。协议包中包含了每次变更的详细信息,比如在某个表添加一条记录,trigger会将这个记录的每个字段信息排成一行打包发给应用节点。应用节点收到这个包后,会根据已有的表字段信息对该包进行解析。看得出这是一个很强的耦合:表字段一旦修改,trigger脚本要修改,应用节点的解析函数要修改,还要考虑协议包中表字段的排序。如果应用节点解析时与trigger脚本打包时的字段顺序不同的话,那就可能出现严重错误,而且这种错误有时难于校验并难于发现。 二、曾经的努力 针对这个方案的不足,我们曾经也做过改进,但主要针对的是解决“串行”这个问题上。第一次改进:同步的发起能否并行做?trigger脚本能否并行发起对各个应用节点的链接建立请求? Java组同事对trigger脚本做了改进。让trigger脚本调用function,而function中又调用了写好的Java方法,Java代码由DB加载到环境中。在Java方法中创建多个同步线程,并发与各应用节点建立链接并发送数据。这个方法的确可以变“串行”为“并行”,但不知为何生产环境中实际运行时偶尔会出现异常,该异常发生在DB中,影响很大。有时还会导致DB的一些异常现象。至今原因尚未明确,我们无奈退回到以前的方案。 第二次改进:从Push模式到Pull模式 在之前部门新规划的一个产品中,开发人员对数据同步的机制做了重新的设计,将原来的Push模式改为了Pull模式。大致方案是: 业务数据变更时,trigger直接将变更内容(以老方案中那个协议包的打包格式)写到一个“变更日志表”中,每条记录有一个唯一的序号,序号递增。

虚拟化实施计划方案

1.1、虚拟化实施容 在本期项目中,将遵照规划和架构设计进行项目实施。本实施方案不涉及具体操作步骤和细节配置,而主要针对项目实施的过程进行控制。预计的实施步骤如下: 1.准备阶段 准备阶段是为项目的实施搜集各方面资料和必要的工具,同时也包括双方参与实施人员的确定。准备阶段主要容如下; 软件介质准备,包含项目涉及的所有软件产品介质,如果是项目采购则由卖方准备,如采用用户现有的软件则由用户方提供,主要的介质包含: (1)产品介质 (2)各虚拟机的操作系统介质 (3)在应用服务器上运行的所有应用软件介质 (4)服务器硬件驱动程序介质 如涉及到License则需要提供方确保在提供软件介质时同时提供有效的License授权。如Windows操作系统需要S/N等。 在准备阶段还需要确定实施需要的人员,每个步骤的参与人员要事先确定下来。为了确保应用迁移时的现场技术支持,要求在应用迁移或服务器迁移时确保应用软件的管理员或厂家技术人员能够现场支持。 2. vSphere虚拟架构实施 在实施过程中,主要的工作包括虚拟环境搭建和系统迁移两部分,本节主要针对vSphere4虚拟化架构搭建的过程进行描述。 针对本期项目的情况,需要按照下列步骤进行vSphere架构建设。在此,只对实施的过程列表并进行简要说明,详细地安装和配置技术实现步骤将在安装过程中为用户进行现场培训,并在项目实施后的安装报告中将具体参数设置等进行汇总和记录,安装报告将在总结与交付阶段与项目的其他文档共同转移给用户的管理团队。

1.2、虚拟化实施流程

1.3、 vSphere虚拟架构实施步骤 在实施过程中,主要的工作包括虚拟环境搭建和系统迁移两部分,本节主要针对vSphere 虚拟化架构搭建的过程进行描述。 针对本期项目的情况,需要按照下列步骤进行vSphere架构建设。在此,只对实施的过程列表并进行简要说明,详细地安装和配置技术实现步骤将在安装过程中为用户进行现场培训,

VMwarevSphere60服务器虚拟化部署安装图解

VMware vSphere 6.0 服务器虚拟化部署完整配置 一VMware vSphere部署的前期规划要点 1vSphere的优点 使用vSphere虚拟化的服务器不仅非常稳定、可靠、安全,同时VMware ESXi虚拟化核心很少,可以安装在1GB的U盘上运行,并且在多年的运行时,除了产品版本升级以及必要的补丁更新外,VMware ESXi虚拟化主机不需要重启—只要机房不停电、不升级,VMware ESXi可以一直运行多年。 2如何利用现在的设备架构虚拟化环境 在虚拟化过程中,用户大多会考虑目前现有的服务器、存储、交换机等基础设备是否可以使用,这需要根据服务器、存储的性能以及参数综合考虑。 如果是近一、两年新购买的服务器,则考虑将这些服务器整合、扩充,用做虚拟化主机,一般来说大多数标配不高的服务器都能扩充到很高的配置。例如,IBM 3850 X6服务器最大可以扩充到4个CPU、1.5TB内存,以CPU为例,IBM 3850 X6出厂标配2个CPU,这CPU可以是6核、8核,如果现有多台IBM 3850 X6服务器(例如2台或更多),可以将这2台的CPU放到其中一台,而另一台则可以新购4个8核的CPU,同样,内存也可以集中到一台,另一台则配置多个单条8GB的内存,同样,对于其他厂家的服务器也可以这样处理,先进行多台整合,然后再进行服务器的升级。 在虚拟化实施的过程中,如果使用现有的服务器,推荐优先为服务器添加内存、网卡,其次是配置冗余电源、CPU;至于硬盘,在虚拟化项目中,优先是配置共享的存储,其次是添加本地硬盘。 除了做虚拟化主机外,还可以将原有的服务器改做存储服务器,例如,如果某服务器配置较低并且不具有升级的价值,但具有较多的本地硬盘时,可以将硬盘集中到某台服务器中,将这台服务器通过安装openfiler(32位或64位产品都有)或Windows Server 2008 R2或Windows Server 2012,组成存储服务器,通过千兆网络为虚拟化环境提供iSCSI的网络存储,这些存储可以用来做数据备份或扩展。 3服务器性能与容量规划 在实施虚拟化的前期,有一个虚拟机容量规划,就是一台物理服务器上,最大能放多少虚拟机。实际上这是一个综合的问题,即要考虑主机的CPU、内存、磁盘(容量与性能),也要考虑运行的虚拟机需要的资源,在实际使用时,系统总有至少30%甚至更高的富余容量,不可能让一个主机上的资源利用率超过80%以致接近100%,否则一旦达到这些数值,整个系统响应会比较慢。 在估算虚拟化的容量时,在只考虑CPU的情况下,可以将物理CPU与虚拟CPU按照1:4~1:10甚至更高的比例规划,例如一台物理的主机具有4个8核心的CPU,在内存、存储足够的情况下,按照1:5的比例,则可以虚拟出4×8×5=160个vcpu,假设每个虚拟机需要2个vcpu,则可以创建80个虚拟机。在实际实施虚拟化的项目中,大多数虚拟机对CPU的要求并不是非常的高,即使为虚拟机分配了4个或更多的CPU,但实际上该虚拟机的CPU使用率只有10%以下,这时候所消耗的物理主机CPU资源不足0.5个。 在虚拟化的项目中,对内存占用是最大、要求最高的,在实际使用中经常发现,物理主机的内

07 hadoop完全分布式安装第七步:zookeeper分布式配置

实验七 zookeeper分布式的配置 tar -zxvf zookeeper-3.4.5.tar.gz mv zookeeper-3.4.5 zookeeper cd zookeeper mkdir data mkdir logs 三、集群模式 集群模式就是在不同主机上安装zookeeper然后组成集群的模式;下边以在192.168.1.1,192.168.1.2,192.168.1.3三台主机为例。 zookeeper 配置 1.Zookeeper服务集群规模不小于三个节点,要求各服务之间系统时间要保持一致。 2.在master的/home/chenlijun目录下,解压缩zookeeper(执行命令tar –zvxf zooke eper.tar.gz) 3.设置环境变量 打开/etc/profile文件!内容如下:

[html]view plain copy 1.#set java & hadoop 2. 3.export JAVA_HOME=/home/chenlijun/java/ 4. 5.export HADOOP_HOME=/home/chenlijun/hadoop 6. 7.export ZOOKEEPER_HOME=/home/chenlijun/zookeeper 8. 9.export PATH=.:$HADOOP_HOME/bin:$ZOOKEEPER_HOME/bin:$JAVA_HOME/bin:$PATH 注:修改完后profile记得执行source /etc/profile 4.在解压后的zookeeper的目录下进入conf目录修改配置文件 更名操作:mv zoo_sample.cfg zoo.cfg 5.编辑zoo.cfg (vi zoo.cfg) 修改dataDir=/home/chenlijun/zookeeper/data/ 新增server.0=master:2888:3888 server.1=slave1:2888:3888 server.2=slave2:2888:3888 文件如下:

虚拟化群集部署计划及操作流程

Windows server 2008虚拟化群集部署计划及操作流程 中企虚机搬迁架构调整,虚拟化群集部署操作流程如下: 1.硬件准备 2.整体规划 3.域控制器安装 4.节点服务器加域 5.为节点服务器安装群集功能 6.存储挂接 7.故障转移群集的配置 1.硬件准备: 初次先准备5台服务器,重新安装windows server 2008 R2操作系统。 一台做域控制器,4台部署群集。建议初次配置时先使用品牌和配置相同的服务器,待群集配置成功,再陆续添加其他品牌和配置的服务器。首次的4台服务器中,三台用来运行Hyper-V虚拟机服务,提供CE的虚机服务。剩余的一台做备用,当群集中运行服务的服务器有问题时,将服务迁移到备用机上。 2.整体规划: 硬件准备完毕,操作系统安装好之后,为机器配置IP,开启远程桌面,更新最新补丁。域控制器安装域服务,安装活动目录。群集节点服务器挂载存储。由于节点数是4,偶数节点数需要挂载一个仲裁磁盘,所以需要挂载两个lun,一个存放虚拟机的配置文件及VHD磁盘文件,一个做仲裁磁盘,该磁盘不需要太大空间,5G就够。配置群集前,为群集准备一个IP,这个IP和节点服务器的IP在同一网段。再配群集服务之前,任何服务器不要做安全设置或者域策略,一切按默认的安装,以避免配置群集出错误。下图是群集部署架构图

3.域控制器安装: 服务器全部准备完毕,操作系统安装完成,补丁更新至最新。开始安装 域服务。首先在服务器管理器中添加服务器角色。 图1:添加域服务角色

图2:勾选域服务 图3:安装域服务 安装完域服务后,运行dcpromo安装活动目录向导,进行域控制器的安装。

CentOS+Jdk+Jboss+dubbo+zookeeper集群配置教程

目录 1.软件准备 (2) 2.安装步骤 (2) 2.1.安装虚拟机 (2) 2.2.在CentOS上安装JDK (2) 2.3.安装Jboss (4) 2.4.Zookeeper单机版的安装与测试 (6) 2.5.Zookeeper 集群安装(单点与分布式成功安装) (9) 2.6.dubbo管理控制台及集成zookeeper集群部署 (11) CentOS+Jdk+Jboss+Dubbo配置教程

1.软件准备 虚拟机:VMware-workstation-full-10.0.0-1295980.exe CentOS: CentOS-5.10-i386-bin-DVD-1of2.iso、 CentOS-5.10-i386-bin-DVD-2of2.iso Jdk7:jdk-7u45-linux-i586.rpm Jboss7.1.1:jboss-as-7.1.1.Final.zip Zookeeper:zookeeper-3.4.5.tar.gz SSH工具:SSHSecureShellClient-3.2.9.exe 2.安装步骤 2.1.安装虚拟机 一、在电脑上安装VMware-workstation-full-10.0.0-1295980.exe 二、在Vmware上安装CentOS 操作系统 2.2.在CentOS上安装JDK 一、查看Linux自带的JDK是否已安装(卸载centOS已安装的1.4) 安装好的CentOS会自带OpenJdk,用命令java -version ,会有下面的信息:# java –version(注:下面开始#开始是shell命令,并且用颜色区分) java version "1.6.0" OpenJDK Runtime Environment (build 1.6.0-b09) OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode)

Zookeeper介绍

Zookeeper介绍 简介: Zookeeper看名字是动物园管理员,这个跟它的功能是非常的一致的。 Zookeeper 分布式服务框架是Apache Hadoop的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。 ZooKeeper典型的应用场景: Zookeeper 从设计模式角度来看,是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper 就将负责通知已经在Zookeeper 上注册的那些观察者做出相应的反应,从而实现集群中类似Master/Slave 管理模式。 a.统一命名服务(Name Service) b.配置管理(Configuration Management) c.集群管理(Group Membership) d.共享锁(Locks) e.队列管理 安装及配置: 单机模式 单机安装非常简单,只要获取到Zookeeper 的压缩包并解压到某个目录如:/home/zookeeper-3.2.2 下,Zookeeper 的启动脚本在bin 目录下,Linux 下的启动脚本是zkServer.sh。 在你执行启动脚本之前,还有几个基本的配置项需要配置一下,Zookeeper 的配置文件在 conf 目录下,这个目录下有 zoo_sample.cfg 和 log4j.properties,你需要做的就是将 zoo_sample.cfg 改名为 zoo.cfg,因为 Zookeeper 在启动时会找这个文件作为默认配置文件。下面详细介绍一下,这个配置文件中各个配置项的意义。 tickTime=2000 dataDir=D:/devtools/zookeeper-3.2.2/build clientPort=2181 ?tickTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。 ?dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。 ?clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。 集群模式

VMware虚拟机安装、配置、搭建网络全程图解

VMware Workstation是VMware公司的专业虚拟机软件,可以虚拟现有任何操作系统,而且使用简单、容易上手。现如今有很多人都拥有电脑,但多数人都只有一两台,想组建一个自己的局域网或者是做个小规模的实验一台机器是不够的,最少也要个两三台,可为了这再买电脑就太不值了。好在有许多虚拟机可以帮我们解决这个问题。虚拟机可以在一台电脑上虚拟出很多的主机,只要真实主机的配置足够就可以。 下面将把VMware Workstation软件的完整使用过程分为:建立一个新的虚拟机、配置安装好的虚拟机、配置虚拟机的网络这三个部分,使用的是最新的VMware4。 一、安装建立一个新的虚拟机 首先让大家看看VMware的界面 2.我们来建立一个新的虚拟机向导 3.选择普通安装或者是自定义。这里大家选自定义,后面可以自行规划设备,内存和硬盘容量

4.选择想要虚拟的系统 5.给虚拟机起个名字,指定它的存放位置

6.分配内存大小 7.网络设置模式。这里比较复杂,安装的时候可以先随便选一个,装好后也可以改,但千万不要选最后一个,否则你将无法创建网络了。关于这三者之间的区别和怎样使用虚拟机连接到internet会在后面介绍。

8.创建一块磁盘。当第一次建立虚拟机时,请选择第一项,第二项适用于建立第二个或更多虚拟机,即使用已经建立好的虚拟机磁盘,这样可以减少虚拟机占用的真实磁盘空间。第三项则允许虚拟机直接读写磁盘空间,比较危险,所以适合熟悉使用磁盘的高级用户,如果操作失误会把真实磁盘里的内容删掉的。 9.设置虚拟机磁盘容量。第一项可以定义磁盘大小。第二项允许虚拟机无限使用磁盘空间,但需要真实磁盘足够大。第三项则限制了每块虚拟磁盘的最大容量为2G。

搭建zookeeper单机部署和集群部署

2. 3. 4. 5. zookeeper有单机、伪集群、集群三种部署方式,可根据自己对可靠性的需求选择合适的部署方式。下边对这三种部署方式逐一进行讲解。 1. 系统环境准备 操作系统 :centos7 java 环境:jdk8 我搭建的是自centos7的linux下,先配置好java的配置环境,然后下载zookeeper的相关的jar进行部署 2.zookeeper部署 下 载 zookeeper 安装包: 下载完成,通过 tar -zxvf 解压 tar -zxf zookeeper-3.4.5.tar.gz 常用命令 1.启动 ZK 服务: sh bin/zkServer.sh start 查看 ZK 服务状态: sh bin/zkServer.sh status 停止 ZK 服务: sh bin/zkServer.sh stop 重启 ZK 服务: sh bin/zkServer.sh restart 连接服务器 sh zkCli.sh -timeout 0 -r -server ip:port 3.集群模式 初 次 使 用 zookeeper , 需 要 将 %zk_home%/conf 目 录 下 的zoo_sample.cfg 文件 copy 一份重命名为 zoo.cfg,修改 dataDir 目录,dataDir 表示日志文件存放的路径集群环境安装在 zookeeper 集群中,各个节点总共有三种角色,分别是:leaderfollowerobserver 集群模式我们采用模拟 3 台机器来搭建 zookeeper 集群。分别复制安装包到三台机器上并解压,同时 copy 一份zoo.cfg。 3.1 修改配置文件zoo.cfg 在zoo.cfg配置文件配置以下的语句 tickTime=2000 dataDir=/tmp/zookeeper dataLogDir=/usr/myapp/zookeeper-3.4.5/logs clientPort=2181 initLimit=10 syncLimit=5 server.1=192.168.44.128:2888:3888 server.2=192.168.44.129:2888:3888 server.3=192.168.44.130:2888:3888 server.id=host:port1:port2 idservice ID ,同时,在每台zookeeper机器上,需要在数据目录(dataDir参数指定 的那个目录下)创建一个myid的文件,文件只要一行内容,并且是一个数字,即对应 每台服务器的serverID的数字

虚拟机VMware的配置及安装过程介绍

虚拟机VMware的配置及安装过程介绍 虚拟机是一种高度隔离的软件容器,它可以运行自己的操作系统和应用程序,就好像它是一台物理计算机一样。虚拟机的行为完全类似于一台物理计算机,它包含自己的虚拟(即基于软件实现的)CPU、RAM 硬盘和网络接口卡(NIC)。 操作系统无法分辨虚拟机与物理机之间的差异,应用程序和网络中的其他计算机也无法分辨。即使是虚拟机本身也认为自己是一台“真正的”计算机。不过,虚拟机完全由软件组成,不含任何硬件组件。因此,虚拟机具备物理硬件所没有的很多独特优势。 通过虚拟化提高IT 资源和应用程序的效率和可用性。首先消除旧的“一台服务器、一个应用程序”模式,在每台物理机上运行多个虚拟机。让您的IT 管理员腾出手来进行创新工作,而不是花大量的时间管理服务器。在非虚拟化的数据中心,仅仅是维持现有基础架构通常就要耗费大约70% 的预算,用于创新的预算更是微乎其微。 借助在经生产验证的VMware 虚拟化平台基础上构建的自动化数据中心,您将能够以前所未有的速度和效率响应市场动态。VMware vSphere 可以按需要随时将资源、应用程序甚至服务器分配到相应的位置。VMware 客户通过使用VMware vSphere 整合其资源池和实现计算机的高可用性,通常可以节省50% 到70% 的IT 总成本。 ◆可以在单个计算机上运行多个操作系统,包括Windows、Linux 等等。 ◆可通过创建一个适用于所有Windows 应用程序的虚拟PC 环境,让您的Mac 计算机运行Windows。 ◆通过提高能效、减少硬件需求量以及提高服务器/管理员比率,可以降低资金成本。 ◆可确保企业应用程序发挥出最高的可用性和性能。 ◆可通过改进灾难恢复解决方案提高业务连续性,并在整个数据中心内实现高可用性。 ◆可改进企业桌面管理和控制,并加快桌面部署,因应用程序冲突带来的支持来电次数也随之减少。 虚拟机VMware既保证了Linux能正确安装且正常运行,又不破坏原来的操作系统,为我们除去了费心研究如何把硬盘分区分得合理和高效的苦恼。下面,给大家介绍一下怎样用

linux系统下安装zookeeper集群

1.概述 操作系统为3台ubuntu虚拟机,其ip地址分别为 ubuntu1 192.168.1.109 ubuntu2 192.168.1.108 ubuntu3 192.168.1.110 jdk版本为jdk7 2.下载解压(三台机器都执行一遍) 2.1将zookeeper解压到/usr/local/zookeeper- 3. 4.5目录下 2.2以下命令都是在/usr/local/zookeeper- 3. 4.5目录下执行的 #从zookeeper的sample中复制一个zk的配置文件 root@ubuntu-2:/usr/local/zookeeper-3.4.5# cp conf/zoo_sample.cfg conf/zoo.cfg #修改一下这个配置文件,让他支持集群 root@ubuntu-2:/usr/local/zookeeper-3.4.5# vi conf/zoo.cfg #修改一下存储数据的目录,给出的模板里放在/tmp/zookeeper(如果 /var/lib/zookeeper目录不存在则需要自行创建) dataDir=/var/lib/zookeeper/ #在这个文件的末尾添加如下配置(遵循server.id=host:port:port的格式): server.1=192.168.1.109:2888:3888 server.2=192.168.1.108:2888:3888 server.3=192.168.1.110:2888:3888 保存配置退出vi编辑器 2.3切换到/var/lib/zookeeper目录下(这个目录即上面的zoo.cfg中配置的dataDir目录)新建一个myid的文本文件,编辑其内容如下 在server.1=192.168.1.109这台机器上设置1 在server.2=192.168.1.108这台机器上设置2 在server.3=192.168.1.110这台机器上设置3 设置的规则就是在zoo.conf文件指定的server.id,zookeeper用这个数字来标识集群中的哪一个节点 3.启动 切换到zookeeper安装目录的bin下 root@ubuntu-3:/usr/local/zookeeper-3.4.5/bin# sh ./zkServer.sh start 4.集群验证 在三台机器上分别使用zkServer.sh status命令查看当前服务状态 server3输出:

VMware虚拟化实施方案

1.1、VMware虚拟化实施内容 在本期项目中,将遵照规划和架构设计进行项目实施。本实施方案不涉及具体操作步骤和细节配置,而主要针对项目实施的过程进行控制。预计的实施步骤如下: 1.准备阶段 准备阶段是为项目的实施搜集各方面资料和必要的工具,同时也包括双方参与实施人员的确定。准备阶段主要内容如下; 软件介质准备,包含项目涉及的所有软件产品介质,如果是项目内采购则由卖方准备,如采用用户现有的软件则由用户方提供,主要的介质包含: (1)VMware产品介质 (2)各虚拟机的操作系统介质 (3)在应用服务器上运行的所有应用软件介质 (4)服务器硬件驱动程序介质 如涉及到License则需要提供方确保在提供软件介质时同时提供有效的License授权。如Windows操作系统需要S/N号码等。 在准备阶段还需要确定实施需要的人员名单,每个步骤的参与人员要事先确定下来。为了确保应用迁移时的现场技术支持,要求在应用迁移或服务器迁移时确保应用软件的管理员或厂家技术人员能够现场支持。 2.VMware vSphere虚拟架构实施 在实施过程中,主要的工作包括虚拟环境搭建和系统迁移两部分,本节主要针对VMware vSphere4虚拟化架构搭建的过程进行描述。 针对本期项目的情况,需要按照下列步骤进行VMware vSphere架构建设。在此,只对实施的过程列表并进行简要说明,详细地安装和配置技术实现步骤将在安装过程中为用户进行现场培训,并在项目实施后的安装报告中将具体参数设置等进行汇总和记录,安装报告将在总结与交付阶段与项目的其他文档共同转移给用户的管理团队。

1.2、VMware虚拟化实施流程

VMware虚拟化配置手册

VMware虚拟化配置手册 1.服务器安装 硬件要求 确保主机符合 ESXi 6.0 支持的最低硬件配置。 必须具有以下硬件和系统资源,才能安装和使用 ESXi 6.0: ESXi 6.0 将仅在安装有 64 位 x86 CPU 的服务器上安装和运行。 ESXi 6.0 要求主机至少具有两个内核。 ESXi 6.0 仅支持 LAHF 和 SAHF CPU 指令。 已知的 64 位处理器: 所有 AMD Opteron 处理器 所有 Intel Xeon 3000/3200、3100/3300、5100/5300、5200/5400、5500/5600、7100/7300、7200/7400 和 7500 处理器 至少 2 GB 的内存。 一个或多个千兆或 10GB 以太网控制器。 一个或多个以下控制器的任意组合: 基本 SCSI 控制器。Adaptec Ultra-160 或 Ultra-320、LSI Logic Fusion-MPT 或者大部分 NCR/SymbiosSCSI。 RAID 控制器。Dell PERC(Adaptec RAID 或 LSI MegaRAID)、HP Smart Array RAID 或IBM(Adaptec) ServeRAID 控制器。 SCSI 磁盘或包含未分区空间用于虚拟机的本地(非网络)RAID LUN。 ESXi 为多个 64 位客户机操作系统提供支持。 使用 64 位客户机操作系统运行虚拟机的主机有下列硬件要求: 对于基于 AMD Opteron 的系统,处理器必须为 Opteron Rev E 或更高版本。 对于基于 Intel Xeon 的系统,处理器必须包括对 Intel 的 Virtualization Technology (VT) 的支持。许多CPU 支持 VT 的服务器可能默认禁用 VT,因此必须手动启用 VT。如果CPU 支持 VT 但在 BIOS 中看不到此选项,请联系供应商以获得可启用 VT 支持的 BIOS 版本。 安装EXSI Server 在安装之前,首先检查物理服务器CPU的Virtualization Technology (VT)是否打开,统计局服务器型号为Lenovo R680 ,默认情况下,VT是关闭的。需进入BIOS打开。 安装步骤 CIMC界面 配置本地PC的IP地址为1.1.1.2(与管理口地址1.1.1.1为同一网段)

ZooKeeper注册中心配置

Dubbo 建议使用 Zookeeper 作为服务的注册中心。 注册中心服务器(192.168.3.71)配置,安装Zookeeper: 1、修改操作系统的/etc/hosts 文件中添加: # zookeeper servers 192.168.3.71edu-provider-01 2、到 https://www.sodocs.net/doc/a14503806.html,/zookeeper/下载 zookeeper-3.4.6: $ wget https://www.sodocs.net/doc/a14503806.html,/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz 3、解压 zookeeper 安装包: $ tar -zxvf zookeeper-3.4.6.tar.gz 4、在/home/wusc/zookeeper-3.4.6 目录下创建以下目 录: $ cd /home/wusc/zookeeper-3.4.6 $ mkdir data $ mkdir logs 5、将zookeeper-3.4.6/conf目录下的zoo_sample.cfg文件拷贝一份,命名为为 zoo.cfg $ cp zoo_sample.cfg zoo.cfg 6、修改zoo.cfg配置文件: $ vi zoo.cfg # The number of milliseconds of each tick tickTime=2000 # The number of ticks that the initial # synchronization phase can take initLimit=10 # The number of ticks that can pass between # sending a request and getting an acknowledgement syncLimit=5 # the directory where the snapshot is stored. # do not use /tmp for storage, /tmp here is just # example sakes. dataDir=/home/wusc/zookeeper-3.4.6/data dataLogDir=/home/wusc/zookeeper-3.4.6/logs # the port at which the clients will connect clientPort=2181 #2888,3888 are election port server.1=edu-provider-01:2888:3888

ZooKeeper部署文档

ZooKeeper部署流程 一、下载 从Apache网站上(https://www.sodocs.net/doc/a14503806.html,)下载ZooKeeper软件包并进行解压,如zookeeper-3.3.4.tar.gz。 二、单节点模式 1.将zookeeper-3.3.4/conf目录下面的zoo_sample.cfg修改为zoo.cfg,配置文件 内容如下所示: 2.启动ZooKeeper服务器进程: 3.通过jps命令可以查看ZooKeeper服务器进程,名称为QuorumPeerMain。 三、伪分布式模式 将解压出来的zookeeper复制三份,分别重命名为zookeeper-1,zookeeper-2和zookeeper-3。 1.配置zookeeper-1: a.创建data目录:/home/java2000_wl/hadoop/zookeeper-1/data b.创建log目录:/home/java2000_wl/hadoop/zookeeper-1/logs c.创建myid文件:/home/java2000_wl/hadoop/zookeeper-1/data/myid 内容:1 d.创建/home/java2000_wl/hadoop/zookeeper-1/conf/zoo.cfg文件 内容:

tickTime=2000 initLimit=10 syncLimit=5 dataDir=/home/java2000_wl/hadoop/zookeeper-1/data clientPort=2181 dataLogDir=/home/java2000_wl/hadoop/zookeeper-1/logs server.1=127.0.0.1:4000:5000 server.2=127.0.0.1:4001:5001 server.3=127.0.0.1:4002:5002 2.配置zookeeper-2: a.创建data目录:/home/java2000_wl/hadoop/zookeeper-2/data b.创建log目录:/home/java2000_wl/hadoop/zookeeper-2/logs c.创建myid文件:/home/java2000_wl/hadoop/zookeeper-2/data/myid 内容:2 d.创建/home/java2000_wl/hadoop/zookeeper-2/conf/zoo.cfg文件 内容: tickTime=2000 initLimit=10 syncLimit=5 dataDir=/home/java2000_wl/hadoop/zookeeper-2/data clientPort=2182 dataLogDir=/home/java2000_wl/hadoop/zookeeper-2/logs server.1=127.0.0.1:4000:5000 server.2=127.0.0.1:4001:5001 server.3=127.0.0.1:4002:5002 3.配置zookeeper-3: a.创建data目录:/home/java2000_wl/hadoop/zookeeper-3/data b.创建log目录:/home/java2000_wl/hadoop/zookeeper-3/logs c.创建myid文件:/home/java2000_wl/hadoop/zookeeper-3/data/myid 内容:3 d.创建/home/java2000_wl/hadoop/zookeeper-3/conf/zoo.cfg文件 内容: tickTime=2000

相关主题