2017년 9월 18일 월요일

Keepass 설치 및 참고

a package for keepass2 was recently uploaded into the debian archives.
http://packages.debian.org/sid/keepass2
This makes it easier for you to install keepass and all its dependencies under mono and integrates it with the standard freedesktop.
It is currently in unstable and will migrate to testing in a few days.
It is not included in ubuntu yet. It will be in the main archives in the over next version 11.01 (oneric)
To accommodate 11.04 and 10.10 users I have set up a ppa:
https://launchpad.net/~jtaylor/+archive/keepass
to use it type into a terminal:
sudo apt-add-repository ppa:jtaylor/keepass
sudo apt-get update
sudo apt-get install keepass2
KeePass language files (*.lngx) should be placed in $XDG_DATA_HOME/KeePass
If $XDG_DATA_HOME is not set it defaults to $HOME/.local/share
The XSL transformation style sheets for exporting databases and the documentation are
installed in /usr/share/keepass2/
known issues:
Multiple instances of KeePass are disabled as the communication between
them is broken on unix systems (will be fixed next release).
The KeePass plugins are untested and may not work correctly.
They currently have to be placed in into /usr/lib/keepass2/
but this is not recommended as files in that location may be overwritten by package upgrades in future.

2017년 9월 10일 일요일

mysql 새로운 DB 생성 및 사용자 계정 추가/권한 부여

1. root로 접근하여 db 생성
mysql> create database testDB;
생성db확인
mysql> show create database testDB;

2. 사용자 추가/사용권한 부여
mysql> grant all privileges on testDB.* to test1@localhost identified by '12345';
** 참고로 현재 사용자 확인
mysql>use mysql;
mysql> select host, user from user;
create user test2@localhost identified by '12345';
계정삭제
drop user test2@localhost;

2017년 9월 8일 금요일

scrapy로 크롤링한 자료를 mysql에 저장하기

1. project 설치
$ scrapy startproject amazon

2. 파이썬 설정파일 설정

$cd amazon/amazon
 $ nano items.py 파일을 아래와 같이 설정
---------------------
import scrapy
class AmazonItem(scrapy.Item):
    # define the fields for your item here like:
    # name = scrapy.Field()
title = scrapy.Field()
link = scrapy.Field()
desc = scrapy.Field(serializer=str)
pass
-----------------------
3. 아래파일 추가 설정
$ nano spiders/__init__.py

