Spark

Spark

1. Общее

При скачивании spark обязательно нужно скачать предустановленную версию.
По дефолту предлагают скачать исходники и собрать их через mvn или sbt.
На машине с 1Gb это займет больше 8 часов, и скорее всего выпадет ошибка outOfMemory, если не будет предварительных настроек размера heap.

Hadoop и Apache Hive отдельно устанавливать не нужно, они идут в комплекте.

Чтобы обращаться к Spark через jdbc, после запуска spark, рядом запускается Apache Hive, который подключается к spark.

bin/spark-shell – оболочка для запуска spark, через нее можно посылать команды, добавлять данные и т.д.
sbin/start-thriftserver.sh – SQL Server, который подключается к spark
sbin/start-all.sh – основной запуск процесса spark
sbin/start-master.sh – запуск standalone

sbin/stop-thriftserver.sh
sbin/stop-master.sh
sbin/stop-all.sh

2. Установка и настройка Spark

install java
install scala
Download preBuild! version spark – spark-1.6.1-bin-hadoop2.6.tgz

3. Upload in directory /opt/spark

tar xvzf spark-1.6.1-bin-hadoop2.6.tgz

mv spark-1.6.1-bin-hadoop2.6 ./spark – rename folder

mv spark /opt/spark – remove folder

4. Настроить .bashrc

export _JAVA_OPTIONS=”-Xmx1300m -Xms256m -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m”

export SPARK_HOME=/opt/spark/

export SCALA_HOME=/opt/scala/
export PATH=/opt/scala/bin:$PATH

Нужно добавить эти переменные в файл ~root/.bashrc

Редактировать можно через vim.
vim ~root/.bashrc

source ~root/.bashrc – подтянуть изменения, после редактирования

Для режима редактирования нажать – a
Для сохранения – ecs :wq Enter
Выйти без сохранения – ecs :q! Enter

5. Настроить Hive

mv /home/web/hive-site.xml /opt/spark/conf/hive-site.xml
Пример файла в приложении.

6. Настроить Spark

Spark необходимо правильно настроить, иначе некоторые запросы могут зависать.
Например, если в логах WARN TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient resources
это значит, что Spark ждет ресурсов и памяти для выполнения операции и не начнет работу пока не дождется. Подробнее тут http://www.datastax.com/dev/blog/common-spark-troubleshooting.
Поэтому в spark-env.sh должны быть выставлены значения в соответствии с возможностями машины.
Пример файла в приложении.

7. Добавить данные

bin/spark-shell

//sqlContext = HiveContext https://issues.apache.org/jira/browse/SPARK-9776

Добавить данные из файла txt.

sqlContext.sql(“CREATE TABLE IF NOT EXISTS src (key INT, value STRING)”)
sqlContext.sql(“LOAD DATA LOCAL INPATH ‘examples/src/main/resources/kv1.txt’ INTO TABLE src”)

// Queries are expressed in HiveQL
sqlContext.tables().collect()

sqlContext.sql(“FROM src SELECT key, value”).collect().foreach(println)

Добавить данные из базы данных.

./bin/spark-shell –jars /home/web/postgresql-9.4.1208.jar

val dataframe_mysql = sqlContext.read.format(“jdbc”).option(“url”, “jdbc:postgresql://localhost:5432/test_data”).option(“driver”, “org.postgresql.Driver”).option(“dbtable”, “dmtests”).option(“user”, “root”).option(“password”, “123456”).load()

dataframe_mysql.show
dataframe_mysql.registerTempTable(“dmtests”)
dataframe_mysql.sqlContext.sql(“select * from dmtests”).collect.foreach(println)

Проблемы с названием DM-Tests и DMTests. Переименовал dmtests – норм.

Подробнее тут https://www.supergloo.com/fieldnotes/spark-sql-mysql-example-jdbc/

Добавить данные из json.

val dataFrame = sqlContext.jsonFile(“examples/src/main/resources/people.json”)
dataFrame.saveAsTable(“people”)

8. Запуск Spark

sbin/start-all.sh

9. Подключение Hive

./sbin/start-thriftserver.sh –master spark://127.0.0.1:7077

10. Добавление пользователя

Пользователя нужно добавить при первой настройке.

bin/beeline
!connect jdbc:hive2://localhost:10000

Вводим user, password

Можно попробовать запросы.
help
!sql show tables;
!sql FROM src SELECT key, value;

10.1. Если в логах ошибка Another instance of Derby may have already booted the database

Возможное решение.
Another instance of Derby may have already booted the database

sbin/stop-thriftserver.sh
sbin/stop-master.sh
sbin/stop-all.sh
rm /opt/spark/metastore_db/dbex.lck

or reboot.

11. Соединяется клиентом к Spark

Рекомендуют SQuirreL SQL Client
Нужно подключить
hive-cli-1.2.1.jar
hive-jdbc-1.2.1.jar
spark-assembly-1.6.1-hadoop2.6.0.jar

Первые два в приложении.

Подробнее тут
1) http://www.atware.co.jp/blog/2015/5/28/y5qi4p6x175x1pgbdh32jnj5uss07r
2) https://cwiki.apache.org/confluence/display/Hive/HiveServer2+Clients

12. Для запуска spark в фоновом режиме использовать screen

13. Полезные команды

ps aux – посмотреть процессы
kill 32301 – убить процесс, где 32301 это PID процесса

free -m – посмотреть свободную память

rm -rf /opt/spark/logs – удалить логи

14. Файл с приложениями

Файлы с настройками + jars

Java – get difference between two lists java

Get difference between two lists java

Получить разницу между двумя list – java

При запуске windows синий экран с ошибкой UNMOUNTABLE_BOOT_VOLUME

При запуске windows синий экран с ошибкой  UNMOUNTABLE_BOOT_VOLUME
1.png

Причины появления

Повреждения файловой системы, из-за аварийного отключения, например.

Лечение

1) Создать LiveCD или LiveUSB. То есть зайти в систему с windows установленной на флешке или диске.

2) Исправить поврежденные сектора на диске

  1. Открыть командную строку: win + r, написать cmd, нажать enter
  2. Выполнить команду ниже

2.png

Как исправить ошибку Itunes Error 7 Windows Error 193

Причины ошибки 193 в iTunes

  • Произошло повреждение файловой системы и файлов iTunes либо повреждение реестра

Лечится переустановкой

1. Удалить все приложения на компьютере от Apple

1

2. Переустановить iTunes

ITunes при установке установит себя и все остальные приложения которые ему нужны.

В случае, если полная переустановка не помогла, попробуйте проверить системный диск на ошибки.

Проверить системный диск на ошибки

Операция может занять несколько часов.

  1. Открыть “Мой компьютер”
  2. Нажать на нужный диск левой кнопкой мыши и выбрать “Свойства”
  3. Перейти на вкладку “Сервис”

1

4. Перезагрузить компьютер, и дождаться окончания проверки

CISCO VPN Client – ERROR:Reason 442: Failed to Enable Virtual Adapter

CISCO VPN Client выкидывает ошибку ERROR:Reason 442: Failed to Enable Virtual Adapter

liLn2K7

Проблема решается отключение службы Internet Connection Sharing (ICS) – общий доступ к сети

1) win + r

2) services.msc + enter

3) Отключить службу “Общий доступ к подключению к Интернету (ICS)”

Image 1

Java and other technologies