User:Амгаланзул/sandbox

Cassandra Installation
Cassandra-г Линукс орчинд суулгахаасаа өмнө бид Linux-г ssh (Secure Shell) ашиглан суулгах шаардлагатай болно. Линукс орчинд тохируулахын тулд доор дурдсан алхмуудыг хийнэ үү

Хэрэглэгч үүсгэх

Эхлээд Hadoop-д зориулж Hadoop файлын системийг Unix файлын системээс тусгаарлаж тусд нь хэрэглэгч үүсгэж өгнө. Хэрэглэгч үүсгэхийн тулд доорх алхмуудыг дагана уу. "su" командыг ашиглан нээж болно. Хэрэглэгчээс хэрэглэгч "useradd username" гэсэн командаар үүсгэнэ. Одоо та хэрэглэгчийн бүртгэлийг "su username" гэсэн командаар нээж болно. Линукс терминалыг нээж, хэрэглэгчийг үүсгэхийн тулд дараах командыг бичнэ үү. $ su password: useradd hadoop passwd hadoop New passwd: Retype new passwd

SSH тохиргоо, түлхүүр үүсгэх

SSH тохиргоо нь эхлүүлэх, зогсоох, тараах димон бүрхүүл ажиллуулах зэрэг хэсэг дээр өөр өөр үйлдлүүдийг гүйцэтгэхэд шаардагддаг. Hadoop-ийн өөр хэрэглэгчдийг баталгаажуулахын тулд Hadoop хэрэглэгчийн нийтийн / хувийн түлхүүр хосыг өгөх, өөр хэрэглэгчтэй хуваалцах шаардлагатай.\ SSH ашиглан түлхүүр утгыг үүсгэхэд дараах командууд ашиглагддаг: Нийтийн түлхүүрүүдийг id_rsa.pub-аас зөвшөөрөгдсөн түлхүүрийг хуулах, Хэрэглэгчд санал болгох, Зөвшөөрөгдсөн түлхүүрийн файлыг тус тусд нь уншиж, бичих зөвшөөрлийг бичнэ. $ ssh-keygen -t rsa $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys $ chmod 0600 ~/.ssh/authorized_keys

Ssh-г баталгаажуулах

ssh localhost

Java суулгах нь Жава нь Cassandra-д чухал  шаардлагатай  юм. Юуны өмнө, доор дурдсан командаар Java системийг өөрийн систем дээр шалгаж үзэх хэрэгтэй: $java -version Бүгд хэвийн ажилладаг  ба  энэ нь танд дараах гаралтыг өгнө. java version "1.7.0_71" Java(TM) SE Runtime Environment (build 1.7.0_71-b13) Java HotSpot(TM) Client VM (build 25.0-b02, mixed mode) Хэрэв таны системд Жава байхгүй бол доорх алхмуудыг хийнэ үү 1-р алхам Жава (JDK <хамгийн сүүлийн хувилбар> - X64.tar.gz) татаж авна уу. Дараа нь jdk-7u71-linux-x64.tar.gz таны системд татагдах болно. 2-р алхам jdk-7u71-linux-x64.gz файлыг дараах командуудыг ашиглан задлана. $ cd Downloads/ $ ls jdk-7u71-linux-x64.gz $ tar zxf jdk-7u71-linux-x64.gz $ ls jdk1.7.0_71 jdk-7u71-linux-x64.gz 3-р алхам                                                                                                                                                                      Жава-г бүх хэрэглэгчдэд хүргэхийн тулд үүнийг "/ usr / local /" рүү  шилжих боломжтой. Үүнийг нээхдээ  дараах командыг бичнэ үү $ su password: mv jdk1.7.0_71 /usr/local/ exit 4-р алхам PATH болон JAVA_HOME хувьсагчуудыг тохируулахдаа дараах командыг ~ / .bashrc файлд нэмнэ export JAVA_HOME = /usr/local/jdk1.7.0_71 export PATH = $PATH:$JAVA_HOME/bin Одоо ажиллаж байгаа системд бүх өөрчлөлтүүдийг  оруулна. $ source ~/.bashrc 5-р алхам Жава хувилбаруудыг тохируулахын тулд дараах командуудыг ашиглана. alternatives --install /usr/bin/java java usr/local/java/bin/java 2 alternatives --install /usr/bin/javac javac usr/local/java/bin/javac 2 alternatives --install /usr/bin/jar jar usr/local/java/bin/jar 2 alternatives --set java usr/local/java/bin/java alternatives --set javac usr/local/java/bin/javac alternatives --set jar usr/local/java/bin/jar Одоо java -version командыг терминал дээр тайлбарласны дагуу ашиглана.

