Kafka External Listener 설정 브로커가 기동될 때 InetAddress.getLocalHost.getHostAddress 가 사용됨. 클라이언트가 외부 환경에 있어서 브로커 접속이 불가능 한 경우 advertise.host.name 값 설정으로 해결할 수 있다. advertised.host.name=$EXT_HOSTNAME listener.security.protocol.map=EXTERNAL:PLAINTEXT,INTERNAL:PLAINTEXT listeners=INTERNAL://10.4.0.105:9092,EXTERNAL://0.0.0.0:9093 advertised.listeners=INTERNAL://10.4.0.105:9092,EXTERNAL://$EXT_HOSTNAME:9093 inter.broker.listener.name=INTERNAL
[Kafka] Python Consumer sample
#!/app/python/bin/python from kafka import KafkaConsumer consumer = KafkaConsumer(‘test’,bootstrap_servers=[‘$HOSTNAME:9093’]) for message in consumer: print (“%s:%d:%d: key=%s value=%s” % (message.topic, message.partition, message.offset, message.key, message.value))
[Kafka] Python Producer sample
#!/app/python/bin/python from kafka import KafkaProducer from kafka.errors import KafkaError producer = KafkaProducer(bootstrap_servers=[‘node1.qrm:9092′,’node2.qrm:9092′,’node3.qrm:9092’]) producer.send(‘accesslog_wp-bigdata’,str.encode(‘this is test’))
[Python] Flask – wsgi를 이용한 Apache httpd 연동
wsgi를 이용한 Apache httpd 연동 wsgi를 이용해서 apache httpd 웹서버가 flask application 을 서비스할 수 있다. python 프로세스 단위로 실행시킬 수도 있지만, ssl 보안 연결이나 가상 호스트 사용 등 httpd 에 얹어서 쓰면 관리 차원에서 httpd 에 얹어 쓰는게 좋을 듯 하다. 패키지 설치 크게 버전을 타지 않는 라이브러리들은 yum 을 이용해서 설치 하고, apache […]
[Web] MathJax – 웹페이지에 수식입력하기
MathJax – 웹페이지에 수식입력하기 MathJax 를 이용하면 간단한 설정만으로 웹페이지에 수학 수식을 표현할 수 있다. MathJax Beautiful math in all browsers. A JavaScript display engine for mathematics that works in all browsers. No more setup for readers. It just works. https://www.mathjax.org/ Setup 수식을 사용하고자 하는 웹페이지 <head> 태그에 다음과 같은 javascript를 입력한다. <!– mathjax –> […]
[Python] Folium – 지리정보 시각화
Folium Folium은 Leaflet.js를 이용하여 위치 좌표계 값을 지도 위에 시각화할 수 있다. Map 먼저 Map 클래스를 로드해서 범위를 지정해준다. location 속성으로 주시하고자 하는 지도의 정중앙 좌표를 설정하고, zoom_start 속성으로 배율을 설정한다. 보고자 하는 위치의 좌표계 값을 얻어내는 가장 단순한 방법은 Google 지도를 이용하는 방법이다. 아래와 같이 구글 지도에서 검색을 하면 상단 주소창에 해당 위치의 대략적인 […]
[Python] Flask – 웹페이지 만들기
python flask – 웹 페이지 만들기 render_template 를 이용해서 웹페이지를 생성해낼 수 있다. python flask – 초간단 WEB API/함수 포스팅에 이어서 해당 결과를 웹페이지로 표현한다. 앞선 포스트에서는 다음과 같이 lotto 당첨 결과를 json 형태로 반환해주었다. 위와 같이 함수 결과를 http로 리턴받을 수 있었는데 여기에 적절한 템플릿과 스타일만 더해주면 웹페이지를 생성해낼 수 있다. main.py 아래와 같이 […]
[Python] Flask – 초간단 WEB API/함수
python flask – 초간단 WEB API/함수 flask를 이용하면 단 몇 줄 만으로 웹 서비스를 생성해낼 수 있다. 설치 pip install flask Hello World 아래와 같이 app이라는 flask 인스턴스를 생성하고, decorator를 이용해서 / 경로에 GET 요청이 있을 때 ‘Hello Word!’ 라는 메시지를 뿌려주는 웹서버를 간단하게 생성해줄 수 있다. # hello_world.py import flask app = flask.Flask(__name__) app.config[“DEBUG”] […]
[Python] selenium을 이용한 crawler – 로또 당첨 판매점 정보
selenium을 이용한 crawler – 로또 당첨 판매점 정보 Selenium Web Driver를 이용해서, Session을 유지한 상태에서 정보를 수집하는 Crawler 를 만든다. https://www.dhlottery.co.kr/store.do?method=topStore&pageGubun=L645 페이지에 들어가면 회차별 1등 배출점을 조회할 수 있다. 회차를 선택하기 위해서는 Select Box에서 확인하고자 하는 회차를 선택하면 되는데, url을 통해서 접근할 수는 없다. 이 때문에 특정 회차의 당첨 판매점을 조회하기 위해서는 최초 페이지에 접속한 […]
[Python] requests를 이용한 crawler – 로또 회차별 당첨 결과
requests를 이용한 crawler – 로또 회차별 당첨 결과 Python 을 이용해서 로또 당첨 결과를 수집하는 Crawler를 만든다. 목표 https://www.dhlottery.co.kr/gameResult.do?method=byWin&drwNo=1 페이지에 들어가면 아래와 같이 회차별 당첨 정보를 조회할 수 있는데, 각 회차별 페이지에서 아래 표시된 당첨 번호, 보너스 번호, 등위별 당첨금액, 등위별 당첨 게임 수 데이터를 수집한다. 만들기 requests pip install requests 명령으로 requests 패키지를 설치한다. […]