PySpark
Hadoop metastore 실행
Hadoop과 Hive를 실행한 후, pyspark를 실행해야 한다.
먼저 Hadoop을 실행한다.
$ $HADOOP_HOME/sbin/start-dfs.sh
$ $HADOOP_HOME/sbin/start-yarn.sh
Hive를 실행한다.
$ cd $HOME/hive
$ ./bin/hive --service metastore &
$ jps
다음 7개의 패키지가 실행되고 있는 것을 확인한다.
23874 Jps
21123 NameNode
21717 ResourceManager
21993 NodeManager
21305 DataNode
23786 RunJar
21535 SecondaryNameNode
PySpark를 실행해준다.
$ cd $HOME
$ pyspark
jupyter notebook에서 sc 를 입력하여 다음과 비슷한 결과를 볼 수 있다면 성공적으로 실행된 것이다.
SparkContext
Spark UI
Version
v2.3.4
Master
local[*]
AppName
PySparkShell
Error Book
1. Jupter notebook permission Errors
$ cd certs
$ ls -alh
$ rm -r ./*
yes, yes로 답한다.
$ openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout mykey.key -out mycert.pem
2. pyspark permission Errors
ssh key를 다시 생성해준다.
$ cd $HOME
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ ssh localhost
$ exit
3. background에서 실행되고 있는 것을 중지
$ jobs
Ubuntu에서 Spark 기반 스트리밍을 다루다보면 백그라운드에서 돌고있는 프로그램을 제어해야 할 때가 있다. 이때 jobs, kill을 사용하면 된다.
jobs: 백그라운드에서 실행되고 있는 프로그램들의 목록이 뜬다.
kill: 여기서 제어하고 싶은 프로그램의 번호를 찾아서, kill -9 %숫자 로 중지할 수 있다.
예를들어, jobs로 확인하였을 때 1번 프로그램을 중지하고 싶다면 다음과 같이 입력한다.
$ kill -9 %1
Reference
Spark The Definitive Guide(스파크 완벽 가이드)