Автор оригинала: Sheena.
Вступление
Этот учебник собирается пройти шаги, необходимые для установки Кассандра и Искра На системе Debian и как заставить их играть в приятно в Scala. Spark и Cassanrda существуют ради приложений в больших данных, так как таковые они предназначены для установки на кластер компьютеров, возможно, распространены над несколькими географическими местами. Этот учебник, однако, будет заниматься единой компьютерной установкой. Целью этого учебника является предоставление вам отправной точке, из которой можно настроить свой кластер для вашего конкретного приложения и дать вам несколько способов убедиться, что ваше программное обеспечение работает правильно.
Основные компоненты
Это учебное пособие касается довольно нескольких разных технологий. Ниже приведено небольшое описание для каждого из основных из них, с которыми мы будем иметь дело здесь.
Искра
Искна была описана как швейцарский армейский нож больших данных, но что это значит? Искра началась как замена для Hadoop И Hadoop — это своего рода отраслевой стандартный инструмент для выполнения широкомасштабных распределенных расчетов на карте. Hadoop решил кучу проблем — потребовалось один вид алгоритма и превратил его в распределенную производственную линию, создающую таким образом эффективную и надежную систему для решения очень удельных видов проблем. Hadoop изначально был инструментом (ну на самом деле это был сначала маленький желтый слон, то это был инструмент), а затем слово начало использовать для ссылки на экосистему совместимых инструментов.
Hadoop потрясающий. Но у него есть свои проблемы. Во-первых, это может быть немного ужасно использовать. Написание карт-уменьшения кода может быть утомительным и имеет много места для неправильной стороны — не каждый может это сделать. Несколько инструментов сценариев, таких как Apache Pig были разработаны для того, чтобы отстраниться от этого, но это все еще проблема. Кроме того, это только уменьшает карту — есть много больших проблем с данными, которые просто не могут вписаться в эту парадигму (или все, что вы хотите называть это). Кроме того, это медленно. Медленнее, чем это может быть в любом случае — технические детали за пределами объема этого учебника.
Spark — это относительно недавнее дополнение к экосистеме Hadoop и работает для решения нескольких проблем ванильного Hadoop. Для одной вещи проще в использовании, позволяя пользователям указывать карты-уменьшить задания, просто открывая код оболочки и записи, который, как правило, читается, поддерживаемый и быстрый для записи. Таким образом, пользователи могут выполнять специальные запросы или отправлять большие задания. Spark стремится сделать лучшее использование системных ресурсов, особенно RAM и рекламируется в 10 раз быстрее, чем Hadoop для некоторых рабочих нагрузок. Искра также делает вещи, которые не попадают в карту — уменьшить способ мышления — например, он позволяет для итеративной обработки, что-то ванильноеда Hadoop плохо подходит для. Spark также работает с любым совместимым хранилищем Hadoop, что делает преобразование от Hadoop до искры, не так отвратительна, как может быть. На вершине всего этого Spark — это основные проекты фундаментов Apache. И это потрясающе потрясающе.
Кассандра
Кассандра — это распределенная база данных на основе Google Bigtable и Динамо Amazon Отказ Как и другие базы данных больших данных, это позволяет задохнуть структуры данных. Одна из прохладных особенностей Кассандры является тот факт, что он весы предсказуемым способом — каждый узел на кластере кассандры имеет одинаковую роль и работает таким же образом, нет центрального узла типа Хранителя ворот, через которые все трафик должен пройти или что-то как это. Ни один узел не особенный, поэтому ни один узел не станет узким местом для общей кластеры, и нет единой точки отказа. И это довольно замечательно.
Кроме того, Кассандра предоставляет многие из тех же гарантий, что и другие базы данных Hadoop-y — он работает в кластере и может охватывать несколько центров обработки данных; Он может говорить с Hadoop и Spark таким образом, чтобы поддерживать механизмы мест для датчиков (хотя важность этого аспекта сомнительна); Формат хранилищ им данных смещается до некоторой степени; Это обеспечивает надежное хранилище … Все хорошие вещи.
Сосредоточение
Скала это язык сценариев, который работает на JVM. Spark переговаривает со многими разными языками, но разъем Spark-Cassandra, которые мы собираемся использовать Scala Best. Scala круто для куча причин, то тот факт, что он работает на JVM, означает, что составляющие SCALA могут быть включены в программное обеспечение Java и компоненты Java в SCALA. Кроме того, намного быстрее писать, чем Java, удаляя потребность в большом количестве раздражающих требований котла Java.
Установка
Теперь мы накрыли основы, время установить этот материал. Вам понадобится доступ в sudo. Шаги, которые следуют, отлично работают на свежем сервере Ubuntu 14.04.
Давайте взломаемся.
Установить предварительные условия
Сначала нам понадобится установлена Java. Oracle Java 7 — самая стабильная версия для использования в этой настройке на момент написания. Это ожидает, что свежая система без каких-либо неприятных нежелательных битов Java установлена. Откройте терминал и введите этот материал в:
sudo apt-get install software-properties-common sudo apt-add-repository ppa:webupd8team/java
Вас можно попросить нажать [ENTER] в этот момент.
sudo apt-get update sudo apt-get install oracle-java7-installer
Согласитесь к лицензии, если вы смеете. Теперь просто убедитесь, что он был установлен правильно:
java -version
Это должно выполнить без ошибок и вывести какой-то текст, который выглядит несколько нравится:
java version "1.7.0_80" Java(TM) SE Runtime Environment (build 1.7.0_80-b15) Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
Установка кассандры
Есть и другие способы сделать это, но это самый простой.
Сначала мы добавляем хранилище сообщества ChateSaxax и сообщите о своей системе, что она доверяется:
echo "deb http://debian.datastax.com/community stable main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list curl -L http://debian.datastax.com/debian/repo_key | sudo apt-key add -
Далее мы делаем нашу установку:
sudo apt-get update sudo apt-get install dsc21=2.1.9-1 cassandra=2.1.9 cassandra-tools=2.1.9
После завершения установки Cassandra будет работать, и она будет связана с некоторыми данными по умолчанию. Если вы хотите изменить любую серьезную конфигурацию вашего кластера, то было бы лучше всего сделать это, прежде чем продолжить. Настройка кластера кассандры находится за пределами объема этого текста.
Остановка и начала службы кассандры узла может быть достигнута так:
sudo service cassandra stop sudo service cassandra start
И чтобы увидеть, если ваша кластер Cassandra работает и работает, используйте следующую команду:
nodetool status
Это должно выводить что-то вроде:
Datacenter: datacenter1 ======================= Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns (effective) Host ID Rack UN 127.0.0.1 104.55 KB 256 100.0% a6f88d74-d436-4669-9065-6854543598b3 rack1
CQL
CQL — версия SQL Cassandra. Как только вы успешно установили Cassandra Type CQLSH
войти в оболочку CQL. Это не полный учебник CQL. Вы можете запустить эти вещи, чтобы убедиться, что все, что вы сделали до сих пор.
Откройте оболочку и попробуйте это:
// Create a keyspace CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1 }; // create a table in that keyspace USE "test"; CREATE TABLE my_table(key text PRIMARY KEY, value int); // store some goodies INSERT INTO my_table(key, value) VALUES ('key1', 1); INSERT INTO my_table(key, value) VALUES ('key2', 2); // and retrieve them again SELECT * from my_table;
Не должно быть никаких ошибок.
Установка искры
Этот хороший и прямой …
Скачать искру и распаковать его:
wget http://apache.is.co.za//spark/spark-1.4.1/spark-1.4.1-bin-hadoop2.6.tgz tar xvzf spark-1.4.1-bin-hadoop2.6.tgz
Вы можете переместить это туда, куда угодно. Теперь давайте проверим это. Откройте Sproke Shell, делая компакт-диск в свой искровой каталог, а затем:
bin/spark-shell
Это займет несколько секунд, и будет много вывода журнала. Вы в конечном итоге представите скалью. Теперь давайте сделаем искру, чтобы сделать для нас расчет:
sc.parallelize( 1 to 50 ).sum()
Это в конечном итоге выводит результат 1275.
Spark Cassandra разъем
Искушение не знает, как говорить Кассандру, но это функциональность может быть продлена путем использования разъемов. Счастливых для нас, приятные люди в DataStax выпустили один, и он доступен для скачивания с Github Отказ
Вы можете установить Git и сделать клон. Вот так:
sudo apt-get install git git clone https://github.com/datastax/spark-cassandra-connector.git
Если вы понятия не имеете, что означает, что это означает, что вы можете следовать эта ссылка И загрузите последние ZIP и расстегните его. Вы также можете потратить некоторое время, узнав о Git.
Как только он клонирует его, то нам нужно будет построить его:
cd spark-cassandra-connector git checkout v1.4.0 ./sbt/sbt assembly
Обратите внимание, что мы проверяем V1.4.0. Во время написания последняя версия имеет некоторые проблемы сборки. Это работает.
Пойди сам чашку чая. Вы заслужили это. Возможно, две чашки, это займет некоторое время.
Когда сборка наконец закончена, в каталоге будет два файла JAR в каталоге с именем «Target», один для SCALA и один для Java. Мы заинтересованы в Scala One. Хорошо иметь банку, доступную через путь, который легко запомнить. Давайте скопируем его в свой домашний каталог. Вы можете поставить его везде, где вы хотите действительно.
cp spark-cassandra-connector/target/scala-2.10/spark-cassandra-connector-assembly-1.4.0-SNAPSHOT.jar ~
Использование разъема
Теперь у нас все биты и кусочки отсортированы. Запустите Sproke Shell снова (изнутри свой искровой каталог), но на этот раз загружайте банку:
bin/spark-shell --jars ~/spark-cassandra-connector-assembly-1.4.0-SNAPSHOT.jar
Теперь введите следующее в подсказке SCALA:
sc.stop import com.datastax.spark.connector._, org.apache.spark.SparkContext, org.apache.spark.SparkContext._, org.apache.spark.SparkConf val conf = new SparkConf(true).set("spark.cassandra.connection.host", "localhost") val sc = new SparkContext(conf)
Это берет контекст искры и заменяет его одним, который связан с вашей локальной кассандрой.
Теперь давайте возьмем его для спина. Помните, что мы сделали клавиатуру под названием Тест
и стол называется my_table
? Мы будем использовать их снова. Введите следующее в Scala Shell:
val test_spark_rdd = sc.cassandraTable("test", "my_table") test_spark_rdd.first
Разве это не мило.
Заключение
Мы взяли свежую монтажу Ubuntu и настроили Кассандру и искру и потом, чтобы поговорить. Это довольно подвиг на это собственное. Но чтобы они разговаривали таким образом, что на самом деле полезно имеет много последствий. Во-первых, у нас все установлено на одном компьютере. Это работает, но реальная сила этих технологий происходит от того, что они направлены на решение проблем в сфере больших данных. Они должны быть установлены на кластере, возможно, кластер с несколькими датчиками.
Помимо установки, есть много, что можно сказать о том, как на самом деле работает Кассандра — это очень настраиваемая база данных и может быть оптимизирована для всех видов рабочей нагрузки. Тогда существует тема дизайна и оптимизации схемы. Маленький кусочек CQL, который мы находимся в этом уроке, едва царапает поверхность возможностей Кассандры. Если вы хотите использовать его каким-либо серьезным способом, он будет лучше всего потратить некоторое время, копаться в том, как он работает.
Искушение также заслуживает большего внимания, чем это учебное пособие. Например, знаете ли вы, что вы можете использовать Sproke Spark Python (называемую Pyspark)? К сожалению, на момент написания питона поддержки Python для разъема кассандры называли «экспериментальным». Мех. Если вы хотите использовать искру любым полезным способом, по крайней мере, полезно узнать об контексте искры, и что можно сделать с помощью RDD.
Это все люди.
Оригинал: «https://www.codementor.io/@sheena/installing-cassandra-spark-linux-debian-ubuntu-14-du107vbhx»