Замыг тохируулах

Cassandra замыг "/.bahrc" -д доор үзүүлэв. [hadoop@linux ~]$ gedit ~/.bashrc export CASSANDRA_HOME = ~/cassandra export PATH = $PATH:$CASSANDRA_HOME/bin

Cassandra татах

Apache Cassandra-г Link Cassandra дээрээс дараах командыг ашиглан татаж авах боломжтой. $ wget http://supergsego.com/apache/cassandra/2.1.2/apache-cassandra-2.1.2-bin.tar.gz Unzip Cassandra-г zxvf командыг ашиглан доор харуулав. $ tar zxvf apache-cassandra-2.1.2-bin.tar.gz. Татаж авсан файлыг Cassandra нэртэй шинэ сан үүсгээд доор татсан шиг татна $ mkdir Cassandra $ mv apache-cassandra-2.1.2/* cassandra. Cassandra тохируулах Cassandra bin файлын санд байх cassandra.yaml файлыг нээнэ үү: $ gedit cassandra.yaml Тэмдэглэл: Хэрэв та debla эсвэл rpm хуудаснаас Cassandra суулгасан бол тохиргооны файлууд нь байх болно Cassandra-ийн / etc / cassandra санд байрладаг cassandra.yaml файлыг нээнэ. Дараах тохируулгыг шалгана уу. Анхдагчаар эдгээр утгууд нь заасан сангууд руу тохируулагдана. data_file_directories “/var/lib/cassandra/data” commitlog_directory “/var/lib/cassandra/commitlog” saved_caches_directory “/var/lib/cassandra/saved_caches” Эдгээр сангууд байгаа бөгөөд доор үзүүлсэн шигээр бичиж болно.

Лавлах үүсгэх

Хэрэглэгчийн хувьд хоёр санг / var / lib / cassandra болон /var./lib/cassandra сан дотор үүсгэх хэрэгтэй.Cassandra өөрийн өгөгдлийг бичдэг.

Хавтасд зөвшөөрөл өгөх

[root@linux cassandra]# mkdir /var/lib/cassandra [root@linux cassandra]# mkdir /var/log/cassandra Доор үзүүлсэн шиг шинээр үүсгэсэн хавтаст унших-бичих зөвшөөрлийг өгнө. [root@linux /]# chmod 777 /var/lib/cassandra [root@linux /]# chmod 777 /var/log/cassandra

Cassandra эхлүүлэх

Cassandra-г эхлүүлэхийн тулд терминалын цонхыг нээхийн тулд Cassandra home directory / home руу залгах хэрэгтэй. Cassandra-г задалсан бөгөөд Cassandra-н сервер эхлүүлэхийн тулд дараах командыг ажиллуулаарай. $ cd $CASSANDRA_HOME $./bin/cassandra -f -f тохируулгыг ашиглах нь Cassandra нүүрэн талд байрлахыг хэлдэг үйл явц юм. Бүх зүйл амжилттай болвол Cassandra серверийн эхлэлийг харж болно.

Програмчлалын орчин

Cassandra-н програмыг тохируулахын тулд дараах файлын файлуудыг татаж авах хэрэгтэй: . slf4j-api-1.7.5.jar cassandra-driver-core-2.0.2.jar guava-16.0.1.jar metrics-core-3.0.2.jar netty-3.9.0.Final.jar Тэдгээрийг тусдаа хавтсанд байрлуул. Жишээ нь, бид "Cassandrs” нэрлэсэн фолдерт татаж байна. Энэ хавтсанд байгаа classpath-ийг ".bashrc" -д доор үзүүлсэн шиг тохируулна. [hadoop@linux ~]$ gedit ~/.bashrc  //Set the following class path in the .bashrc file. export CLASSPATH = $CLASSPATH:/home/hadoop/Cassandra_jars/*

Eclipse орчин

Eclipse нээгээд  Cassandra _Examples нэртэй шинэ сан үүсгэнэ. Хавтасны баруун товчлуур дээр дарж, Build Path → Доор үзүүлсэн шиг Build Path-г тохируулна уу. Энэ нь шинж чанарын цонхыг нээнэ. Сангийн Libraries tab дотроос  add External JARs орно. Jar файлыг хадгалсан сан руугаа шилжүүлнэ үү. 5 jar  файлын форматыг сонгож доор үзүүлсэн шиг OK дарна уу. Дээрх Libraries дуудсаны дагуу дараах бүх шаардлагатай jar-г харж болно. Cassandra хавтас нь maven ашиглан pom.xml  өгсөн юм.  1.7         org.slf4j slf4j-api 1.7.5         com.datastax.cassandra cassandra-driver-core 2.0.2         com.google.guava guava 16.0.1         com.codahale.metrics metrics-core</artifactId> 3.0.2         <groupId>io.netty</groupId> <artifactId>netty</artifactId> 3.9.0.Final

