2019의 게시물 표시

CentOS7 재설치후 멀티부팅 안될때

리눅스 부팅 해서 아래 명령어로 grub.cfg 만들기 grub2-mkconfig -o /boot/grub2/grub.cfg 재기동하고 grub상태에서 c 누르고 아래 프롬프트에서 명령어로 NTFS찾기 grub> ls 다시 리눅스 부팅해서 grub2.cfg에 아래 내용 추가 menuentry "Windows"{ insmod chain insmod drivemap set root=(hd0,msdos1) chainloader +1 }

CentOS7에 utorrent 설치

yum install -y wget glibc openssl* libgcc unzip ln -s /usr/lib64/libcrypto.so.0.9.8e /usr/lib64/libcrypto.so.0.9.8 ln -s /usr/lib64/libssl.so.0.9.8e /usr/lib64/libssl.so.0.9.8 cd /mnt && wget -qO - http://download.utorrent.com/linux/utorrent-server-3.0-ubuntu-10.10-27079.x64.tar.gz |tar xvzf - chmod -Rf 777 /mnt/utorrent-server-v3_0/ ln -s /mnt/utorrent-server-v3_0/utserver /usr/bin/uts uts -settingspath /mnt/utorrent-server-v3_0/ 접속 localhost:8080/gui id : admin pw :

CentOS 7에 Virtualbox 설치

cd /etc/yum.repos.d/ wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo yum repolist yum list VirtualBox* yum install 위의 리스트

HUE 사용자에게 HIVE에서 생성한 DB에 대한 권한 주기

이미지
DB에 대한 권한 주는 방법 HUE에서 그룹을 만든다 HUE에서 계정을 만들고 HUE에서 만든 그룹에 넣는다 OS에서 HUE에서 생성한 그룹 이름과 동일한 그룹을 만든다 OS에서 HUE에서 생성한 계정 이름과 동일한 계정을 만들고 위에 생성한 그룹에 넣는다. 중요한건 계정과 그룹 명이  HUE와 OS에서 동일하고 계정이 그룹에 속해있어야 한다. HUE에서 DB를 생성하고 ROLE에서 그룹에 권한을 준다. ======= 이때 HUE를 통해서 CSV를 HDFS에 올리면서 TABLE을 만드는 기능을 사용하고자 하면 위의 DB의 ROLE을 생성할때 /users/사용자 -> CSV를 올릴 HDFS에 권한을 줘야 한다.

쿠버네티스 대쉬보드 설치 (모니터링 및 관리)

쿠버네티스 대쉬보드 설치 (모니터링 및 관리) curl -O https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended/kubernetes-dashboard.yaml vi kubernetes-dashboard.yaml dashboard 1.10.1 -> dashboard 1.10.0 (인증 skip) kubectl create -f kubernetes-dashboard.yaml 파드 보기 kubectl get pods --all-namespaces cat > dashboard-admin.yaml apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata:    name: kubernetes-dashboard    labels:      k8s-app: kubernetes-dashboard roleRef:    apiGroup: rbac.authorization.k8s.io    kind: ClusterRole    name: cluster-admin subjects:  - kind: ServiceAccount    name: kubernetes-dashboard    namespace: kube-system ctrl + d kubectl create -f dashboard-admin.yaml 기동 nohup kubectl proxy --address="10.100.0.104" -p 443 --accept-hosts='^*$' & dashboard 접속용 토큰 확인 kubectl -n kube-system describe secret...

쿠버네티스 노드 추가 방법

마스터노드에서 토큰 생성 kubeadm token list (확인) kubeadm token delete 토큰명 (지난것 지우기) kubeadm token create (새로 생성) =========== 노드로 접속 도커 설치 쿠버네티스 설치 기존 노드였으면 리셋 필요 kubeadm reset 컨피그 파일 복사 (기존 노드였으면 복사 필요없음) mkdir ~/.kube scp 10.100.0.104:/etc/kubernettes/admin.cof $HOME/.kube/config 조인 (마스터에서 위에 생성한 토큰 필요) kubeadm join 10.100.0.104:6443 --token q0lyfj.bt5lnuhcc50w5za8 --discovery-token-unsafe-skip-ca-verification

쿠버네티스 명령어 자동완성

source <(kubectl completion bash) echo "source <(kubectl completion bash)" >> ~/.bashrc

