vs질럿 2021. 7. 10. 19:28

자바 프로젝트 한다고 며칠동안 블로그를 올리지 못했다. 

 

자바를 고생하며 배운 이유가 하둡과 에코시스템을 해보기 위해서이다. 

 

하둡은 Linux 환경에서 구동하는 방식으로 배울거라 일단 Linux를 설치하고 간단한 명령어를 배운다.

 

Linux설치는 VirtualBox를 이용해 가상머신에서 설치한다.

 

============================================================================

VB설치는 어렵지 않으니 생략

 

1. 가상 머신 생성

1-1. VB를 실행하고 새로 만들기 

이름을 지정해주고 Linux의 Red Hat 64bit를 선택하고 다음.

 

1-2. 메모리 크기 설정, 가상 하드 설정

메모리 크기는 4GB정도 주고 다음, 만들기

 

1-3. 가상 하드 상세설정

파일크기를 16GB로 변경해주고 만들기

 

1-4. VB에서 가상머신 설정하기

centOS 설치를 위한 가상 디스크를 넣어줌

 

이미지는 없지만 일반-고급에서 양방향으로 설정

 

네트워크 탭에서 호스트 전용 어댑터 추가

 

호스트(내 PC)와 가상 머신의 공유를 위한 공유폴더 설정

 

============================================================================

2. centOS 설치

※ 가상머신을 실행하기 전에 호스트로 전환하는 단축키를 편한 키로 바꿔둔다.

VB에서 가상 머신을 실행하여 centOS설치를 진행한다. 지금 화면은 Skip 선택

 

앞에 언어 설정은 한국어로 선택하고 현재 화면에서 기본 저장 장치 선택

 

모든 데이터를 삭제 선택

 

이후 쭉쭉 넘기고 기존의 리눅스 시스템 교체만 고르고 다음으로 넘기다 보면 재부팅을 하게된다.

 

라이센스 설정에 동의하고 계정정보를 입력해준다. 이후 쭉쭉 넘기면 설치 마무리

 

============================================================================

3. 필요한 프로그램 설치

머신 실행 전 설정에서 저장소를 세컨더리 마스터로 바꾸고 해당 경로에서 VBoxGuestAdditions.iso 파일을 넣는다.

 

다음 문장을 순서대로 실행한다.

yum clean all

 

echo "https://vault.centos.org/6.10/os/x86_64/" > /var/cache/yum/x86_64/6/base/mirrorlist.txt
echo "https://vault.centos.org/6.10/extras/x86_64/" > /var/cache/yum/x86_64/6/extras/mirrorlist.txt
echo "https://vault.centos.org/6.10/updates/x86_64/" > /var/cache/yum/x86_64/6/updates/mirrorlist.txt

 

yum update

yum install update

 

yum install kernel*

yum install gcc

 

그리고 VBoxGuestAdditions.iso를 실행해서 설치한다. 그리고 방화벽을 꺼놓는다.

 

============================================================================

리눅스에서 명령어를? 명령을? 확인할 때는 man 이라는 명령을 사용한다.

[root@localhost 바탕화면]# man --help

[root@localhost 바탕화면]# which yum

[root@localhost 바탕화면]# man --help
-k : 모든 내용 검색
-w : 페이지 검색
-s : 섹션 검색

[root@localhost 바탕화면]# man ls   ==> 목록보기 
ls, dir, vdir  ==> 

============================================================================

hadoop01에서 공유폴더를 만드는방법
윈도우에서 폴더만듬  ->  버추얼박스에서 공유폴더 추가

설치된 파일이 어디어디 있는지 찾고 싶을 때
[root@localhost 바탕화면]# whereis java

자바는 어디서 실행되는지 실행파일을 찾고 싶을 때
[root@localhost 바탕화면]# which java

============================================================================

리눅스의 설정 파일
1. /etc/environment 파일에서 명령을 실행하여 시스템 환경을 설정한 후
  ,/etc/profile 파일에 있는 명령을 평가한다.

2. 사용자의 홈 디렉토리에 .profile 파일이 있는지 확인 .profile 파일이 있으면 시스템은
이 파일을 실행하면 환경 파일의 존재 여부를 작성한다. 즉 (일반적으로 .env인) 환경 파일이
있으면 시스템은 이 파일을 실행하고 사용자 환경 변수를 설정한다.

3. /etc/environment, /etc/profile 및 .profile 파일은 로그인 시 한 번만 실행되지만 .env파일은
사용자가 새로운 쉘이나 창을 열 때마다 실행된다.

4. /etc/environment : 모든 프로세스에 대해 기본 환경을 지정하는 변수를 정의한다.
로그인 시 .profile이라는 로그인 프로파일을 읽기 전에 시스템은 /etc/environment 파일에서
환경 변수를 설정한다.