Cassandra - Referenced Api
Бүлэг Энэ бүлэг нь үндсэн хөдөлгөгч үндсэн цэг юм. Энэ нь com.datastax.driver.core багц юм.

Cluster.Builder Энэ хэсэг нь Cluster.Builder классыг илэрхийлэхэд хэрэглэгддэг.

Энэ интерфэйс нь Cassandra бүлгийн холболтыг агуулдаг. Энэ интерфэйсийг ашиглан та CQL хүсэлтийг гүйцэтгэж болно. Энэ нь com.datastax.driver.core багц юм.

Cassandra - Cqlsh
Энэ бүлэг нь Cassandra хайлтын хэлийг танилцуулж түүний командуудыг хэрхэн ашиглахыг тайлбарладаг. Анхдагч байдлаар, Cassandra нь хэрэглэгчийн харилцах боломжийг олгодог Cassandra хайлтын хэлийг (cqlsh) түргэн шуурхай болгодог. Cassandra Query Language (CQL) -ийг ашиглан ажиллуулж болно. Та Cqlsh командыг ашиглах нь

схемийг тодорхойлж,

өгөгдөл оруулах, болон

хайлт хийх.

Cqlsh-ээс эхэлнэ

Cqlsh эхлэлүүлэхэд доор дурдсан шиг cqlsh командыг ашиглана. Энэ нь Cassandra cqlsh командыг гаралтын хэлбэрээр өгдөг. [hadoop@linux bin]$ cqlsh Connected to Test Cluster at 127.0.0.1:9042. [cqlsh 5.0.1 | Cassandra 2.1.2 | CQL spec 3.2.0 | Native protocol v3] Use HELP for help. cqlsh> Cqlsh- Дээр тайлбарласны дагуу энэ команд нь cqlsh командыг эхлүүлэхэд хэрэглэгддэг. Үүнээс гадна, энэ нь бас хэд хэдэн сонголтуудыг дэмждэг. Дараах хүснэгт нь cqlsh болон тэдгээрийн хэрэглээний бүх тохиргоонуудыг тайлбарладаг Cqlsh команд Cqlsh нь хэрэглэгчид тэдгээрийг харилцах боломжийг олгодог цөөн коммандтай байдаг. Дараах командууд байна.

Shell командуудыг баримтжуулах

Cqlsh-ийн баримтжуулсан бүрхүүлийн командуудыг доор өгөв. Эдгээр нь тусламжийн сэдвүүдийг үзүүлэх, жишээ нь cqlsh-аас гарах, тайлбарлах гэх мэт ажлуудыг гүйцэтгэхэд хэрэглэгддэг командууд юм. CQL өгөгдлийн тодорхойлолтууд командууд CQL өгөгдлийн командууд
 * Help-Дүрслэл нь бүх cqlsh командуудад зориулсан сэдвүүдэд тусалдаг.
 * CAPTURE-командын гаралтыг аваад файл руу нэмнэ.
 * CONSISTENCY-Одоогийн тууштай байдлын түвшинг харуулах, эсвэл шинэ тогтвортой байдлын түвшинг тогтооно.
 * COPY-Cassandra-ийн хуулбар болон өгөгдлийг хуулбарлах.
 * DESCRIBE-Cassandra болон түүний объектуудын одоогийн классуудыг тайлбарладаг.
 * EXPAND-Тухайн босоо чиглэлд хайлтын үр дүнг өргөтгөнө.
 * EXIT - Энэ тушаалыг ашиглан cqlsh-г төгсгөж болно.
 * PAGING - Хайлтын пейжийг идэвхжүүлж эсвэл идэвхгүй болгодог.
 * SHOW - Cassandra хувилбар, хост буюу өгөгдлийн төрлийн таамаглал зэрэг одоогийн cqlsh горимын дэлгэрэнгүй мэдээллийг харуулна.
 * SOURCE - CQL мэдэгдлүүд агуулсан файлыг ажиллуулдаг.
 * TRACING - Хүсэлтийг дагахыг идэвхжүүлэх эсвэл идэвхгүй болгох.
 * GREATE KEYSPACE - Cassandra дээр KeySpace үүсгэдэг.
 * USE - үүсгэсэн KeySpace-д холбогддог.
 * ALTER KEYSPACE - KeySpace-ийн шинж чанаруудыг өөрчилдөг.
 * DROP KEYSPACE - KeySpace устгах
 * GREATE TABLE-Space дээр хүснэгт үүсгэх
 * ALTER TABLE: Хүснэгтийн баганын шинж чанарыг өөрчилдөг.
 * DROP table - хүснэгтийг устгах.
 * TRUNCATE - Хүснэгтийн бүх өгөгдлийг устгана.
 * INDEX үүсгэх - Хүснэгтийн нэг багана дээр шинэ индексийг тодорхойлно.
 * INSERT - Хүснэгтийн мөрөнд багана нэмэх
 * UPDATE - Нэг мөрийн багануудыг шинэчилдэг.
 * DELETE - Хүснэгтийн өгөгдлийг устгадаг.
 * BATCH - Олон DML мэдэгдлийг нэгэн зэрэг гүйцэтгэдэг.

