1. Prepare a 5-node Cassandra ClusterSlightlyNode1,node2,node3,node4,node52. Download Presto on Node1wget https://repo1.maven.org/maven2/com/facebook/presto/presto-server/0.131/presto-server-0.131.tar.gz3. DecompressionTar zxvf presto-server-0.131.tar.gzMV Presto-server-0.131/presto4. Change the owner to be NoSQLChown Nosql.nosql/presto5. Set up Data CatalogMkdir/prestodataChown Nosql.nosql/prestodataIn Node2, Node3, Node4, NODE5 also to establish6. c
Chapter 1. Environment Prepare:
0. Environment Description:
Hardware:7 Commercial machine with processors, megabytes memory, 103G system disk + 3.6t*10 data disk
os:red Hat 4.4.7-16
ip:192.168.1.11~17
cassandra:datastax-ddc-3.7.0
user:cassandra with sudo previlege.
1. Install JDK, recommend Oracle JDK 8.
sudo yum-y install jdk-8u101-linux-x64.rpm
I used a RPM package installment, it can save your time from the configuration java_home and so on.
If you use the OPENJDK,
Cassandra supports multiple data types at the CQL language level.
CQL type
corresponding Java type
Describe
Ascii
String
ASCII string
bigint
Long
64-bit integer
Blob
Bytebuffer/byte[]
Binary arrays
Boolean
Boolean
Boolean
Counter
Long
Counter, support the increase or decrease of atomicity, do not suppo
Source: comparison of various nosql databases in http://hi.baidu.com/eastdoor/blog/item/758d0e3eedb5d92471cf6c14.html Cassandra, MongoDB, CouchDB, Redis, Riak, HBaseCouchDBDevelopment language: ErlangMain advantages: data consistency and ease of useLicense: ApacheProtocol: HTTP/RESTApplicable: accumulated, less changed data. Or a large number of versions are required.Example: CRM, CMS systems. multi-site deployment is allowed.RedisDevelopment language
Use the Nodetool tool that under the Cassandra/bin directoryNodetool statusThere is and nodes has been off line.Nodetool Removenode 199553f1-f310-41e1-b4a4-f5a1fef7d1b8Wait for a momentAnd on Cassandra Server terminal you'll see:INFO 10:50:36 Removing Host:199553f1-f310-41e1-b4a4-f5a1fef7d1b8INFO 10:50:36 sleeping for 30000ms to ensure/192.168.1.201 does no changeINFO 10:51:06 Advertising Removal for/192.16
All nodes in the Cassandra cluster are peers, so read/write operations can occur on any node in the cluster, and perhaps this node does not require read/write data, so the node that interacts with the user becomes the coordinator node.
Write request for single data center:
When the client is sent to the coordinator node, the coordinator node sends the write request to all nodes in the cluster that have a replica of the target row (target node), such
The column family in the Cassandra corresponds to a table in the relational database that is used to store rows and fields.
Column number in column family is not fixed
In a relational database, each row contains the same number of fields. However, in Cassandra, although column family can define the metadata for column (metadata), the actual number of fields per line is determined by the client program, so
)
-local
--in-local-dc
Use to only repair nodes in the same datacenter.
-pr
--partitioner-range
Run a repair the partition ranges that is primary on a replica.
-seq Start_token
--sequentialstart_token
Run a sequential repair.
-st Start_token
--start-tokenstart_token
Specify the token (Start_token) at which the repair range starts.
-tr
--trace
Trace the repair. Traces is logged tosystem_traces.even
Retry Policy
Cluster Deployment
Modify the following three places in Cassandra.yaml:-Seeds: "Your intranet IP"rpc_address: Your intranet IPlisten_address: Your intranet IP
* * The cluster can be viewed through Notetool status after successful deploymentStatus * *
(UN indicates normal)
after you close the Cassandra on 139, show the status diagram as followsWhere the DN indicates that the state of the downtime after the node is closed
removing the
Overview of the Gossip protocolNodes in the Cassandra cluster do not have primary and secondary points, and they communicate through a protocol called gossip. Through the gossip protocol, they can know what nodes are in the cluster and how they are state. Each gossip message has a version number on it, the nodes can compare to the received messages to see which messages I need to update, what messages I have and others don't, and then talk to each oth
Column in Cassandra is a ternary group {Name,value,timestamp}
Name
Name is required and has two ways of generating it:
For the static column family, its value is specified by the administrator who created the column family.
For dynamic column family, its value is dynamically set by the client application.
A secondary index can be built on name (secondary index)
Value
Value is not required, such as column familiy, which is equivalent to materi
What is replication?
In Cassandra, replication is the storage of data to multiple nodes to ensure reliability and error tolerance. When you create a keyspace (equivalent to a table in a relational database), you must give a copy placement policy (Replica placement strategy)
What is a replica factor (Replica Factor)?
This number determines several copies, for example, if set to 1, it means that there is only one copy per line, and so on. All copies
After study, decided to cql3/queryprocessor.java inside.Here are two functions, the first of which isPublic Resultmessage process (String queryString, Querystate querystate, queryoptions options, long Querystartnanotime)The function takes a SQL statement of type String, normalizes it (judging whether it is legitimate), and then calls the functionProcessstatement (prepared, querystate, Options, querystartnanotime);For the specific treatment.We build bench functions in the same classpublic void Be
Directory structure
Hadoop cluster (CDH4) practice (0) PrefaceHadoop cluster (CDH4) Practice (1) Hadoop (HDFS) buildHadoop cluster (CDH4) Practice (2) Hbasezookeeper buildHadoop cluster (CDH4) Practice (3) Hive BuildHadoop cluster (CHD4) Practice (4) Oozie build
Hadoop cluster (CDH4) practice (0) Preface
During my time as a beginner of
In mid-May 2016, the cassandra3.4 version was used without a lot of tests due to the urgency of the project's launch, when it was deployed on 3 16G Windows system servers. A few months of use, most of the problems are the downtime caused by oom. In particular, there was an outage, and after restarting the database, it was discovered that memory was rising, and that was the case with multiple reboots. The possible reason for this observation is that the default compact policy taken by the databas
You need to import the jar:Cassandra-driver-core-3.0.0-beta1-bb1bce4-snapshot-shaded.jarGuava-18.0.jarLog4j-1.2.17.jarMetrics-core-3.1.0.jarSlf4j-api-1.7.7.jarSlf4j-log4j12-1.7.5.jarCode:Cluster Cluster = Cluster.builder (). Addcontactpoint ("192.168.1.103"). Build (); Session session = Cluster.connect (); String CQL = "SELECT * from Demodb.afttre;"; ResultSet ResultSet = Session.execute (CQL);iteratorJava implementation of Cassandra additions and del
Token is a very important concept in the Cassandra cluster because it affects the range of data that each node governs: We use the program to generate the token and then allocate it to each node:
We use the following code to generate the token:
#! /usr/bin/python
Import sys
if (len (SYS.ARGV) > 1):
num=int (sys.argv[1])
else:
num=int (raw_ Input ("How many nodes are in your cluster?"))
For I in range (0, num):
print ' token%d:%d '% (I, (i* (
Wang Jialin's in-depth case-driven practice of cloud computing distributed Big Data hadoop in July 6-7 in Shanghai
Wang Jialin Lecture 4HadoopGraphic and text training course: Build a true practiceHadoopDistributed Cluster EnvironmentHadoopThe specific solution steps are as follows:
Step 1: QueryHadoopTo see the cause of the error;
Step 2: Stop the cluster;
Step 3: Solve the Problem Based on the reasons indicated in the log. We need to clear th
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.