5. /etc/profile 파일 : 시스템 관리자만이 수정할 수 있으며, 시스템 차원의 default 변수를 제어한다
( 변수 반출 / 파일 작성 마스크(umask) / 터미널 유형 / 새로운 메일의 도착을 알리는 메일 메시지 /
시스템 관리자는 모든 사용자가 사용하는 환경 변수등을 /etc/profile 파일에 작성한다

6. 사용자 홈 디렉터리에 존재하며 이 파일을 통해 사용자 개인의 작업 환경을 조정할 수 있다
.profile 파일이 있으면 이 파일의 명령이 실행된다.

7. .env 파일을 통해 사용자 개인의 작업 환경 변수를 조정할 수 있다. 사용자는 .env파일을 수정하여
원하는 사용자 환경 변수를 지정할 수 있다.

============================================================================

디렉토리 명령
pwd : 현재 위치 경로를 리턴
cd : 디렉토리 이동
cd.. : 상위 디렉토리
cd ~ : 자신의 홈 디렉토리
cd ~ [사용자명] : 사용자 명의 홈 디렉토리로 이동
ls : 목록 보기
ls -al : 숨김파일을 포함해서 자세히 출력
mkdir [디렉토리명] : 디렉토리 생성
rmdir [디렉토리명] : 디렉토리 삭제
rmdir -p : 상위 경로까지 삭제 비어있어야 함
rmdir -r : 하위 경로까지 삭제

ex01) hadoop01의 홈디렉토리로 이동해보자
cd ~
cd ~hadoop01
pwd
cd /home/hadoop1/test

============================================================================

파일 명령어
touch [파일명] : 파일 생성
cp [원본] [사본] : 복사본
mv [원본] [대상지]
rm 파일명 : 파일삭제
rm -rf 파일 : 파일은 삭제, 디렉토리일 경우에는 하위 파일까지 모두 지운다.

cat [파일] : 파일의 내용을 출력한다.

ex02) /home/hadoop01/test에서 myfile.txt라는 파일을 생성하자 => touch myfile.txt
ex03) test목록을 ls로 확인하자
ex04) /home/hadoop01/test02 폴더를 만들자 => cd /home/hadoop01, mkdir test02
ex05) myfile.txt를 test02에 myres.txt로 복사하자 => 
                            cp /home/hadoop01/test/myfile.txt /home/hadoop01/test02/myres.txt
ex06) myres.txt를 test 폴더로 이동하자 =>
                            mv /home/hadoop01/test02/myres.txt /home/hadoop01/test
ex07) test폴더를 파일포함삭제하자 => rm -rf ~hadoop01/test/
ex08) test02/myfile.txt 
=> rm ~hadoop01/test02/myfile.txt
     rm: cannot remove `/home/hadoop01/test02/myfile.txt': 그런 파일이나 디렉터리가 없습니다
=> 
ex09) 파일을 생성해보자
touch a.txt b.txt 여러개 만들려면 스페이스로 구분해라 ,를 쓰면 ,도 파일명으로 생각함

============================================================================

[명령어] > [파일] : 명령어의 출력을 파일에 저장한다. 덮어쓴다.
[명령어] >> [파일] : 명령어의 출력을 파일에 저장한다. 추가한다.
[명령어] < [파일] : 파일에서 표준 입력을 받는다.

ex1) 파일을 하나 생성해보자
cat > b.txt

ex2) 확인해보자 => cat b.txt
ex3) 데이터를 추가해보자
cat >> b.txt

ex4) 설정파일을 하나 열어보자
cat /etc/passwd

ex5) grep 명령을 옵션을 찾아보자
cat /etc/passwd|grep hadoop01

ex6) yum list | grep jdk, ps
grep : 파일 또는 입력값 내에서 특정 패턴을 검색할 때 사용한다. 

============================================================================

find : 현재 디렉토리에 있는 목록을 보여준다.
find / -name *linux* : 파일명에 linux가 포함된 모든 파일을 찾아준다
find / -user linux : 소유자가 linux인 파일을 찾아준다
find / -perm 755 : 퍼미션이 755인 파일을 찾아준다

ex7) hadoop01 인 소유주가 가진 파일 찾아라
find / -user hadoop01

ex8) grep의 옵션을 찾아보자

A : NUM, --after-context=NUM
              Print NUM  lines  of  trailing  context  after  matching  lines.
              Places  a  line  containing  a  group separator (described under
              --group-separator) between contiguous groups of  matches.   With
              the  -o  or  --only-matching  option,  this  has no effect and a
              warning is given.

숫자 : 지정숫자 아래

B : NUM, --before-context=NUM
              Print NUM  lines  of  leading  context  before  matching  lines.
              Places  a  line  containing  a  group separator (described under
              --group-separator) between contiguous groups of  matches.   With
              the  -o  or  --only-matching  option,  this  has no effect and a
              warning is given

숫자 : 지정 숫자 위

c : NUM, -NUM, --context=NUM
              Print NUM lines of output context.  Places a line  containing  a
              group  separator  (described  under  --group-separator)  between
              contiguous groups of matches.  With the  -o  or  --only-matching
              option, this has no effect and a warning is given.

라인포함

i : --ignore-case
              Ignore case distinctions in  both  the  PATTERN  and  the  input
              files.  (-i is specified by POSIX.)

대소문자 무시

n : --line-number
              Prefix  each  line of output with the 1-based line number within
              its input file.  (-n is specified by POSIX.)

라인번호 출력