반응형

개요

클릭하우스 설치를 위해 아래 명령어를 입력하던 중 에러가 발생하였다.

 

sudo yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo

 

코드

 python 버전 디폴트가 3으로 설정되어 발생하였으며, 해결을 위해 2로 변경해 준다.

 

해결

#파이썬 버전확인
ls /usr/bin/ | grep python

----------------------------
abrt-action-analyze-python
python
python2
python2.7
python3
python3.6
python3.6m
----------------------------


# 현재 설정 파이썬버전 확인
update-alternatives --config python

# 설정에 버전 추가하기
update-alternatives --install /bin/python python /bin/python3.6 1
update-alternatives --install /bin/python python /bin/python2.7 2

# 설정에 들어가 2버전으로 변경
update-alternatives --config python
반응형
반응형

최근 주키퍼 version-2폴더 안에 스냅샷 로그가 매우 많아 디스크 용량이 90%이상 초과되었습니다.

 

따라서, 데이터를 삭제해줘야하는데, 직접 삭제하는 경우는 주키퍼 노드간 정합성 불일치 이슈가 있기 때문에 서치 중, conf폴더 아래 zoo.cfg 설정을 통해 해결할 수 있었습니다.

 

주키퍼의 경우 디폴트로 아래 옵션이 주석처리 되어 적용되지 않습니다. 따라서 아래 옵션을 활성화 시켜줍니다.

아래 옵션은 24시간 마다 스냅샷과 트랙잭션 로그를 3개 남기라는 옵션입니다.

 

# 스냅샷 유지 갯수

autopurge.snapRetainCount=3

# autopurge를 해당 주기마다 실행 (24시간)

autopurge.purgeInterval=24

 

해당 설정은 주키버 재시작을 해야만 적용됩니다. 아래 명령를 통해 재시작하게 되면, 3개의 스냅샷 로그와 트랜잭션 로그를 제외하고 삭제된 것을 확인할 수 있습니다.

 

/zookeeper/default/bin/zkServer.sh restart

반응형
반응형

아래 명령어를 통해 파일의 row수를 셀 수 있습니다.

cat 파일명.xml | wc -l
194
반응형
반응형

주키퍼 실행, 저널노드 실행했더니, 아래 에러가 발생하고 있었습니다. 아래 에러이며, 해당 저널 스토리지에 포멧이 되지 않았는다는 문구로, 하둡 HA구성 시 발생할 수 있습니다.

 

원인

 

해결

하둡 bin폴더에서 아래 명령어를 실행하게 되면, 관련 에러가 사라진 걸 볼 수 있습니다.

hdfs namenode -initializeSharedEdits  명령어를 실행하면 네임노드의 편집 로그를 초기화하고 공유된 편집 로그 시스템을 설정하는 작업을 수행합니다. 편집 로그의 초기화는 데이터를 삭제하지 않지만, 해당 네임노드의 편집 로그를 새로운 시작점으로 설정합니다.

./hdfs namenode -initializeSharedEdits

 

 

 

반응형
반응형

몽고DB 데이터 저장

현재 몽고 DB에 아래와 같은 데이터가 저장되어 있습니다. KEY로는 reg_date, user_id, ids가 있으며, ids안에 다시 key:value 형태로 id와 score를 저장하고 있습니다.

{
    "_id" : ObjectId("abcdefg"),
    "reg_date" : "2023-05-07",
    "user_id" : "foo",
    "ids" : [
        {
            "id" : "boo",
            "score" : "100.0"
        },
        {
            "id" : "boo1",
            "score : "80.0"
        }
    ]
}

트리노 몽고DB 조회

트리노에서 위의 몽고 데이터를 조회하게 되면 아래와 같이 나옵니다.

reg_date user_id ids
2023-05-07 foo {{id=boo, score=100.0},{id=boo1, score = 80.0}}

 

문제

앞서 말씀 드린 것과 같이 ids안에는 각각의 id와 score가 key:value형태로 저장되어있습니다. 

이번 포스팅에서는 json형태의 ids안에 key를 각 컬럼 value를 row로 변경해보려 합니다.

reg_date user_id ids
2023-05-07 foo {{id=boo, score=100.0},{id=boo1, score = 80.0}}

                                                                         ▼

reg_date user_id id score
2023-05-07 foo boo 100.0
2023-05-07 foo boo1 80.0

해결

아래와 같이 unnest, cross join을 통해 간단하게 추출할 수 있습니다.

select a.reg_date, a.user_id ,id ,score 
from mongo.db.table a
cross join unnest(ids) as x(id,score)
where reg_date '2023-05-07'
and user_id ='foo'
반응형
반응형

원인