import scrapy
from amazoncrawler.items import AmazoncrawlerItem
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors import LinkExtractor
class AmazonAllDepartmentSpider(scrapy.Spider):
name = “amazon”
allowed_domains = [“amazon.com”]
start_urls = [
http://www.amazon.com/gp/site-directory/ref=nav_sad/187-3757581-3331414”
]
def parse(self, response):
for sel in response.xpath(‘//ul/li’):
item = AmazoncrawlerItem()
item[‘title’] = sel.xpath(‘a/text()’).extract()
item[‘link’] = sel.xpath(‘a/@href’).extract()
item[‘desc’] = sel.xpath(‘text()’).extract()
yield item
4. 데이터 크롤링 및 저장
$scrapy crawl amazon -o items.csv -t csv

5. mysql database 만들기
root로 로그인해서
mysql> craete database qwerty_project;
mysql> grant all on qwerty_project.* to dbuser@'localhost';
mysql> use qwerty_project;
mysql> create table ProductDepartment (ProductDepartmentLilnk TEXT);

6. pipelines.py 파일 설정
$nano amazon/amazon/pipelines.py

class AmazoncrawlerPipeline(object):
host = ‘qwerty.com
user = ‘qwerty’
password = ‘qwerty123’
db = ‘amazon_project’
def __init__(self):
self.connection = MySQLdb.connect(self.hostself.user, self.password, self.db)
self.cursor = self.connection.cursor()
def process_item(self, item, spider):
try:
self.cursor.execute(“””INSERT INTO amazon_project.ProductDepartment (ProductDepartmentLilnk)
VALUES (%s)”””,
(
item[‘link’]))
self.connection.commit()
except MySQLdb.Error, e:
print “Error %d: %s” % (e.args[0], e.args[1])
return item
7. 파일 settings.py 설정 추가
$nano amazon/amazon/ settings.py
ITEM_PIPELINES = [‘amazoncrawler.pipelines.AmazoncrawlerPipeline’]
8. project 실행
$scrapy crawl amazon

2017년 9월 6일 수요일

scrapy 설정 및 설치, Spider Tutorial

Scrpay는 웹 스크롤링 제품으로 폭넓게 활용되고 있음

이에 대한 설치방법을 정리함
1. 준비작업
$sudo mkdir /usr/local/scrapy
$cd /usr/local
$sudo chown -R 사용자:사용자 scrapy
$cd scrapy


2. 파이썬 관련 의존성 페키지 설치
$sudo apt-get install python-dev python-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev
##우분투의 경우 sudo apt-get install python-scrapy 식으로는 설치하지 말것
패키지가 너무 오래됨
$sudo apt-get install python-dev python-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev$sudo apt-get install python3 python3-dev
$sudo pip install Scrapy
$sudo pip install virtualenv


3. spider tutorial
$scrapy startproject tutorial이렇게 하면 tutorial 폴더 밑에 많은 파일들이 아래와 같이 생성


4. 아래 내용을 quotes_spider.py로 저장
$nano /tutorial/spiders/quotes_spider.py
import scrapy

class QuotesSpider(scrapy.Spider):
    name = "quotes"

    def start_requests(self):
        urls = [
            'http://quotes.toscrape.com/page/1/',
            'http://quotes.toscrape.com/page/2/',
        ]
        for url in urls:
            yield scrapy.Request(url=url, callback=self.parse)

    def parse(self, response):
        page = response.url.split("/")[-2]
        filename = 'quotes-%s.html' % page
        with open(filename, 'wb') as f:
            f.write(response.body)
        self.log('Saved file %s' % filename)

5. crawl 실행
$scrapy crawl quotes
실행하고 나면 해당폴더에 quotes-1.html and quotes-2.html 파일이 생성됨
$scrapy crawl quotes -o quotes.json이렇게 하면 quotes.json 파일이 생김

2017년 9월 5일 화요일

Apache sqoop-1.99.7 설정 및 설치

설치 버전/다운로드 : sqoop-1.99.7-bin-hadoop200.tar.gz

1. 다운로드
$wget  http://mirror.apache-kr.org/sqoop/1.99.7/sqoop-1.99.7-bin-hadoop200.tar.gz

2. 압축풀고 /usr/local/sqoop 로 옮기기$ cd ~/다운로드
$ tar -xzvf sqoop-1.99.7-bin-hadoop200.tar.gz$ sudo mv sqoop-1.99.7-bin-hadoop200 /usr/local/sqoop


3.  PATH 설정
$nano ~/.bashrc
아래 추가
export SQOOP_HOME=/usr/local/sqoopexport PATH=$SQOOP_HOME/bin$ source ~/.bashrc


4. Sqoop2 서버 환경 설정
서버 환경 파일은 server/conf 에 위치합니다. 해당 위치로 이동합니다.
$ cd /usr/local/sqoop/server/confcatalina.propertise에선 하둡 라이브러리에 대한 경로를 설정할 수 있습니다. default 경로는 /usr/local/hadoop. /usr/local/hadoop/lib/ 입니다.
다르다면, common.loader 부분을 아래와 같이 설정합니다.(본인의 경로에 맞게)
$ nano catalina.properties
common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar,${catalina.home}/../lib/*.jar,/usr/local/hadoop/*.jar,/usr/local/hadoop/lib/*.jar,/usr/local/hadoop/share/hadoop/hdfs/*.jar,/usr/local/hadoop/share/hadoop/hdfs/lib/*.jar,/usr/local/hadoop/share/hadoop/mapreduce/*.jar,/usr/local/hadoop/share/hadoop/mapreduce/lib/*.jar,/usr/local/hadoop/share/hadoop/yarn/*.jar,/usr/local/hadoop/share/hadoop/yarn/lib/*.jar,/usr/local/hive-2.1.0/lib/*.jar,/usr/local/hadoop/share/hadoop/common/*.jar,/usr/local/hadoop/share/hadoop/common/lib/*.jar


하둡 환경 파일이 담긴 경로를 확인 / 변경
$nano sqoop.properties# Hadoop configuration directoryorg.apache.sqoop.submission.engine.mapreduce.configuration.directory=/usr/local/hadoop/etc/hadoop/


하둡 환경파일 추가
$HADOOP_HOME/etc/hadoop/core-site.xml 에 아래 두 프로퍼티를 추가 
<property>                
<name>hadoop.proxyuser.sqoop2.hosts</name>
<value>*</value>       
 </property>        
<property>                
<name>hadoop.proxyuser.sqoop2.groups</name>                
<value>*</value>       
 </property>

5. Sqoop2 서버 검증$ sqoop2-tool verifyVerification was successful.라고 뜨면 설정이 제대로 된 겁니다. 이와 함께 예외도 같이 뜨는 걸 볼 수 있는데, 메인 쓰레드가 아닌 서브 쓰레드에서 발생한 예외로 지금 오류 수정 중이란 것 같습니다.


6. Sqoop2 서버 시작
$ sqoop2-server start
$ sqoop2-server stop
sqoop2 comand line 진입
$ sqoop2-shell

2017년 9월 3일 일요일

rsa 암호화를 이용한 인증키 생성 및 설정 방법

ssh localhost 접속

$ssh-keygen -t rsa -P ""
$cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
$sudo chmod og-wx /home/user계정/.ssh/authorized_keys
$ssh localhost

원격 서버 ssh key 설정
$scp ~/.ssh/id_rsa.pub 원격서버아이디@192.168.x.xx:id_rsa.pub

원격서버 접속하여 파일 권한 수정
$ssh 원격서버아이디@192.168.x.xx
$cat id_rsa.pub>>~/.ssh/authorized_keys
$chmod 644 ~/.ssh/authorized_keys
$exit

다시 접속하면 패스워드 없이 접속 가능
$ssh 원격서버아이디@192.168.x.xx