CQL заалтууд
 * SELECT - Энэ бүлэг нь хүснэгтийн өгөгдлийг уншдаг
 * WHERE - Энд тодорхой өгөгдлийг уншуулахын тулд хаана хэрэглэхийг заана.
 * ORDERBY - Orderby заалтыг тодорхой дарааллаар тодорхой өгөгдлийг уншиж сонгохын хамт ашигладаг.

Cassandra - Shell Commands
Cassandra нь CQL коммандаас гадна дүн шинжилгээний тушаалыг баримтжуулдаг. Доор дурдсанчлан Cassandra нь дараах командуудыг баримтжуулсан байна. Туслах HELP команд нь бүх cqlsh командуудын ерөнхий агуулга, товч тайлбарыг харуулна. Доорх бол тусламжийн командын хэрэглээ юм. cqlsh> help Documented shell commands: =========================== CAPTURE COPY DESCRIBE EXPAND PAGING SOURCE CONSISTENCY DESC EXIT HELP SHOW TRACING. CQL help topics: ================ ALTER          CREATE_TABLE_OPTIONS       SELECT ALTER_ADD      CREATE_TABLE_TYPES         SELECT_COLUMNFAMILY ALTER_ALTER    CREATE_USER                SELECT_EXPR ALTER_DROP     DELETE                     SELECT_LIMIT ALTER_RENAME   DELETE_COLUMNS             SELECT_TABLE

Capture

Энэ команд нь командын гаралтыг авч, файлд нэмнэ. Жишээ нь Outputfile нэртэй файл руу гаралтаа оруулаад дараах кодыг хараарай cqlsh> CAPTURE '/home/hadoop/CassandraProgs/Outputfile' Терминал доторх ямар ч команд бичиж байх үед өгөгдлийг өгсөн файлаар гаргана. Доор ашигласан команд болон гаралтын файлын хормын хувилбар юм. cqlsh:tutorialspoint> select * from emp;



Та дараах командыг ашиглан барьж болно. cqlsh:tutorialspoint> capture off;

Тогтвортой байдал

Энэ команд нь одоогийн тогтвортой байдлын түвшинг харуулж байгаа бөгөөд  шинэ тогтвортой байдлын түвшинг тогтоодог. qlsh:tutorialspoint> CONSISTENCY Current consistency level is 1.

Хуулах

Энэ команд нь Cassandra-аас өгөгдөлд файлыг хуулдаг. Доорх жишээнүүд нь файлын myfile-д өгсөн хоосон хүснэгтийг хуулах жишээ юм. cqlsh:tutorialspoint> COPY emp (emp_id, emp_city, emp_name, emp_phone,emp_sal) TO ‘myfile’; 4 rows exported in 0.034 seconds. Хэрвээ та файлаа нээж, шалгаж байвал доор үзүүлсэн шиг хуулбарыг олж болно.

Тайлбарлах Энэ команд нь Cassandra-ийн одоогийн кластер болон түүний объектуудыг тайлбарлах болно. Энэ командын хувилбарыг доор тайлбарлав. Кластерийг тайлбарлах - Энэ комманд кластерийн талаар мэдээлэл өгнө. cqlsh:tutorialspoint> describe cluster; Cluster: Test Cluster Partitioner: Murmur3Partitioner Range ownership: -658380912249644557 [127.0.0.1]                 -2833890865268921414 [127.0.0.1]                  -6792159006375935836 [127.0.0.1]

Түлхүүр үгсийг тайлбарлах - Энэ команд нь кластер дахь бүх түлхүүрүүдийг жагсаадаг. Доор дурдсан командыг ашиглах болно.