이번주 부터 갑자기 자동화로 수집되는 크롤링들이 안되는 경우가 있었을 겁니다. 이유는 바로 115버전으로 업데이트 되면서 chromedriver_autoinstaller.install(True)이 제대로 작동하지 않아서 입니다. 저는 아래와 같은 에러메세지가 발생했습니다.

해결

1. 크롬드라이버다운(115)

https://chromedriver.chromium.org/downloads

 

ChromeDriver - WebDriver for Chrome - Downloads

Current Releases If you are using Chrome version 115 or newer, please consult the Chrome for Testing availability dashboard. This page provides convenient JSON endpoints for specific ChromeDriver version downloading. For older versions of Chrome, please se

chromedriver.chromium.org

우선 115가 아니더라도 자신의 크롬버전의 맞은 크롬드라이브를 다운받습니다. 우선 아래 빨간색 밑줄 클릭후

 

저는 115이기 때문에  stable win64버전을 다운받았습니다.

2. 코드 수정

기존에러 코드

chrome_ver = chromedriver_autoinstaller.get_chrome_version().split('.')[0]
try:
    driver = webdriver.Chrome(f'./{chrome_ver}/chromedriver.exe', options=option)
    
except:
    chromedriver_autoinstaller.install(True)
    driver = webdriver.Chrome(f'./{chrome_ver}/chromedriver.exe', options=option)
driver.implicitly_wait(10)

수정된 에러코드

저는 스크립트와 크롬드라이브를 같은 폴더내에 위치하여 경로를 아래와 같이 잡았습니다. 수정 후 배치를 다시 진행되면 스크립트가 정상적으로 수행되는 것을 볼 수 있습니다.

chrome_ver = chromedriver_autoinstaller.get_chrome_version().split('.')[0]
try:
    driver = webdriver.Chrome(f'./{chrome_ver}/chromedriver.exe', options=option)
    
except:
    chromedriver_autoinstaller.install(True)
    
    ## 현재 작동안함
    #driver = webdriver.Chrome(f'./{chrome_ver}/chromedriver.exe', options=option)
    
    ## 신규 코드
    driver = webdriver.Chrome(f'./chromedriver.exe', options=option)
driver.implicitly_wait(10)
반응형
반응형

1. 주식에 단기 방향에 집착하여 좋은 종목들을 되판것(메타 : 90달러, 테슬라 : 110달러, 오픈도어 0.9달러)

 

2. 공모주 흥행을 기대하며, 공모주(에이엘티)를 시초가에 매수 했다가 큰 손실(-30%) 

 

3. 기술주 급등에 휩슬려 가지고 있던 배당주를 매도한 것 (오크, 사이먼프로퍼티)

 

4. 위험이 있는 개별 종목을 매수한 것. (frc, pack)

- 특히, 산업 자체의 위험이 있을경우는 개별종목 배팅이아닌, etf고려할 것

반응형
반응형

안녕하세요 다들 청약결과는 어떠 셨나요. 청약관심도가 높아진만큼 경쟁률 또한 극악이네요 ;; 균등비례를 받을 확률은 아래와 같습니다.

 

아이엘티 -  0~1주(0.24)

파로스아이바이오 - 1~2주(1.11)

버넥트 - 0~1주(0.858)

 

 

1. 아이엘티

저는 인생 처음으로 비례 청약에 참여하였는데요 이번에 기대가 가장 높았던 아이엘티에 가지고있던 돈 18,725,00원을 청약한 결과 1주도 받지 못했습니다. 경쟁률이 매우 높았는데요 ㅜㅜ 아직 경쟁률이 몇대몇일때 얼마정도의 돈을 투입해야 1주라도 받을 수 있는지 지식이 없어 참담하게 실패하였습니다. 그래서 다음엔 경쟁률로 보는 비례청약액수를 포스팅해보려고합니다. 이유는 바로 다다음주에 청약진행하는 파두 때문입니다. 다같이 공부해봅시다! 

 

그래도 균등을받았습니다!!! 0.24%의 확률을 뚫다니.. 운이 없던 저에게 이런 행운이 올지 몰랐네요

 

2. 파로스아이바이오

제가 전에 포스팅에서 파로스아이바이오 청약을 한다고 하였습니다. 저는 최소 2주는 받을 줄 알았는데 생각보다 많은 분들이 참여하셨더라구요... 이럴거면 여기에 비례를신청할걸 파로스아이바이오 상승도 기원합니다!

 

3. 버넥트

아이엘티도 받았는데!! 설마 버넥트가 배신하진 않겠죠.. 대신증권 너무느립니다 ㅜㅜ 오후11시인 지금 아직도 안나왔어요 아마 내일 발표하지 않을까 싶습니다. 모두 성투하시고 버넥트 배정받길 기원합니다.

 

버넥트 1주 받았습니다 

반응형

+ Recent posts