주식 자동매매 시스템

파이썬을 이용한 주식 자동매매 시스템

이미지
파이썬을 이용한 주식 자동매매 시스템 INDEX 환경구축 키움증권 API - 연결테스트 키움증권 API - 계좌정보 조회 키움증권 API - 주문 키움증권 API - 종목정보 가져오기 포트폴리오 - 종목, 업종별 자산 포트폴리오 한국투자증권 API API reference 키움 OpenAPI+ 개발가이드 한국투자증권 OpenAPI 다운로드 및 가이드 Design https://www.design-seeds.com/in-nature/succulents/cacti-color-2/ https://create.piktochart.com/dashboard

How to Install Hadoop

하둡 설치 방법

  • Namenode Configuration

    1. Download Hadoop
      • 다운로드 폴더에 hadoop-1.2.1.tar.gz 붙여넣기 
      • 교재 내용 상 최신버전 사용하지 않음
      • 압출풀기
      • # tar xvfz hadoop-1.2.1.tar.gz
      • 설치파일 /usr/local 로 복사
      • # cp -r hadoop-1.2.1.tar.gz /usr/local
    2. Download JDK
      • JDK 설치
      • # tar xvfz jdk-8u161-linux-x64.tar.gz 
        # cp -r jdk1.8.0_161/ /usr/local
        
      • java softlink 설정
      • # cd /usr/bin
        # ln -s /usr/local/jdk1.8.0_161/bin/java java
    3. profile 설정 - vi /etc/profile : PATH 설정
    4. JAVA_HOME=/usr/local/jdk1.8.0_161
      export JAVA_HOME
      HADOOP_HOME=/usr/local/hadoop-1.2.1
      export HADOOP_HOME
      CLASSPATH=/usr/local/jdk1.8.0_161/lib
      export CLASSPATH
      PATH=$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
    5. 하둡 환경설정
    6. # cd usr/local/hadoop-1.2.1/conf
      • Hadoop - JAVA PATH 설정
      • # vi hadoop-env.sh
        
        export JAVA_HOME=/usr/local/jdk1.8.0_161 
        export HADOOP_HOME_WARN_SUPRESS="TRUE" 
        
      • core-site.txt
      • # vi core-site.txt
        
        IP-ADDRESS : namenode의 IP Address or Hostname window, linux Host 편집
        
        <configuration>
         <property>
          <name>fs.default.name</name>
          <value>hdfs://IP-ADDRESS:9000</value>
         </property>
         <property>
          <name>hadoop.tmp.dir</name>
          <value>/usr/local/hadoop-1.2.1/tmp</value>
         </property>
        </configuration>
        
        
      • hdfs-site.xml
      • # vi hdfs-site.xml
        
        50070 : namenode의 메타정보를 볼 수 있는 페이지  
        <configuration>
          <property>
            <name>dfs.replication</name>
            <value>2</value>
          </property>  
          <property>
            <name>dfs.data.dir</name>
            <value>/usr/local/hadoop-1.2.1/data</value>
          </property>
          <property>
            <name>dfs.name.dir</name>
            <value>/usr/local/hadoop-1.2.1/name</value>
          </property>
        </configuration>
        
      • MapReduce 설정
      • # vi mapred_site.txt
        
        Job tracker에 대한 설정
        Map reduce가 job tracker 에 요청하는 Port(9001)를 열어두는 것
        <configuration>
         <property> 
          <name>mapred.job.tracker</name>
          <value>NameNode-IP-ADDRESS:9001</value>
         </property>
        </configuration>
        
    7. 하둡 환경설정 적용
      • profile 설정 적용
      • # . /etc/profile
      • Hadoop format
      • # hadoop namenode -format
      • Hadoop 실행 , 실행 중인 Java process 확인
      • # start-all.sh
        # jps

  • http://NAMENODE-IP-ADDRESS:50070 로 접속




  • 가상 분산 모드 설정
    (Hadoop Pseudo distributed mode configuration)

    • Generate SSH KEY
    • 접속할 때 암호 물어보지 않도록, SSH Key생성 후 authorized_keys 복사 key generate 할 때 hadoop 실행 중이면 안되기 때문에 Hadoop 중단
      # stop-all.sh
      # ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa  
      # cd .ssh
      자기 자신에게 접속 가능하도록 인증키 복사
      # cat id_dsa.pub >> authorized_keys

  • 완전 분산 모드 설정 ( Hadoop Fully distributed mode configuration )

    • Slaves에 인증키 복사
    • [master] # cd .ssh
      [master] # ssh-copy-id
      [master] # ssh-copy-id -i id_dsa.pub root@slave1
      [master] # ssh-copy-id -i id_dsa.pub root@slave2
      [master] # ssh-copy-id -i id_dsa.pub root@slave3
      
    • Slaves에 환경설정파일 배포
    • [master] # scp /etc/profile root@slave1:/etc/profile
      [master] # scp -r /usr/local/hadoop-1.2.1/ root@slave1:/usr/local
      [master] # scp -r /usr/local/hadoop-1.2.1/ root@slave2:/usr/local
      [master] # scp -r /usr/local/hadoop-1.2.1/ root@slave3:/usr/local
      
    • hdfs-site.xml
    • # cd /usr/local/hadoop-1.2.1/conf
      # vi hdfs-site.xml
      
      50070 : namenode의 메타정보를 볼 수 있는 페이지 
      Data 복제본을 2개까지 만들도록 Replication 2로 설정
      <configuration>
        <property>
          <name>dfs.replication</name>
          <value>2</value>
        </property>  
        <property>
          <name>dfs.http.address</name>
          <value>NAMENODE-IP-ADDRESS:50070</value>
        </property>
        <property>
          <name>dfs.secondary.http.address</name>
          <value>SECONDARYNODE-IP-ADDRESS:50090</value>
        </property>
        <property>
          <name>dfs.data.dir</name>
          <value>/usr/local/hadoop-1.2.1/data</value>
        </property>
        <property>
          <name>dfs.name.dir</name>
          <value>/usr/local/hadoop-1.2.1/name</value>
        </property>
      </configuration>
      
    • masters
      secondnode가 될 서버의 hostname 또는 IP address를 쓴다
    • # vi master 
    • slaves
      datanode가 될 서버들의 hostname 또는 IP address를 쓴다
    • # vi slaves 


  • Jps (JVM process status)

    List the instrumented JVMs on the local host
    로컬에 실행중인 JVM 프로세스들의 상태를 보여준다
    # jps
    Displays the full package name for the application's main class or the full path name to the application's JAR file.
    애플리케이션 main 클래스의 전체 패키지 이름 또는 JAR 파일의 전체 경로를 표시한다.
    # jps -l

  • 가상분산모드와 완전분산모드의 JPS

    • 가상분산모드
      한 개의 서버에 Namenode, Datanode, SecondaryNamenode, JobTracker, TaskTracker 가 전부 존재한다. 

    • 완전분산모드

    • Namenode 서버
      • Namenode
      • JobTracker
    • SecondaryNamenode 서버 (masters)
      • SecondaryNamenode
    • Datanode 서버 (slaves)
      • Datanode
      • TaskTracker

이 블로그의 인기 게시물

Linux에서 CSV파일 사용방법

R에서 외부 데이터 이용하기 (Excel, csv)

[R 함수] aggregate, apply 사용 방법