cqlsh:tutorialspoint> describe keyspaces; system_traces system tp tutorialspoint Хүснэгтийг тайлбарлах - Энэ команд нь бүх локал хүснэгтийг жагсаадаг. Доор дурдсан командыг ашиглах болно. cqlsh:tutorialspoint> describe tables; emp Хүснэгтийг тайлбарлах - Энэ команд нь хүснэгтийг тайлбарлах болно. Доор дурдсан командыг ашиглах болно. cqlsh:tutorialspoint> describe table emp; CREATE TABLE tutorialspoint.emp (  emp_id int PRIMARY KEY,   emp_city text,   emp_name text,   emp_phone varint,   emp_sal varint ) WITH bloom_filter_fp_chance = 0.01 AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}' AND comment = '' AND compaction = {'min_threshold': '4', 'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32'} AND compression = {'sstable_compression': 'org.apache.cassandra.io.compress.LZ4Compressor'} AND dclocal_read_repair_chance = 0.1 AND default_time_to_live = 0 AND gc_grace_seconds = 864000 AND max_index_interval = 2048 AND memtable_flush_period_in_ms = 0 AND min_index_interval = 128 AND read_repair_chance = 0.0 AND speculative_retry = '99.0PERCENTILE'; CREATE INDEX emp_emp_sal_idx ON tutorialspoint.emp (emp_sal); Төрөл тайлбарлах Энэ команд нь хэрэглэгчийн тодорхойлсон өгөгдлийн төрлийг тодорхойлоход хэрэглэгддэг. Доор дурдсан командыг ашиглах болно. cqlsh:tutorialspoint> describe type card_details; CREATE TYPE tutorialspoint.card_details (  num int,   pin int,   name text,   cvv int,   phone set,   mail text );

Зүйлээр тайлбарлах Энэ команд нь хэрэглэгчийн тодорхойлсон өгөгдлийн төрлийг жагсаав. Доор дурдсан командыг ашиглах болно. Хэрэглэгчийн тодорхойлсон өгөгдлийн төрлүүд байдаг гэж үзье: карт болон карт_details cqlsh:tutorialspoint> DESCRIBE TYPES; card_details card

Өргөжүүлэлт хийх

Энэ тушаал нь гаралтыг өргөтгөхөд хэрэглэгддэг. Энэ командыг ашиглахаасаа өмнө өргөтгөх командыг идэвхжүүлэх хэрэгтэй. Доор дурдсан тушаалыг ашиглах болно. cqlsh:tutorialspoint> expand on; cqlsh:tutorialspoint> select * from emp; @ Row 1 ---+   emp_id | 1 emp_city | Hyderabad emp_name | ram emp_phone | 9848022338 emp_sal | 50000 @ Row 2 ---+   emp_id | 2 emp_city | Delhi emp_name | robin emp_phone | 9848022339 emp_sal | 50000 @ Row 3 ---+   emp_id | 4 emp_city | Pune emp_name | rajeev emp_phone | 9848022331 emp_sal | 30000 @ Row 4 ---+   emp_id | 3 emp_city | Chennai emp_name | rahman emp_phone | 9848022330 emp_sal | 50000 (4 rows) Тайлбар: Та өргөтгөсөн сонголтыг дараах командыг ашиглан унтрааж болно. cqlsh:tutorialspoint> expand off; Disabled Expanded output. Гарах Энэ тушаал нь cql бүрхүүлийг зогсооход хэрэглэгддэг. Нээх Энэ команд нь Cassandra хувилбар, хост эсвэл өгөгдлийн төрлийн таамаглал зэрэг одоогийн cqlsh сессын мэдээллийг харуулна. Доор дурдсан командыг ашиглах болно. cqlsh:tutorialspoint> show host; Connected to Test Cluster at 127.0.0.1:9042. cqlsh:tutorialspoint> show version; [cqlsh 5.0.1 | Cassandra 2.1.2 | CQL spec 3.2.0 | Native protocol v3] Эх сурвалж Энэ командыг ашиглан та командуудыг файлд гүйцэтгэж болно. Манай оролтын файл дараах байдалтай байна: Дараа нь доор дурдсан шиг командуудыг агуулсан файлыг ажиллуулж болно. qlsh:tutorialspoint> source '/home/hadoop/CassandraProgs/inputfile'; emp_id | emp_city | emp_name |  emp_phone | emp_sal +---+--++-     1 | Hyderabad |   ram    | 9848022338 | 50000 2 | Delhi    |   robin  | 9848022339 | 50000 3 | Pune     |   rajeev | 9848022331 | 30000 4 | Chennai  |   rahman | 9848022330 | 50000 (4 rows)