Brightics Studio Installation on Linux Brightics Studio를 로컬 데스크탑이 아닌 원격 Linux 머신에 설치한다. localhost(127.0.0.1)가 아닌 외부에서 접근할 수 있는 IP 주소로 바인딩해야 한다. 사전 준비 의존 패키지 Python,Java,Node.Js 에 의존성이 있다. ProZone VM에 설치하는거니 대충 패키지 매니저로 설치한다. Python sudo yum install -y https://centos7.iuscommunity.org/ius-release.rpm sudo yum install -y python36u python36u-libs python36u-devel python36u-pip Node.js sudo […]
[Hadoop] Oozie 설치
Oozie 설치 아파치 우지(Apache Oozie)는 하둡의 잡(job)을 관리하기 위한 서버 기반의 워크플로 스케줄링 시스템이다. 사전 준비 다음과 같은 사전 준비 작업이 필요하다. Java java -version java version “1.8.0_181” Java(TM) SE Runtime Environment (build 1.8.0_181-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode) Maven mvn -version Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-25T03:41:47+09:00) Maven home: /app/maven Java […]
[Git] Github에서 git 시작하기
Github에서 git 시작하기 거의 모든 데이터는 nextcloud에 백업을 해두는데, 운영하고 있는 시스템 설정 파일들은 github에서 관리하는게 버전관리도 되고 좋은 것 같다. 소스코드는 아닌지만 하도 이랬다저랬다 설정을 많이 바꾸는 탓에. mysql 덤프 파일도 용량이 적어서 github을 이용해서 백업하면 좋은듯. Create a New Repository github에 계정을 만들고 로그인을 하면, 왼쪽 탭 [New] 버튼을 클릭해 새로운 repository를 생성할 […]
[Hadoop] Hue 설치
Hue 설치 Hue(Hadoop User Experience)를 이용하면 다양한 Apache Hadoop 에코시스템을 Web Interface로 접근할 수 있다. 의존성 패키지 yum -y install python2-devel sqlite-devel libxml2-devel libxslt-devel libffi-devel openssl-devel openldap-devel gmp-devel execvp-devel gcc gcc-c++ MySQL django의 Repository DB로 mysql을 사용한다. hue를 컴파일할 때 mysqld_config 명령도 필요하므로 먼저 설치해놔야 한다. 참고 : mysql 설치 미리 설치된 mysql 데이터베이스에 아래와 […]
[Hadoop] Hive 설치
Hive 설치 Hive를 이용하면 HDFS에 저장된 데이터를 HiveQL이라는 SQL-Like 언어로 쿼리할 수 있다. 사전 준비 JDK Hadoop Hadoop 파일시스템에 데이터파일을 저장하기 때문에 파일 저장소로서 하둡이 필수적이고, Hive가 설치되는 서버에 Hadoop Client가 설치돼 있어야 한다. (Hadoop 서버의 디렉토리를 통채로 복사해놓으면 된다.) 참고 : Hadoop 설치 MySQL metastore db로 mysql을 이용하기 위해 사전에 설치가 돼 있어야 한다. […]
[PySpark] dataframe을 python 자료형(dict)으로 변형하기
[PySpark] dataframe을 python 자료형(dict)으로 변형하기 spark driver 에서 데이터를 바로 사용하는 경우, dataframe은 다루기가 어려운 것 같다. dataframe의 collect()와 asDict()를 이용하면 Python 자료형으로 변환할 수 있다. dataframe 생성 pyspark에서 elasticsearch index를 조회해 dataframe을 생성한다. >>> from pyspark.sql import SQLContext >>> sqlContext = SQLContext(sc) >>> df = sqlContext.read.format(“org.elasticsearch.spark.sql”).option(“es.nodes”,”192.168.179.141:9200″).option(“es.nodes.discovery”, “true”).load(“${INDEX}/${TYPE}”) >>> df.registerTempTable(“tab”) >>> df = sqlContext.sql(“SELECT distinct […]
[PySpark] Elasticsearch Index 에서 DataFrame 생성하기
[PySpark] Elasticsearch Index 에서 DataFrame 생성하기 elasticsearch-hadoop connector 를 이용해서 spark dataframe을 생성한다. Spark 설치 spark 다운로드 및 환경설정 필요한 요소만 설치하고자 하는 경우 소스코드를 내려받아서 maven을 이용해 빌드해도 되지만 pre-compiled 바이너리를 이용한다. wget http://mirror.navercorp.com/apache/spark/spark-2.3.2/spark-2.3.2-bin-hadoop2.7.tgz tar -xvzf spark-2.3.2-bin-hadoop2.7.tgz -C /app/spark/. mv /app/spark/spark-2.3.2-bin-hadoop2.7 /app/spark/2.3.2 find /app/spark/2.3.2 -mindepth 1 -maxdepth 1 -type d | xargs -I {} […]
[ElasticSearch] Scroll API
[ElasticSearch] Scroll API elasticsearch에서 기본적인 search API는 한 페이지를 리턴하고나면 search context가 소멸된다. search API에서 from, to 값을 이용해 pagination을 구현한 것은 별개의 쿼리가 매번 수행된 것으로 RDBMS로 치면 cursor가 소멸된 것과 같다. 대량의 데이터를 조회하기 위해서는 다른 방식을 사용해야하는데, Elasticsearch에서 RDBMS의 cursor와 같은 기능을 하는게 Scroll API 이다. 사용 방법 curl을 이용해 간단히 scroll […]
[WordPress] 모든 글에 특성 이미지 추가하기
모든 글에 특성 이미지 추가하기 $DOCUMENT_DIR/wp-content/themes/$THEME_NAME/functions.php 문서를 열어 다음과 같은 함수를 추가한다. function auto_featured_image() { global $post; if (!has_post_thumbnail($post->ID)) { $attached_image = get_children( “post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1” ); if ($attached_image) { foreach ($attached_image as $attachment_id => $attachment) { set_post_thumbnail($post->ID, $attachment_id); } } } } // 기존 등록된 글에 특성 이미지가 없는 경우, 특성 이미지를 설정할 수 있도록 임시 […]
[Hadoop] 가용성을 고려한 Hadoop 2.x Cluster 설치
가용성을 고려한 Hadoop Cluster 설치 Namenode와 Resourcemanager를 active node,standby node로 각각 두 벌씩 구성함으로써 고가용성을 고려한 Hadoop Cluster를 설치한다. 사전 준비 의존 패키지 설치 namenode와 resourcemanager가 장애 상황에서 standby -> active 상태로 전환될 때에 fuser 명령을 이용해서 장애노드의 프로세스들을 정리하므로 psmisc 패키지를 설치한다. yum -y install psmisc JDK https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 페이지에서 JDK 8 버전 바이너리 다운로드하고 […]