SongFor-You / SongForYou

0 stars 0 forks source link

0130 안건 + 회의록 #3

Open Sisi55 opened 3 years ago

Sisi55 commented 3 years ago

배경

내가 플레이 리스트니까. 플레이 리스트 1개 가져올 때, 노래 가져오는 로직을 추가하자.

done

문제.

생각한 해결 방안

문제

playlist to song 매칭 뭘로 하지? song id 가 혹시 누락됐나 ? => 언니한테 물어보기

다음 진행

하둡 먼저 구축해보자. 같이 실습해보기 ?

aws 인스턴스 생성

설치

=> 하둡, 스파크 자료 명령어대로 설치만 해보고, aws 하위 계정 공유하기.

궁금한거

https://youtu.be/Il6oVtWq1MI 요 영상 마지막에서 r 스튜디오로 스파크 연동하더라!

찾은 자료 (정말 좋다!)

영상 step by step

  1. 하둡 설치하기 https://youtu.be/MqL0qfNff_I

  2. 스파크 설치하기 https://youtu.be/NOYpBnPC5YM

  3. r studio 까지 연동 https://youtu.be/Il6oVtWq1MI

Sisi55 commented 3 years ago

회의록

스파크 쿼리 (예정)

where sessionId=값; 사랑 키워드에 관심있는 사람들 ..곡에 관심있는 사람들 추천을 해주는 쿼리 ?

프로젝트 목적

사용자 음악 데이터를 분석


api

click, like api 만들면, 자동화 프로그램에서 호출


생성될 도큐먼트

like/click 도큐먼트 : playlist 용, song 용 playlist+sessionId song+sessionId

세션도큐먼트 id


회원가입 로직 구현 방법

  1. session 으로 어거지 : 세션 내부 동작 조사가 필요함 (요걸로 진행)
  2. 직접 구축

done

하둡 - aws 설치, 계정 공유 : 시현


todo

  1. [x] click api : 시현
  2. like api : 혜정
  3. [x] session id : 도메인 객체+repo+저장로직 : 시현
  4. 자동화 로직 : 혜정
Sisi55 commented 3 years ago

방향

web hdfs rest api 를 이용해보면 어떨까 ? https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/WebHDFS.html

사용법 https://wikidocs.net/65812

지난시간 공유한 자료의 하둡 추가 내용: 환경설정

근데 이건 multi node 설정이니까, 강의를 통해서 멀티 클러스터로 환경 구축해야 한다!

(Ctrl+5, Ctrl+x)

sudo nano /usr/local/hadoop/hadoop-3.1.4/etc/hadoop/hdfs-site.xml

<configuration>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/usr/local/hadoop/data/nameNode</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/usr/local/hadoop/data/dataNode</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <!-- configuration zookeeper -->
    <property>
        <name>dfs.journalnode.edits.dir</name>
        <value>/usr/local/hadoop/data/dfs/journalnode</value>
    </property>
    <property>
        <name>dfs.nameservices</name>
        <value>my-hadoop-cluster</value>
    </property>
    <property>
        <name>dfs.ha.namenodes.my-hadoop-cluster</name>
        <value>namenode1,namenode2</value>
    </property>
    <property>
        <name>dfs.namenode.rpc-address.my-hadoop-cluster.namenode1</name>
        <value>nn1:8020</value>
    </property>
    <property>
        <name>dfs.namenode.rpc-address.my-hadoop-cluster.namenode2</name>
        <value>nn2:8020</value>
    </property>
    <property>
        <name>dfs.namenode.http-address.my-hadoop-cluster.namenode1</name>
        <value>nn1:50070</value>
    </property>
    <property>
        <name>dfs.namenode.http-address.my-hadoop-cluster.namenode2</name>
        <value>nn2:50070</value>
    </property>
    <property>
        <name>dfs.namenode.shared.edits.dir</name>
        <value>qjournal://nn1:8485;nn2:8485;dn1:8485/my-hadoop-cluster</value>
    </property>
    <property>
        <name>dfs.client.failover.proxy.provider.my-hadoop-cluster</name>
        <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProv
        ider</value>
    </property>
    <property>
        <name>dfs.ha.fencing.methods</name>
        <value>sshfence</value>
    </property>
    <property>
        <name>dfs.ha.fencing.ssh.private-key-files</name>
        <value>/home/ubuntu/.ssh/id_rsa</value>
    </property>
    <property>
        <name>dfs.ha.automatic-failover.enabled</name>
        <value>true</value>
    </property>
    <property>
        <name>dfs.name.dir</name>
        <value>/usr/local/hadoop/data/name</value>
    </property>
    <property>
        <name>dfs.data.dir</name>
        <value>/usr/local/hadoop/data/data</value>
    </property>
</configuration>
sudo nano /usr/local/hadoop/etc/hadoop/core-site.xml

<configuration>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://nn1:9000</value>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://my-hadoop-cluster</value>
    </property>
    <property>
        <name>ha.zookeeper.quorum</name>
        <value>nn1:2181,nn2:2181,dn1:2181</value>
    </property>
</configuration>
 sudo nano /usr/local/hadoop/etc/hadoop/yarn-site.xml

 <configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>nn1</value>
    </property>
    <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
    </property>
</configuration>
sudo nano /usr/local/hadoop/etc/hadoop/mapred-site.xml

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>yarn.app.mapreduce.am.env</name>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>
    <property>
        <name>mapreduce.map.env</name>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>
    <property>
        <name>mapreduce.reduce.env</name>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>
</configuration>
sudo nano /usr/local/hadoop/etc/hadoop/workers

dn1
dn2
dn3
sudo nano /usr/local/hadoop/etc/hadoop/masters

nn1
nn2

이후로 ssh 설정도 있다! 길다!

hyejeongjang commented 3 years ago

할 수 있다면, sessionid 중 몇개를 골라서 그 사람을 위한 음악을 추천해주는 것도 괜찮을거 같다!!

참고 : https://wikidocs.net/89455

Sisi55 commented 3 years ago

하둡 & 스파크 연동 자료조사

1.

하둡 설치 https://dorongee.tistory.com/2 스파크 설치 및 하둡 연동 https://dorongee.tistory.com/3

궁금한거. 심볼릭 링크 설정이 뭐지 ?

스파크 모드 설정 글이 있는데 https://dorongee.tistory.com/4

이 설정인가 ?

아니면 지난번에 공유한 영상에도 나왔있을까 ?

2.

spark를 이용한 hdfs cluster 원격 입출력

http://blog.naver.com/PostView.nhn?blogId=hancury&logNo=220744753944&parentCategoryNo=10&categoryNo=&viewDate=&isShowPopularPosts=true&from=search