由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 急求这道题的解答
相关主题
要建立一个20个node的cluster 需要zookeeper吗= 和 == 用英语怎么说
昨天面试的题目问道CodeEval上的题目
多年不打鱼连网都不会用了(昂赛特设计题)如何设计一个itunes/google play购买物品的系统
急问有没有面试过bloomberg的senior calculations programmer的?分享一道trading firm的code screen,只能用c++
Q in C/C++在Fox电视台实习
about how to test a calculator program on computer找工作的一些教训(关于猎头)
再问一道ms的面试题[合集] 几个面试中碰到的问题
C++: 如何对const data member做assignment?一道面试题求助
相关话题的讨论汇总
话题: tablet话题: servers话题: tablets话题: server话题: 8232
进入JobHunting版参与讨论
1 (共1页)
m**********3
发帖数: 229
1
本人QA,测试数据库,老板给了一题让我做做玩玩,我不太会,请教版上大牛,谢谢!
!!
Background
In simplest terms, Accumulo is a sorted key/value store. It stores mappings
of keys to values, and all key/value entries are sorted by key. This allows
fast indexed access for get and put calls, and also supports quickly
scanning all entries starting at or near a specific key.
Accumulo distributes work across a cluster of servers by designating
responsibility for different ranges of keys to different servers. In
Accumulo terminology, each range is a 'tablet', and each server is a 'tablet
server'. A tablet server is responsible for all reads and writes to entries
within its ranges of keys. Every tablet is served by exactly one tablet
server at a time. Each tablet server can serve zero to many tablets at once.
The "Master" service is responsible for maintaining the assignments of keys
to tablet servers, including responding to changes in the cluster as tablet
servers come up and go down. The Master should balance the tablets as
evenly as possible across the tablet servers, while still minimizing
reassignments of tablets from one server to another.
Requirements
For this exercise, imagine you have a cluster of servers running Linux. One
is running the Master service, and all of them are configured to be tablet
servers. The Master service does the following:
1. Takes as input a fixed number of tablets and a set of tablet
servers
2. Calculates the ranges that define each tablet
3. Assigns each tablet to a tablet server
You can make a few simplifying assumptions for the purpose of this exercise:
• The key space is the range of values from 0 to Java's Long.
MAX_VALUE
• Ranges should be defined by simply splitting up the key space
into equal sized chunks
• Note that these assumptions are not true in the actual
Accumulo implementation! Accumulo's elastic distribution strategy is very
robust and flexible.
You have ssh access to each machine. For the tablet servers, you don't have
any direct access to the software, but each has a log file. For the Master
service, there is an admin interface that lets you do the following:
1. Input the number of tablets and the number of tablet servers
2. Add/remove a tablet
3. Add/remove a tablet server
4. Output the mapping of tablets to tablet servers, and the ranges
for each tablet.
Usage Example
Input: 4 tablets, 2 tablet severs
There will be four tablets
tablet1 has keys from 0-2305843009213693951
tablet2 has keys from
2305843009213693952-4611686018427387903
tablet3 has keys from
4611686018427387904-6917529027641081855
tablet4 has keys from
6917529027641081856-9223372036854775807
And they could start in the following mapping
tablet1 --> tabletserver1
tablet2 --> tabletserver2
tablet3 -->
tabletserver1
tablet4 --> tabletserver2
If a new tablet server was added, the load balancer would move one of the
tablets off onto the new tablet server. The workload would not be exactly
equal across servers, because 4 tablets cannot be divided evenly across 3
servers.
tablet1 --> tabletserver1
tablet2 --> tabletserver2
tablet3 -->
tabletserver3
tablet4 --> tabletserver2
Exercise
Your task is to come up with a test plan for the above system. You don't
need to spell out all of the steps for each test, but you should describe
what the test does, and possibly why (if it's not obvious).
l*********u
发帖数: 19053
2
1, add 1 tablet server, 500 tablets
2, add 5000 tablet servers // racing/locking
3, add 10k tablets in close range // for load balancer

mappings
allows
tablet

【在 m**********3 的大作中提到】
: 本人QA,测试数据库,老板给了一题让我做做玩玩,我不太会,请教版上大牛,谢谢!
: !!
: Background
: In simplest terms, Accumulo is a sorted key/value store. It stores mappings
: of keys to values, and all key/value entries are sorted by key. This allows
: fast indexed access for get and put calls, and also supports quickly
: scanning all entries starting at or near a specific key.
: Accumulo distributes work across a cluster of servers by designating
: responsibility for different ranges of keys to different servers. In
: Accumulo terminology, each range is a 'tablet', and each server is a 'tablet

m**********3
发帖数: 229
3
谢谢。
第一点,是setup 原始测试数据吗,需要看到什么test result?通过log吗?
第二点,不懂racing/locking,求教
第三点,谷歌了一下load balancer,可是我不懂需要在log里看到什么才算测试成功?
我的理解是,performance类的达到标准速度就算成功,functional类的有user story
作参照,可是这些测试需要怎么划定是否work,或者有没有bug?

【在 l*********u 的大作中提到】
: 1, add 1 tablet server, 500 tablets
: 2, add 5000 tablet servers // racing/locking
: 3, add 10k tablets in close range // for load balancer
:
: mappings
: allows
: tablet

1 (共1页)
进入JobHunting版参与讨论
相关主题
一道面试题求助Q in C/C++
该要多少钱about how to test a calculator program on computer
谁了解LCA现在要多久才能approved?再问一道ms的面试题
问个关于c++ auto_pter的问题C++: 如何对const data member做assignment?
要建立一个20个node的cluster 需要zookeeper吗= 和 == 用英语怎么说
昨天面试的题目问道CodeEval上的题目
多年不打鱼连网都不会用了(昂赛特设计题)如何设计一个itunes/google play购买物品的系统
急问有没有面试过bloomberg的senior calculations programmer的?分享一道trading firm的code screen,只能用c++
相关话题的讨论汇总
话题: tablet话题: servers话题: tablets话题: server话题: 8232