Presto 란? Presto는 기가 바이트에서 페타 바이트까지의 모든 크기의 데이터 소스에 대해 대화 형 분석 쿼리를 실행하기위한 오픈 소스 분산 SQL 쿼리 엔진입니다. Presto는 대화식 분석을 위해 처음부터 설계되고 작성되었으며 상용 데이터웨어 하우스의 속도에 접근하면서 Facebook과 같은 조직 규모로 확장되었습니다. Presto는 Hive, Cassandra, 관계형 데이터베이스 또는 독점적인 데이터 스토어에 있는 데이터를 쿼리 할 수 있게 합니다. Facebook은 Presto를 사용하여 300PB 데이터 웨어 하우스를 비롯한 여러 내부 데이터 저장소에 대한 대화형 쿼리를 제공합니다. 1,000명이 넘는 페이스북 직원들은 Presto를 매일 사용하여 매일 30,000개 이상의 쿼리를 실행..
사용자 패스워드 속성 변경 # chage -l username : 해당 user의 현재 설정이 나열된다. # chage -d 0 username : 다음 로그인 시 강제로 암호 업데이트를 실행하도록 한다.# chage -E YYYY-MM-DD username : 특정 날짜에 계정을 만료한다. ※ date 명령을 사용하여 향후 날짜를 계산할 수 있다.$ date -d "+90 days" Sun Feb 10 11:19:30 KST 2019 ☞ 이 글이 도움이 되셨다면 광고 클릭을 부탁드립니다 :) ☜
어느덧 Hadoop 3.1 까지 릴리즈가 되었고, Cloudera도 Hadoop3.0 버전이 들어가 CDH6.x 버전이 릴리즈 되었습니다. 이 시점에서 Hadoop 3 버전은 Hadoop 2 버전에 비해 무엇이 달라졌을지 한번 정리해 보려고 합니다. 1. Java Version Hadoop 2버전에서는 Java7 이상이라면 모두 지원을 하였습니다. 하지만 Hadoop 3 버전부터는 반드시 Java 8 이상의 버전을 사용하셔야 합니다. 참고로 Cloudera에서는 현재까지는 반드시 Oracle JDK8 이상을 사용하길 권고하고 있습니다. 2. Erasure Coding 도입 Hadoop 2까지 Hadoop은 HDFS에서 Fault tolerance를 위해 Replication factor 3의 3배수 블럭..
[CentOS7] LVM /home 크기 대신 /(root) 크기 늘리기 서버 구성시 /home 영역이 필요 없는데 기본 값으로 설정했을 경우 /home 대신 /(root) 크기를 늘려줘야 하는 경우가 있다.이럴 경우 /home LVM을 삭제하고 /(root) LVM을 늘린 후 적용하는 방법이다. 1. 우선 현재 mount 되어 있는 영역을 확인한다.12345678910111213# df -Th Filesystem Type Size Used Avail Use% Mounted on/dev/mapper/centos-root xfs 50G 9.4G 45G 18% /devtmpfs devtmpfs 17G 0 17G 0% /devtmpfs tmpfs 17G 0 17G 0% /dev/shmtmpfs tmpfs 17..
[Linux]GPT와 MBR 차이 이번에 2T 이상 파티션을 잡아보면서 GPT와 MBR의 차이를 간단히 정리하고자 한다. 가장 흔히 linux OS에서 파티션을 잡는 방법은 fdisk 명령어를 사용하는 것이다. 그런데 2T 이상 파티션을 잡으려면 이 fdisk로는 불가능하다. fdisk는 MBR(Master Boot Record) 방식을 사용하는 파티셔닝 명령어이기 때문이다. 이 MBR 방식은 파티션당 최대 2TB까지 밖에 크기를 설정할 수 없다. 따라서 2TB 이상 파티션을 잡고 싶다면 GPT(GUID Partition Table) 방식으로 파티셔닝을 해야한다. GPT 방식을 사용한다면 18EB(엑사바이트)까지 파티션을 잡을 수 있다. GPT 방식을 사용하기 위해서는 parted 라는 명령어를 사용하면..
[Linux]2T 이상 파티션 잡기 그 전까지는 fdisk를 통해서만 파티션을 잡아오다가 8T를 파티션해야하는데 fdisk로는 2T가 한계라 당황한 일이 있었다. 그리고 구글링 결과 2T 이상 파티션을 잡기 위해서는 GNU에서 제공하는 parted를 사용하면 된다는 것을 확인. parted를 이용하여 8T 파티션에 성공하였다. 1. 파티션 잡을 디스크 선택# parted /dev/sdb 2. 디스크에 라벨링(parted)mklabel gpt*기본적으로 linux partition은 MBR(Master boot Record) 방식이다. 그런데 이 MBR의 파티션당 최대 크기는 2TB이다. 따라서 18EB(엑사바이트)까지 파티션 크기를 잡을 수 있는 GPT(GUID partition Table) 방식을 써야..
MySQL DB를 사용하다 보면 간간히 DB 백업이 필요할 때가 발생합니다. Test 용도에서의 사용 뿐 아니라 Production으로 사용중인 DB라면 더욱 더 자주 백업이 필요하게 됩니다. 이때를 위해 MySQL DB 백업 방법을 간단히 정리하였습니다. 1. 명령어 mysqldump [옵션] DB명(Table명) > /디렉터리/덤프파일명 - 전체 DB 덤프 $ mysqldump -h localhost -u root -p패스워드 --all-databases > /디렉터리/덤프파일명 - 특정 DB 덤프 $ mysqldump -h localhost -u root -p패스워드 --databases DB명 > /디렉터리/덤프파일명 2. 옵션 옵션 의미 Default 비고 -n, --no-create-db CR..
1. 사전구성 1) 호스트네임이 FQDN 형식을 갖고 있는지 확인한다. $ hostname test01.ldaptest.com 2) /etc/hosts 파일에 IP와 FQDN 형식의 호스트네임을 정의해준다. $ echo "192.168.75.100test01.ldaptest.comtest01" | tee -a /etc/hosts 2. OpenLDAP 설치 1) apt 레파지토리 업데이트를 진행한 뒤, slapd와 ldap-utils 패키지를 설치해 준다. $ sudo apt update $ sudo apt install -y slapd ldap-utils slapd 설치 중 패스워드를 묻게 되면 admin 계정의 패스워드이므로 꼭 기억하자. 2) slapcat 명령어를 통해 정의된 dn 정보를 확인한다...
와일드카드 서브도메인(*.domain.com) *.domain.com 처럼 앞에 붙은 와일드카드 문자인 *가 서브도메인 역할을 합니다. 실제 주소로 와일드카드를 사용하여 접속을 하려고 하면 일반적인 경우에는 접속을 할 수 없습니다.서브도메인이지만 실제로 접속할 수 없는 이유는 도메인 레코드 설정상의 주소이기 때문에 어디까지나 뒷세계에서만 존재하는 아주 특별한 도메인이기 때문입니다. *.domain.com은 지정되지 않은 임의의 서브 도메인에 대해서 모든 연결을 domain.com (또는 따로 지정한 주소)로 연결을 하게끔 합니다. 예를 들어, domain.com의 서브 도메인을 aaa와 bbb, ccc만 설정하였다면 abc.domain.com의 경우는 서브도메인으로 등록되지 않았기 때문에페이지를 불러올 ..
Docker Container 다루기 - 볼륨 공유 ▶ 호스트 볼륨 공유# docker run -d \--name wordpressdb_hostvolume \-e MYSQL_ROOT_PASSWORD=password \-e MYYSQL_DATABASE=wordpress \-v /home/wordpress_db:/var/lib/mysql \mysql:5.7*볼륨 공유에는 -v 옵션을 사용한다. 위의 예제에는 호스트의 /home/wordpress_db 디렉터리와 컨테이너의 /var/lib/mysql 디렉터리를 공유한다는 뜻이다. 즉 호스트 볼륨 공유는 [호스트의 공유 디렉터리]:[컨테이너의 공유 디렉터리] 형태이다. *미리 /home/wordpress_db를 미리 생성하지 않아도 도커는 자동으로 이를 생성한다..
▶ 버전 확인 # docker -v ▶ 이미지 내려 받기 # docker pull [이미지 이름] ex) docker pull centos:7 ▶ 이미지 목록 확인 # docker images ▶ 이미지 삭제 # docker rmi [이미지 이름] ▶ 컨테이너 생성 # docker create -i -t --name mycentos centos:7 ▶ 컨테이너 실행 # docker start mycentos ▶ 컨테이너 내부 접근 # docker attach mycentos ▶ 컨테이너 생성 및 내부접근 # docker run -i -t --name centos7 centos:7 ▶ 컨테이너 정지 # docker stop centos7 ▶ 컨테이너 정지 후 빠져나오기 # exit or Ctrl + D ▶..
Transforming Data Using RDDs1.weblog 데이터를 RDD로 만든다logRDD = sc.textFile("/loudacre/weblogs/")2.logRDD 에서 JPG 파일에 대한 요청만 필터링한다. jpglogsRDD = logRDD.filter(lambda line: ".jpg" in line)3.take action을 이용해서 jpglogsRDD에서 데이터 다섯줄만 반환한다. jpgLines = jpglogsRDD.take(5)4.반복문으로 jpgLines를 출력한다. for line in jpgLines: print line 217.150.149.167 - 4712 [15/Sep/2013:23:56:06 +0100] "GET /ronin_s4.jpg HTTP/1.0" 20..
Read and Display Data from a Text File 1.frostroad.txt 파일을 RDD로 정의한다. myRDD = sc.textFile("/loudacre/frostroad.txt") 2.Spark는 아직 file을 읽는 않았다. spark는 RDD에서 action을 수행하기 전까지 file을 읽지 않을 것이다.count action을 사용해서 RDD에 몇개의 요소가 들어있는지 세어보아라. myRDD.count() 23 3.collect를 호출하여 RDD에 있는 모든 데이터를 Spark driver로 반환해라. 파이썬의 경우 list of strings 데이터 타입을 반환할 것이다. lines = myRDD.collect() 4.lines에 담겨있는 collection을 출력한다..
Working with DataFrames and SchemasdevDF = spark.read.json("/loudacre/devices.json").show(3) +--------+------+--------+-----+--------------------+ |dev_type|devnum| make|model| release_dt| +--------+------+--------+-----+--------------------+ | phone| 1|Sorrento| F00L|2008-10-21T00:00:...| | phone| 2| Titanic| 2100|2010-04-19T00:00:...| | phone| 3| MeeToo| 3.0|2011-02-18T00:00:...| +--------+---..
Exploring DataFrames Using the Apache Spark Shell devDF = spark.read.json("/loudacre/devices.json") Spark shell에서 다음과 같이 DataFrame으로 HDFS에 있는 JSON 파일을 읽어올 수 있습니다. devDF.printSchema() root |-- dev_type: string (nullable = true) |-- devnum: long (nullable = true) |-- make: string (nullable = true) |-- model: string (nullable = true) |-- release_dt: string (nullable = true) Spark는 Lazy하기 때문에 앞서 rea..
Pyspark Shell과 Jupyter notebook 연동하기 환경 변수 설정 Pyspark Shell과 Jupyter notebook을 연동하기 위해서는 당연하지만 우선 Spark와 Jupyter notebook이 설치 되어 있어야 한다. 이를 위해 spark는 cloudera 배포판을 이용하여 Spark2.2 버전을 설치하였고, Jupyter notebook은 Anaconda로 환경을 구성 하였다. Pyspark shell과 Jupyter notebook을 연동하기 위해서는 환경변수 설정을 해주면 간단하게 가능하다.그리고 나와 같이 Cloudera 배포판을 이용하여 spark를 설치한 경우에는 Hue의 default 포트가 8888로 Jupyter notebook default 포트와 겹치므로 J..
아나콘다(Anaconda) 설치 및 사용법 for Centos7 아나콘다 다운로드 및 설치 아나콘다는 https://www.continuum.io/downloads 에 접속해서 다운로드 받을 수 있다. Centos7에 설치할 것이기 때문에 Linux Installer를 다운로드할 것이다. 따로 FTP프로그램을 사용해서 설치파일을 옮겨줘도 좋으나 여기서는 wget을 이용하여 다운로드 할 것이다. 1wget https://repo.continuum.io/archive/Anaconda3-5.0.1-Linux-x86_64.shcs 그리고 설치를 위해서는 bzip2 가 설치되어 있어야하는데 만약 설치중에 bzip2가 없다는 에러가 뜬다면 bzip2를 설치해주면 된다.다음과 같이 간단히 설치할 수 있다. 12wge..
Cloudera 배포판 HUE Admin 계정 생성 및 비밀번호 변경 Cloudera 배포판에서 HUE Admin 계정 패스워드를 잊어버렸을 경우 HUE WEB UI에서 사용자 관리를 할 수 없다. 따라서 shell에 접속해서 새로운 HUE Admin 계정을 생성해 준 뒤에 패스워드를 잊어버린 계정에 대한 패스워드도 재설정 가능하다. 이를 위해 HUE 명령어를 사용해야 하는데 Cloudera 배포판 경우에는 /opt/cloudera/parcels/CDH/lib/hue/build/env/bin 위치에서 사용가능하다. 단, 명령어는 root 계정으로 실행해야한다. ■ Admin 계정 생성 ( Superuser 생성 ) Cloudera 배포판에서는 CM이 관리하고 있기 때문에 --cm-managed라는 옵션을..
Apaceh Spark2 Cloudera 배포판 설치 ⊙ Spark 2 요구 사항 CDH 버전 다음과 같이 각 Spark2 릴리즈에 따라 지원하는 CDH가 다르다. 또한 클라우데라의 권고사항에 따르면 Hive와의 호환성 문제로 인해 Hive 기능을 사용하는 경우에는 Spark2.0 Release2 이후 릴리즈를 사용하는 것이 좋다. 출처 : https://www.cloudera.com/documentation/spark2/latest/topics/spark2_requirements.html CM 버전 Cloudera Manager 버전의 경우 5.8.3 이상의 버전을 사용한다면 어떤 spark2 릴리즈를 설치하더라도 무관하다. Scala 2.11 Requirement Spark2에서는 오직 Scala 2..
출처 : www.machbase.com 인피니플럭스(대표 김성진)의 마크베이스 제품 교육에 다녀왔습니다! 마크베이스는 기존에는 사명과 동일한 인피니플럭스 였던 제품명을 새롭게 리브랜딩한 이름입니다. 마크베이스에 대해 설명 드리자면 서버, 장비, 어플리케이션으로 부터 대량으로 발생하는 로그성 시계열 데이터를 실시간으로 저장하고 분석하는 혁신적인 기술의 DBMS 입니다. 주요 기능으로는 출처 : Machbase 교육 교안 다음과 같이 수집부터 저장, 분석, 시각화, 관리까지 전반적인 영역에 걸쳐서 다양한 기능을 제공하고 있습니다. 성능적인 측면에서는 Intel i7 3.6 Ghz 4 core CPU, 32GB Memory, 7200 SATA HDD, CentOS 6.6 환경에서 130 bytes, 1억 건,..
Ionic2Ionic2는 타입스크립트로 작성되며 Angular2를 기반으로 한다. Ionic2 프로젝트 폴더 구조src 폴더의 내용이 www 폴더로 변환되는 과정모든 프로그래밍 작업은 src 폴더에서 진행한다.ionic serve로 앱을 실행하면 src폴더의 내용이 컴파일되고 합쳐져서 www 폴더로 저장된다.ionic serve로 앱 실행 전에는 www 폴더가 비어있다가, 첫 실행시 assets, build 폴더가 생성되고 index.html 파일등이 생성된다.src 폴더 내의 모든 scss 파일들이 css로 컴파일 되고 함쳐져서 www/build/main.css로 저장된다.src 폴더 내의 모든 ts 파일들은 js로 컴파일되고 합쳐져서 www/build/main.js로 저장된다.scss 파일을 추가하고..
아나콘다(Anaconda) 설치 및 사용법 아나콘다가 무엇일까?컨티눔(Continuum)사가 제작한 파이썬 배포판이 바로 '아나콘다' 입니다. 여러가지 배포판 중 가장 후발주자이지만 가장 뛰어난 완성도로 현재는 사실상의 표준(de facto standard) 이 되었습니다. 아나콘다는 패키지 의존성을 관리해주므로 가상환경에 따라 독립적으로 패키지를 관리할 수 있습니다. 아나콘다 설치 아나콘다는 https://www.continuum.io/downloads 다음과 같은 페이지에 접속해서 다운로드 받을 수 있습니다. 사용하시는 OS 환경에 따라 윈도우, OSX, 리눅스 중에 선택해서 받으시면 됩니다. 파이썬 3버전이나 파이썬2.7 버전 어느 것을 받으셔도 크게 상관없습니다. 왜냐하면 저희는 필요하다면 가상환..
생성자(Constructor) 역할 객체를 생성할 때 항상 실행되는 것으로, 객체를 초기화해주기 위해 맨 처음 실행되는 메소드이다. 특징 반환값이 없는 메소드는 생성자가 유일하다. 생성자는 인스턴스를 생성해주는 역할을 하는 특수한 메소드라고 할 수 있다. 반환값이 없기 때문에 return도 사용하지 않고, 반환 값 타입을 메소드 정의 포함시키지도 않는다. 클래스에는 반드시 생성자가 존재해야 한다. 인스턴스 생성시 딱 한번 호출 된다. 인스턴스 변수의 초기화가 목적이다. 클래 이름과 동일한 이름을 가진 메소드이다. 반환형이 존재하지 않는다. 즉 return이 없다. 사용방법 클래스명 참조변수=new 클래스명(초기화 변수) 예제 1234567891011121314151617181920212223public ..
MAC에서 JAVA, MAVEN, Gradle 환경변수(PATH) 설정 #경로는 /Users/사용자/.bash_profile $ vi .bash profile---------------------------- #JAVAexport JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/homeexport PATH=$PATH:$JAVA_HOME/bin #MAVENexport M2_HOME = /Users/user1/Documents/maven-3.2.3export PATH=$PATH:$M2_HOME/bin #GRADLEexport GRADLE_HOME=/Users/user1/Documents/gradle-2.8export PATH=$PAT..
이클립스에서 JSP나 html 파일을 생성하면 기본적으로 EUC-KR로 되어 있는데, UTF-8로 변경해주기 위한 설정 [ 설 명 ] 이클립스를 실행 한 뒤, Window > Preferences 클릭합니다. [ 설 명 ] 좌측에서 General > Content Types 선택합니다. 우측에서 Java Class File, Text 선택하고 아래에 UTF-8 입력하고 Update 클릭합니다. [ 설 명 ] 좌측에서 General >Workspace 선택합니다. 빨간박스 부분을 선택하고 UTF-8 선택합니다. [ 설 명 ] 좌측에서 General >Editors > Spelling 선택합니다. 빨간박스 부분을 선택합니다. [ 설명 ] 좌측에 검색에 "encoding" 을 치고 CSS Files 선택합니다..
1. 가장 최근의 자바 아카이브를 다운 받는다. wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-x64.tar.gz" wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=a..
스프링 책을 보다보면 POJO 기반의 구성이 특징이라는 내용을 볼 수 있다. 하지만 책의 내용만으로는 POJO가 무엇인지 당췌 와닿지 않아서 열심히 구글링을 해보고 책 보다 훨씬 이해 잘되는 포스팅을 찾아 정리해보려 한다. 출처는 http://m.blog.naver.com/weekamp/186678831 헬리코님의 블로그이다. POJO = Java Bean 여기서 Java Bean은 Sun의 Java Beans나 EJB의 Bean을 뜻하는 것이 아닌순수하게 setter, getter 메소드로 이루어진 Value Object성의 Bean을 의미. 예를 들면 이와 같은 코드이다. 12345678910111213141516171819public class SimpleBean { private String na..
◎ 싱글톤(Singleton) 인스턴스 1. 싱글톤이란? 싱글톤 패턴은 하나의 프로그램 내에서 하나의 인스턴스만을 사용해야하는 상황에 주로 사용한다. (어플리케이션 전체 영역에서 하나의 클래스의 단 하나의 인스턴스를 생성하는 것) 환경설정 관리 클래스나, 커넥션 풀과 같이 pool 형태로 관리되는 클래스로 주로 공통 클래스에 사용되는 것이 일반적이다. 2. 그렇다면 왜 사용할까? 예를 들어 사용자 정보를 처음에만 로딩해주는 UserManager가 있다고 치면, 매번 인스턴스를 생성하는 것은 자원 낭비 또는 인스턴스가 꼬이는 일이 생길 수도 있다. 3. 싱글톤 구현 싱글톤 구현에서 주의 깊게 보아야 될 부분은 생성자를 Private로 생성하여, 다른 외부 클래스에서 싱글톤 클래스를 new로 구성하지 못하게..
아파치 톰캣 설치에 이어 메이븐을 설치하는 것을 포스팅 해보고자 한다. 1. 메이븐을 다운로드 받는다 http://maven.apache.org/download.cgi 여기서 bin.tar.gz 로 끝나는 파일을 받으면 된다. 다운로드 받은 파일은 압출을 해제한 후 보기 편한 이름으로 바꿔준다. 나의 경우에는 maven3.3.9 라고 바꿔주었다. 그리고 파일을 바탕화면으로 옮겨준다. 2. ctrl + space 를 눌러서 spotlight 켜주고 terminal을 열어준다. $>mv /Desktop/maven3.3.9 /usr/local 다음과 같이 maven3.3.9를 /usr/local로 옮겨주고 $>cd 로 하여 유저디렉토리로 돌아온다. 3. 유저 환경설정을 해준다. $>vi .bash_profil..
JSP, Servlet, Spring으로 웹 제작시 가장 필요한 기본중에 기본인 톰캣 환경 구성은 필수!!! 1. 자바 버전 확인 터미널 창에서 java -version을 쳐본다. 혹은 왼쪽 상단의 시스템환경설정에서 자바를 찾아서 클릭한 후 '정보'를 누르면 자바 번전을 확인 할 수 있다. 2.아파치 톰캣(Tomcat)을 다운 받는다. http://tomcat.apache.org/ 다운로드에서 Tomcat8.0 / Tomcat9.0 등에서 원하는 버전을 골라서 tar.gz 다운 한다. Tomcat 8.0.39 버전을 다운받았다. 3. 다운로드 폴더에 받아진 톰캣 압축파일을 풀고 이름을 알기 쉽게 'Tomcat8'로 바꿔준다. 그리고 이 폴더를 바탕화면으로 옮겨준다. 터미널을 켜고 $>sudo mv ~/D..