클러스터 마스터 노드 쿠버네티스 설치 URL

https://github.com/cookeem/kubeadm-ha/blob/master/README.md

Chrome 설치 CentOS7

vi /etc/yum.repos.d/google-chrome.repo [google-chrome] name=google-chrome baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch enabled=1 gpgcheck=1 gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub yum install google-chrome-stable 에러시 vi /usr/bin/google-chrome 맨 마지막 줄을 아래와 같이 수정 exec -a "$0" "$HERE/chrome" "@$" --no-sandbox --user-data-dir
사용가능한 타임존 확인 timedatectl list-timezones | grep Seoul 타임존 설정 timedatectl set-timezone Asia/Seoul 수동으로 설정 ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime 타임존 확인 date

쿠버네티스 CI/CD

이미지

HUE 사용자에 대해 DB 및 Table 권한 할당 방법

이미지
미션 HUE에 일반 계정 (OS계정과 도일)으로 로그인해서 DB를 볼 수 있도록 설정해주고 csv 파일을 업로드해서 바로 테이블을 만들고 쿼리를 날리게 하고 싶다. ================================= 방법 (생각보다 권한관련 어려움이 있음) 사용자는 어떤 그룹에 속하고 그 그룹은 "DB경로"와 "사용자 경로"의 그룹명과 일치하면서 권한(rwx)이 있어야 한다. DB경로 (그룹권한에 rwx 필요)    /user/hive/warehouse/db명 사용자 경로 (그룹권한에 rwx 필요)   /user/사용자명    -> Hue에서 csv 파일을 업로드해 놓을 공간 hue에서 왼쪽 메뉴에 보안 메뉴로 가서 role을 선택해서 그룹에 대해서 권한을 주면 된다 db에 대한 권한, 사용자 경로에 대한 권한, db경로에 대한 권한 을 준다

remote connection python hive (원격 서버에서 파이썬(python)으로 하이브(hive) 쿼리)

원격 서버에 설치해야할 파이썬 패키지 pip install sasl pip install thrift pip install thrift-sasl pip install pyhive 예제 프로그램 from pyhive import hive import pandas as pd import sys conn = hive.Connection(host="hive 아이피", port=10000, username="hive에 권한을 갖은 OS 사용자") cursor = conn.cursor() df = pd.read_sql("SELECT * FROM DB명.테이블명", conn) print (df.head()) ===========테이블 내용이 출력 됨

grub2 부팅순서 변경

============ 부팅리스트 보기 grep ^menuentry /boot/grub2/grub.cfg | cut -d "'" -f2 CentOS Linux (3.10.0-957.1.3.el7.x86_64) 7 (Core) CentOS Linux (3.10.0-514.el7.x86_64) 7 (Core) CentOS Linux (3.10.0-514.el7.x86_64) 7 (Core) (recovery mode) CentOS Linux (0-rescue-48d41322782f44609c84eca945741b21) 7 (Core) CentOS Linux (0-rescue-48d41322782f44609c84eca945741b21) 7 (Core) (recovery mode) Windows 7 =============== 기본 부팅 확인 grub2-editenv list ============ 기본 부팅 변경 grub2-set-default "Windows 7"

docker local repository

vi /etc/docker/daemon.json   {   "exec-opts": ["native.cgroupdriver=systemd"],   "log-driver": "json-file",   "log-opts": {     "max-size": "100m"   },   "storage-driver": "overlay2",   "storage-opts": [     "overlay2.override_kernel_check=true"   ] } {"insecure-registries":["localhost:5000"]} ============== systemctl restart docker ============== docker pull registry:latest docker run -d -p 5000:5000 --name home-registry -v /tmp/registry:/tmp/registry registry docker tag home:0.1 localhost:5000/home:0.1 docker push loclahost:5000/home:0.1

LDAP PHP ADMIN on CentOS 7

#################### yum -y install epel-release yum install -y phpldapadmin #################### vi /etc/httpd/conf.d/phpldapadmin.conf Alias /phpldapadmin /usr/share/phpldapadmin/htdocs Alias /ldapadmin /usr/share/phpldapadmin/htdocs usr/share/phpldapadmin/htdocs>   <IfModule mod_authz_core.c>     # Apache 2.4     # Require local     Require all granted   IfModule>   <IfModule !mod_authz_core.c>     # Apache 2.2     Order Deny,Allow     Deny from all     Allow from 127.0.0.1     Allow from ::1   </IfModule> </Directory> #################### systemctl restart httpd.service #################### vi /etc/phpldapadmin/config.php servers->setValue('server','name','ITzGeek Local LDAP Server'); servers->setValue('server','host','127.0.0.1'); servers->setValue('server','port',389); servers->setValue(...

OpenLDAP on CentOS 7

yum install -y openldap* ======================= systemctl start slapd.service systemctl enable slapd.service ======================= slappasswd New password: Re-enter new password: {SSHA}sDDzoKf0ThK6kifL6acgEQd0OepTOjme ======================= vi db.ldif dn: olcDatabase={0}config,cn=config changetype: modify replace: olcRootPW olcRootPW: {SSHA}sDDzoKf0ThK6kifL6acgEQd0OepTOjme ldapmodify -Y EXTERNAL  -H ldapi:/// -f db.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif ======================= vi domain.ldif dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcSuffix olcSuffix: dc=XXXX,dc=kr dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcRootDN olcRootDN: cn=admin,dc=XXXX,dc=kr dn: olcDatabase={2}hdb,cn=config changetype: modify add: olcRootPW ol...

python에서 hive 사용

OS에 sasl 설치 yum install libsasl2-dev 파이선 패키지 설치 pip install sasl pip install thrift pip install thrift-sasl pip install PyHive 연결 from pyhive import hive conn = hive.Connection(host="hive server ip", port=port, username="ID") 사용 cursor = conn.cursor() cursor.execute("SELECT 칼럼 FROM 테이블") for result in cursor.fetchall():   use_result(result) or import pandas as pd df = pd.read_sql("SELECT cool_stuff FROM hive_table", conn) ============================= pip install sasl pip install thrift pip install thrift-sasl pip install pyhs2 import pyhs2 with pyhs2.connect(host='localhost',                    port=10000,                    authMechanism="PLAIN",                    user='root',                    password='test',         ...

kubeadm 싱글 클러스터 마스터 노드 생성

초기화 kubeadm init =============================================== 설정 마스터노드 mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config cat > token.txt kubeadm join 10.100.0.104:6443 --token j5izb2.vvnvzr1szkilhikq \     --discovery-token-ca-cert-hash sha256:2a5.... "ctrl+d press key" - vxLAN 설치(weavenet) kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')" ================ 워커노드 1,2,3 마스터에 조인 kubeadm join 10.100.0.104:6443 --token jn4muo.u5xjtopa33b1na1f \     --discovery-token-ca-cert-hash sha256:1049726750df941a4697043fc4751c9bc4ad5ba3a4011632245c87b80c3e36f4 mkdir -p $HOME/.kube scp master:/etc/kubernetes/admin.conf $HOME/.kube/config chown $(id -u):$(id -g) $HOME/.kube/config ============================== metrics-server (스케일 아웃 때 필요) git clone https://github.com/kubernetes-incubator/metrics-serve...

Docker 설치 on CentOS7

lvm2 설치 yum install yum-utils device-mapper-persistent-data lvm2 repository down yum-config-manager \     --add-repo \     https://download.docker.com/linux/centos/docker-ce.repo docker 설치 yum update && yum install docker-ce-18.06.1.ce damon.json 생성 mkdir /etc/docker vi /etc/docker/daemon.json {   "exec-opts": ["native.cgroupdriver=systemd"],   "log-driver": "json-file",   "log-opts": {     "max-size": "100m"   },   "storage-driver": "overlay2",   "storage-opts": [     "overlay2.override_kernel_check=true"   ] } 자동 기동 mkdir -p /etc/systemd/system/docker.service.d systemctl daemon-reload systemctl restart docker

npmbox (ing)

yum list epel-release yum install epel-release yum install npm npm install -g npmbox npmbox npmbox

쿠버네티스 (kubernetes) 설치 on CentOS

1.6 부터는 도커가 포함되어있으나 CentOS는 1.5가 최신인것 같다 Docker는 별도 설치 필요 ================= repository 추가 vi /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg exclude=kube* yum update yum update selinux disable 설정 vi /etc/selinux/config SELINUX=disable install  yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes active and start systemctl enable kubelet && systemctl start kubelet network config vi  /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 sysctl --system