반응형
SMALL

1. 오라클 워크시트에 테이블과 시퀀스 생성하기


  
create table board(
no number CONSTRAINT board_no_pk primary key,
pwd varchar2(10),
writer varchar2(34),
subject varchar2(100),
content varchar2(400),
regdate date default sysdate
);
create sequence board_seq
increment by 1
start with 1;

저장하고 실행.

 

2. 리눅스 터미널에서 jupyter-notebook 실행

(아나콘다가 깔려있어야 한다.)

base에서 실행한다.

3. workspace 역할을 할 디렉토리 만들자.

new > folder > 파이썬 파일 하나 만들기

그리웠다 주피터..... 필기 자유로운게 너무 좋다ㅠ

 

4. 오라클 연동 후 필수 라이브러리 설치
!pip install cx_Oracle 설치하기


  
!pip install cx_Oracle

다운로드 되거나,  이미 설치되어 있으면 이미 했다고 뜸

 

 

5. 오라클 연결


  
#오라클 수입
import cx_Oracle as ora

현재 주피터와 오라클 데이터베이스를 연결하는 클래스이다.

앞으로 계속 껐다가 킬껀데, 그때마다 다시 켜주는 장치다. 


  
#오라클 connection 연결
conn = ora.connect('kosmorpa/test00@192.168.0.122:1522/orcl')
print(conn.version)

나는 버전이 11.2.0.1.0이다. 저번 포스팅에서 깔았던 그 오라클 버전.


  
print(conn)

잘 연결되었다.

이러면 윈도우에서 오라클 DB가 있어도 리눅스에서 작업할 수 있어서 훨씬 편하다.

 

6. 커서 변환하기

conn.cursor : 연결된 데이터 베이스에 sql 문장을 실행하고 데이터를 가져오는 역할


  
#커서 변환하기
cursor = conn.cursor()
print(cursor)

 

▼ connection 클래스와 cursor 클래스

더보기

[ Connection클래스 ]

연결된 데이터베이스를 동작시키는 역할을 한다.

>Connection.cursor()

Cursor객체를 생성한다.

 

>Connection.commit()

현재 트랜잭션의 변경내역을 DB에 반영(commit)한다.

이 메서드를 명시적으로 호출하지 않으면 작업한 내용이 DB에 반영되지 않으므로, 다른 연결(Connection)에 그 내용이 나타나지 않는다.

 

>Connection.rollback()

가장 최근의 commit()이후 지금까지 작업한 내용에 대해서 DB에 반영하지 않고, 트랜잭션 이전 상태로 되돌린다.

 

>Connection.close()

DB연결을 종료한다.

자동으로 commit()메서드를 호출하는것이 아니기에, close()메서드를 호출하기 이전에 commit()/rollback()중 하나를 명시적으로 호출해야 한다.

 

>Connection.isolation_level

트랜잭션의 격리수준(isolation level)을 확인/설정한다.

입력가능한 값은 None, DEFERRED, IMMEDIATE, EXCLUSIVE이다.

 

>Connection.execute(sql[, parameters])

>Connection.executemany(sql[, parameters])

>Connection.executescript(sql_script)

임시 Cursor객체를 생성하여 해당 execute계열메서드를 수행한다

(Cursor클래스의 해당 메서드와 동일하므로 Cursor클래스에서 설명하겠다.)

 

>Connection.create_aggregate(name, num_params, aggregate_class)

사용자정의 집계(aggregate)함수를 생성한다.

 

>Connection.create_collation(name, callable)

문자열 정렬시 SQL구문에서 사용될 이름(name)과 정렬 함수를 지정한다.

정렬함수는 인자로 문자열 2개를 받으며, 첫 문자열이 두번째 문자열보다 순서가 낮은경우 -1, 같은경우 0, 높은경우 1을 반환해야 한다.

 

>Connection.iterdump()

연결된 DB의 내용을 SQL질의 형태로 출력할수 있는 이터레이터를 반환

 

 

[ Cursor클래스 ]

실질적으로 데이터베이스에 SQL문장을 수행하고, 조회된 결과를 가지고 오는 역할을 한다.

>Cursor.execute(sql[, parameters])

SQL문장을 실행한다. 실행할 문장은 인자를 가질수 있다.

 

>Cursor.executemany(sql, seq_of_parameters)

동일한 SQL문장을 파라미터만 변경하며 수행한다.

파라미터 변경은 파라미터 시퀸스, 이터레이터를 이용할수 있다.

 

>Curosr.executescript(sql_script)

세미콜론으로 구분된 연속된 SQL문장을 수행한다.

 

>Cursor.fetchone()

조회된 결과(Record Set)로부터 데이터 1개를 반환한다. 더 이상 데이터가 없는 경우 None을 반환한다.

 

>Cursor.fetchmany([size=cursor.arraysize])

조회된 결과로부터 입력받은 size만큼의 데이터를 리스트 형태로 반환한다.

데이터가 없는 경우 빈 리스트를 반환한다.

 

>Cursor.fetchall()

조회된 결과 모두를 리스트형태로 반환한다.

데이터가 없는 경우, 빈리스트를 반환한다.

 

출처 : m.blog.naver.com/dudwo567890/130165627205

 

연결은 끝났고 다양하게 오라클과 연동해보자.


[연동 방식]

  1. DB 접속이 성공하면, Connection 객체로부터 cursor() 메서드를 호출하여 Cursor 객체를 가져온다. DB 커서는 Fetch 동작을 관리하는데 사용되는데, 만약 DB 자체가 커서를 지원하지 않으면, Python DB API에서 이 커서 동작을 Emulation 하게 된다.
  2. Cursor 객체의 execute() 메서드를 사용하여 SQL 문장을 DB 서버에 보낸다.
  3. SQL 쿼리의 경우 Cursor 객체의 fetchall(), fetchone(), fetchmany() 등의 메서드를 사용하여 데이타를 서버로부터 가져온 후, Fetch 된 데이타를 사용한다.
  4. 삽입, 갱신, 삭제 등의 DML(Data Manipulation Language) 문장을 실행하는 경우, INSERT/UPDATE/DELETE 후 Connection 객체의 commit() 메서드를 사용하여 데이타를 확정 갱신한다.
  5. Connection 객체의 close() 메서드를 사용하여 DB 연결을 닫는다.

▼한국인을 위한 요약

더보기

방법을 간단히 요약하자면,

 

1) 오라클 connection 연결

2) connection이 cursor 객체 가져옴(연결도구)

3) cursor 객체의 fetch메서드를 이용해서 데이터를 서버로부터 가져온다.

4) cursor 객체의  execute() 메서드를 사용해서 파이썬에 입력한 SQL 문장을 오라클 DB 서버로 보낸다.

5) 주고받는 것이 완료되면 connection 객체의 commit() 메서드를 사용해서 데이터를 확정한다.

6) connection.close()를 해서 오라클과 연결을 끊는다.

 

즉, 정리하자면

오라클 수입 : import cx_Oracle as ora
오라클 Connection 연결 : conn = ora.connect('kosmorpa/test00@192.168.0.122:1522/orcl')
Cursor 불러오기 :  cursor = conn.cursor()
a) SQL 입력문장 -> 오라클 DB : cursor.execute( 전송할 sql 문장 )
b) 오라클 DB 데이터 -> 파이썬 : cursor.fetch*****()
Cursor 닫기 : cursor.close()
오라클 DB 저장 : conn.commit()
오라클 연결 끊기 : conn.close()

이걸 이용해서 파이참(PyCharm)에서 DB를 원래 했던 sqlite가 아닌 윈도우에 설치 되어있는 오라클과 연동해서 해보도록 하자.



 

 

1. 입력처리

 

1) 디장고에서 폼으로 작성할 것


  
#디장고에서 폼으로 작성할 것
writev = input('작성자 : ')
pwdv = input('비밀번호 : ')
subjectv = input('제목 : ')
contentv= input('내용 : ')

2) 입력해주고 insert 하는 sql문을 실행해준다.


  
#SQL문 작성
sql_insert ='insert into board values(board_seq.nextVal,:pwd,:write,:subject,:content,sysdate)'
sql_insert

  
#입력값을 쿼리에 바인딩한 후 전송
cursor.execute(sql_insert,pwd=pwdv,write=writev,subject=subjectv,content=contentv)
#커서 닫고 commit 해준다.
cursor.close()
conn.commit()

전부 dd로 입력 후 저장

3) 오라클에 데이터가 잘 들어간 것을 볼 수 있다.

4) 오라클과 연결을 종료할 때. 하지만 지금은 닫지 않는다.


  
#오라클과 연결 종료
conn.close()

 

 

2. 출력

1) 변수 지정


  
sql_select = 'select no,writer,subject,regdate from board order by 1 desc'
cursor.execute(sql_select)

Cursor 객체의 execute() 메서드를 사용하여 SQL 문장을 DB 서버에 전송

 

2) 데이터를 서버로부터 가져온다.


  
print(cursor.fetchall())

 

3) 출력 완료 후 닫는다.


  
cursor.close()
conn.close()

 

3. 상세보기 구현

 

번호를 입력받아서 사용자의 정보를 모두 출력해보자.
fetchone() 사용해서 적용하기


  
#findone() : mybastis select_one()
nov = input("상세보기 값 : ")
sql_no = "select no,writer,subject,content,\
to_char(regdate,'yyyy-mm-dd') regdate from board where no=:no"
cursor = conn.cursor()
print(cursor)
cursor.execute(sql_no,no=nov)
print(cursor.fetchone())

 

4. 최근 글 5개만 출력하기(select)


  
#함수로 정의
def connections():
try:
conn= ora.connect('kosmorpa/test00@192.168.0.122:1522/orcl')
cursor = conn.cursor()
except Exception as e:
msg="예외발생"
print(msg)
return conn

  
#최근 글 5개만 출력 fetchmany
def myFetchmany():
conn = connections()
cursor = conn.cursor()
sql_select = 'select * from board order by 1 desc'
cursor.execute(sql_select)
numRows = 5
res = cursor.fetchmany(numRows = numRows)
print('fetchmany {}'.format(numRows))
cursor.close()
conn.close()
return res
print(myFetchmany())

 

cf ) 서브쿼리를 이용해서 동일한 결과를 가져올 수 있다.(rowNum)


  
# 서브쿼리 사용해서 최근 5개만 추출해보기(위에 fetchmany와 동일하다.)
def examSelect():
conn = connections()
sql_select = "select no,writer,content,regdate from\
(select rownum,no,writer,content,regdate from\
(select * from board order by 1 desc) where rownum <=5)"
cursor = conn.cursor()
cursor.execute(sql_select)
rs = cursor.fetchall()
return rs

  
selectList = examSelect()
selectList

 

 

5. 삭제


  
#삭제 - insert, delete ,update
def boardDel(num):
conn = connections()
cursor = conn.cursor()
sql_delete = 'delete from board where no = :no'
try:
cursor.execute(sql_delete, no=num)
conn.commit()
except Exeption as e:
print(e)
finally:
conn.close()
num = input('삭제번호 :')
boardDel(num)
examSelect()

10번이 사라졌다.

 

 

 


1. 카페에서 파일 다운로드(리눅스에서 다운받기)

 

2. 파이참에서 web1 이라는 앱 만들기


  
python manage.py startapp web1

3. templates>web1 > 파일 폴더 만들기

 

4. 다운받은 파일 홈 디렉토리로 옮겨버리고 압축을 풀자


  
mv base.html ~
mv static.zip ~
cd ~
unzip static.zip

압축도 풀어줌

5. 홈에 푼 파일들을 다시 우리 프로젝트 환경에 templates에 옮겨줘야한다.


  
mv base.html PycharmProjects/myapps/web1/templates/web1/

static 안에는 assets라는 폴더가 들어있다. 다시 web1에 리소스 파일을 넣을 static에 넣어준 후 옮겨준다.


  
mv assets/ PycharmProjects/myapps/web1/templates/web1/static/

 

 

6. urls에 홈 경로, views에 렌더링 입력, config/setting 에 web1 등록, config/urls에 등록.

참 쉽죠?

아직 DB를 안 건드렸으니까 admin과 마이그레이션은 안한다.

 

실행해보면,


  
python manage.py runserver

따란!

static에 모든 css와 js가 다 있어서 편했다.

 

7. sql에 member_table 테이블 생성하기


  
create table member_table(
num number constraint member_table_num_pk primary key,
id varchar2(15) constraint member_table_id_nn not null,
pwd varchar2(15) constraint member_table_pwd_nn not null,
name varchar2(34),
tel varchar2(54),
emain varchar2(54),
addr varchar2(100),
npoint number(5),
rdate date,
constraint member_table_id_uq unique(id));
create sequence member_table_seq
increment by 1
start with 1;

 

8. 이제 회원가입 페이지를 만들거다.

base.html의 내용을 복사해서 tripmember.html 만들기

content 부분 변경하기 -> 회원가입 폼으로 변경할 것.

카페에 올라온 거 붙여넣고


  
<!-- Banner -->
<section id="banner">
<div class="content">
<!---- content 시작! -->
<form method="post" action="tripinsert">
{% csrf_token %}
<div class="row gtr-uniform">
<!-- 카페 코드 추가(회원가입창 만들기) -->
<div class="col-6 col-12-xsmall">
<input type="text" name="id" id="id" value="" placeholder="ID" />
</div>
<div class="col-6 col-12-xsmall">
<input type="password" name="pwd" id="pwd" value="" placeholder="비밀번호" />
</div>
<div class="col-6 col-12-xsmall">
<input type="password" name="chkpwd" id="chkpwd" value="" placeholder="비밀번호 확인" />
</div>
<div class="col-6 col-12-xsmall">
<input type="text" name="name" id="name" value="" placeholder="이름" />
</div>
<div class="col-6 col-12-xsmall">
<input type="tel" name="tel" id="tel" value="" placeholder="전화번호" />
</div>
<div class="col-6 col-12-xsmall">
<input type="email" name="email" id="email" value="" placeholder="Email" />
</div>
<div class="col-6 col-12-xsmall">
<input type="text" name="addr" id="addr" value="" placeholder="주소" />
</div>
<!-- Break -->
<div class="col-12">
<ul class="actions">
<li><input type="submit" value="가입하기" class="primary" /></li>
<li><input type="reset" value="취소하기" /></li>
</ul>
</div>
<!-- 회원가입창 끝 -->
</div>
</form>
<!-- content 끝! -->
</div>
<span class="image object">
<img src="{{baseUrl}}/assets/img/main.jpg" alt="" />
</span>
</section>
<!-- Banner 섹션 끝-->
<!-- Section 지움-->

urls.py에 추가하기

views 추가

 

섹션부분 전부 지우기(깔끔하게)

 

 

9. models 가자.

오라클로 연결하면 자동으로 마이그레이션이 생기지 않는다. 따라서 아까 주피터에서 했던 것 처럼 데이터를 불러오자.

 

여기는 base가 아니라 myapp이기 때문에 cx_Oracle를 다시 받아줘야한다. 잠시 서버 멈추고 다운 받고 해보자


  
pip install cx_Oracle

 

 

10. 아까 주피터에서 했던 것처럼 가져오자.

모델에 작성하기

예외있으면 예외발생 메시지 나오게 하자.


  
from django.db import models
import cx_Oracle as ora
# Create your models here.
def connections():
try:
conn= ora.connect('kosmorpa/test00@192.168.0.122:1522/orcl')
except Exception as e:
msg="예외발생"
print(msg)
return conn
def memberinsert(addr_list):
print(addr_list)
conn=connections()
cursor=conn.cursor()
sql="insert into member_table values(member_table_seq.nextVal,:1,:2,:3,:4,:5,:6,0,sysdate)"
cursor.execute(sql,addr_list)
cursor.close()
conn.commit()
conn.close()

11. view 수정


  
from django.shortcuts import render, redirect
from django.views.decorators.csrf import csrf_protect
from web1.models import memberinsert
def home(request):
return render(request, "web1/base.html")
def tripmember(request):
return render(request, "web1/tripmember.html")
@csrf_protect
def tripinsert(request):
#print(request.POST['id'])
members = (request.POST['id'],
request.POST['pwd'],
request.POST['name'],
request.POST['email'],
request.POST['tel'],
request.POST['addr']
)
memberinsert(members)
return redirect('/web1/')

12. 회원가입 창에 아이디 중복 체크 만들기

버튼은 따로 만들어주심


  
<div class="col12">
<ul class="actions">
<li>
<input type="text" name="id" id="id" value="" placeholder="ID"/>
</li>
<li>
<input type="button" id="idchk" value="중복체크"/>
</li>
<li>
<span id="target" class="col-6 col-12-xsmall">ㅇㅇ</span>
</li>
</ul>
</div>

이걸 아까 있던 id 자리에 바꿔넣는다.

 

반응형
LIST
반응형
SMALL

Hadoop


빅데이터 시스템 중 가장 기본적. 무료
알아서 기능 구현. 결함이 있어도 알아서 standby namenode가 알아서 멈추지 않도록 작업해줌.
오늘은 설치만 해도 ㅈ같이 힘들기 때문에 최대한 복사 붙여넣기로 할 수 있게 구성.

우리는 '아파치 하둡 배포판' 깔 예정. -> 이것만 무료. 그리고 존나 복잡함
하둡 만든 사람 더그 커틴 개새끼
아파치는 기본이고 보통 회사에서는 클라우데라, 호튼윅스 사용할듯.(이 두개는 유료)


 

[아파치 하둡 에코시스템]
하둡을 설치하고(빨간색) 그 주변에 있는 것들을 연결해주어야함.
따로따로 만든거다보니까 연결하는 작업이 너무 힘들기 때문에 클라우데라, 호든윅스처럼 이미 어느정도
연결되어 설치할 수 있는 것을 사용하는 것.

 

 

우리는 지금 가상 환경 3개 만들어서 거기에 개별적인 리눅스 깔고 연결해줄꺼임.

 


1. Vitural Box 설치

( 현재 6.0 버전이지만 5.2 버전 다운로드 )

- https://www.virtualbox.org/ 들어가서 5.2.44 > windows hosts 다운받기

- 같은페이지 Extension Pack 다운받기(확장팩)

- 다 next > install로 설치

 

1. 설치
설치 완료된 화면

 

 

 

2. Vagrant(베이그랜트) 다운로드

https://www.vagrantup.com/ 들어가서 2.2.10 다운로드

- 다 next > 설치 (자동 재부팅됨)

 

 

2 베이그랜트 다운로드

 

 

3. Vagrant(베이그랜트) 설치

- cmd를 관리자모드 실행

- C:\HashiCorp 입력

- vagrant init 입력

 

 

 

- 탐색기 > C:\HashiCorp\Vagrant 폴더 생성된거에 들어가서 생성된 Vagrantfile의 모든 내용을 제거하고 다음 내용을 추가한다.

 

하단 내용 복사>붙여넣기

 

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

config.ssh.insert_key = false

config.vm.define :nn01 do |nn01_config|

nn01_config.vm.box = "centos/7"

nn01_config.vm.hostname = "nn01"

nn01_config.vm.network "private_network", ip: "192.168.56.101"

nn01_config.vm.provider :virtualbox do |vb|

vb.name = "nn01"

vb.memory = "4096"

end

end

config.vm.define :dn01 do |dn01_config|

dn01_config.vm.box = "centos/7"

dn01_config.vm.hostname = "dn01"

dn01_config.vm.network "private_network", ip: "192.168.56.102"

dn01_config.vm.provider :virtualbox do |vb|

vb.name = "dn01"

vb.memory = "4096"

end

end

config.vm.define :dn02 do |dn02_config|

dn02_config.vm.box = "centos/7"

dn02_config.vm.hostname = "dn02"

dn02_config.vm.network "private_network", ip: "192.168.56.103"

dn02_config.vm.provider :virtualbox do |vb|

vb.name = "dn02"

vb.memory = "4096"

end

end

end

<에러> Vagrant failed to initialize at a very early stage: There was an error loading a Vagrantfile....

-> 웹에서 붙여넣은 거기 때문에 공백이 존재할 수 있음. 필요없는 공백 다 지우고 다시 해보면 됨.

 

 

 

4. 가상머신 기동

- 다시 cmd 돌아와서 vagrant up 입력하면 설치됨

 

좌:명령어 우:완료된 화면

 

<에러> 갑자기 다운로드가 잘 되다가 멈춰서 안되면, 도스창에 아래 사진처럼 마우스 커서를 뒀을 확률이 높다.

방향키를 클릭해서 다운로드를 이어서 해주면 된다.

 

이경우 재부팅이 아닌 방향키를 눌러준다.

 

 

- C 드라이브 > user > VirtualBox VMs에 가상 폴더 3개가 만들어져 있어야 함. 없으면 설치가 제대로 되지 않은 것.

 

 

 


Vagrant(베이그랜트)란

경량화된 Virtual machine 관리 서비스이다.

OS를 직접 하나씩 설치하지 않고 단순히 이미지 형태로 OS를 설치할 수 있다는 것을 말한다.

그래서 Vagrant를 이용하기 위해서는 가상머신이 설치되어 있어야 한다.

참고로 default는 virtual box이다.

 

+

가상장치에서는 네트워크 잡는게 제일 어렵다.

(하루가 다르게 안잡히는 등 에러가 많음.)

베이그랜트는 그러한 작업 없이 알아서 네트워크를 잡아주고

오라클 설치, ip를 잡아주는 등 번거로움을 없애준다.

추가로 공부를 원하면 docker를 공부해볼 것.


5. Oracle VM VirtualBox 서버 로그인

- Oracle VM VirtualBox을 관리자권한으로 실행하면 nn01/dn01/dn02 가상머신(서버)이 생김

 

 

 

- 확장판 불러오기 : 파일 > 환경설정 > 확장 > + > 확장판 설치

 

확장판 설치

 

 

- nn01 / dn01 / dn02 각각 더블클릭하면 각각의 가상환경에서 리눅스가 켜진다.

login : root/vagrant

         vagrant/vagrant

2개의 계정이 만들어져 있는데 우선 root 계정으로 접속 확인

 

로그인 : root/vagrant 셋다 root로 접속하기

 

 

마우스가 잡히면 오른쪽 shift 키로 벗어나자.

<참고> 마우스 벗어나는 키 바꾸는 법 : 환경설정 > 입력 > 가상머신 (탭) > 단축키 수정

 

나는 ctrl + alt로 설정함.

 

<참고>파일 >가상환경 내보내기 하고 다른장치에서 불러오면 지금 장치가 그대로 다시 불러올 수 있다.

 

6. putty / MobaXterm 설치

현재까지 서버에 직접 접속한 것이다. 만약 집에서 회사 서버로 접속하려면? -> putty 를 설치한다.- https://putty.ko.softonic.com/ 에서 무료 다운로드 > putty-0.70-installer.msi 더블클릭 후 설치 > 실행

https://mobaxterm.mobatek.net/ 에서 GET MOBAXTERM NOW! > Home Edition Free 다운로드 > potable edition 다운로드(압축 풀고 MobaXterm_Personal_20.3 실행)

 

 

putty 설치

 

 


PUTTY

리눅스 시스템 터미널을 활용하기 위해서는

PUTTY 등의 다양한 SSH(보안셸) 관련 프로그램을 이용하여

원격지에서 호스트 접속을 위한 프로토콜 프로그램을 필요로 한다.

기존 원격접속 기능에 암호화 기능을 추가한 것.

양쪽 리눅스를 GUI로 설치하면 대부분 사용 가능하다.

 

MobaXterm

MobaXterm 은 원격 컴퓨팅 toolbox이다.

단일 윈도우 응용 프로그램으로

다양한 연결방식을 제공한다.

물론 putty 를 사용하는 사람들에게도 필요한 원격 작업들을 제공한다.

Home Edition 으로 무료로 사용할 수 있으나 ,

최대 12 session / 2 SSH tunnels / 4 macros / 360 초 Tftp 의 제한이 걸려 있다.


7. putty IP연결

- 1) Oracle VM Virtual에서 각 노드의 아이피 확인

     CentOS 7의 최소 설치로 되어 ifconfig 명령어도 없다. 우선 ip addr 로 확인

 

dn01의 ip 주소 확인

 

각각 확인해본 ip는 다음과 같다.

nn01 : 192.168.56.101

dn01 : 192.168.56.102

dn02 : 192.168.56.103

 

 

- 2) putty에 연결

Oracle VM Virtual에서 찾은 ip로 putty가 접속할 수 있게 한다.

비밀번호 없이 접속이 가능하게끔 vi 에디터를 사용하자.

 

### 각각의 창에 한줄씩 입력하기 ###

[root@nn01 ~]# vi /etc/ssh/sshd_config
/Password
                  -> PasswordAuthentication 찾기
PasswordAuthentication no를 PasswordAuthentication yes로 변경
(다시 vi /etc/ssh/sshd_config 로 들어가서 바뀌었는지 확인하기)
[root@nn01 ~]# systemctl restart sshd         -> putty에 접속 가능하게 바꿔주기

nn01 외에도 dn01, dn02에도 같은 작업을 한다.

 

vi 화면 no -> yes로 변경

 

 

 

- 그 후 putty 접속 : IP 주소 쓰고 세션 이름 쓰기 -> save

 

 

오른쪽처럼 쓰자.
이런 에러 나면 systemctl restart sshd를 안해준거다.

 

 

- 결과

 

putty로 각각의 컴퓨터에 연결되었다.

 

 

<주의> 아래 작업을 하기 전에 putty는 꺼도 되지만 가상머신(Oracle VM Virtual)은 끄면 안된다.

 

8. MobaXterm 연결

- 각각의 화면으로 띄워서 하면 불편하지 않을까? MobaXterm가 이러한 불편함을 해결해준다.

위 작업을 끝내면 기본적으로 Putty의 세션이 자동으로 로드되어 모든 계정이 뜬다.

(뜨지 않는다면 우클릭 후 session을 업데이트하자)

 

세션에 계정이 전부 뜬다

 

- 왼쪽에 Putty Sessions에 putty 연결이 들어온거 확인하고 하나씩 눌러놓고 MultiExec을 클릭한다.

 상단에 MultiExec 를 클릭하면 복붙도 가능하고 3개의 계정을 한번에 움직일 수 있다. 또한 한 화면에 탭으로 여러 개의 계정을 움직일 수 있기 때문에 관리가 편리하다.

 

 

 

한번에 로그인해보자.

 

 

9. 하둡 설치를 위한 추가 설정

- 3개의 컴퓨터에 하둡 연결을 위한 추가 작업을 진행한다.(임시폴더인 tmp로 가서 설치해주자.)

1) 패키지 업데이트

2) 자주 쓰는 프로그램 설치(install)

[root@nn01 root]# cd tmp
[root@nn01 tmp]# yum update

[root@nn01 tmp]# yum install telnet svn git nc ntp wget vim net-tools

 

좌 : 업데이트 우 : 프로그램 설치

 

3) 방화벽 끄기

 

- 무식하지만 편의성을 위해 방화벽을 전부 꺼버릴꺼다. (disable까지 해버리자. 회사에서는 무식하게 이러면 안된다.)

[root@nn01 tmp]# systemctl stop firewalld
[root@nn01 tmp]# systemctl disable firewalld

 


하핳...많이 했지?

아직 시작도 안했다^^...

본격적인 하둡 설치를 도전하자.


10. 자바 설치 확인

- 다시 root 계정 홈으로 이동하자. 모든 사용자를 위한 java를 설치할 예정이니, root 계정으로 로그인한다.

- 설치되었는지 확인하기

[root@nn01 tmp]# cd ~
[root@nn01 root]$ which java

Master, Slave 역할

nn01 = Master (NameNode, SecondaryNamenode, ResourceManager)

dn01 = Slave (DataNode, NodeManager)

dn02 = Slave (DataNode, NodeManager)

nn01, dn01, dn02 각각에서 JDK의 압축을 해제하고 설치하고 설정

mobaTerm으로 반복 동작을 줄일 수 있다.


 

11. protobuf 설치


Protobuf 

구글에서 공개한 오픈소스 직렬화 라이브러리

프로토콜 버퍼는 데이터를 연속된 비트로 만들고,

이렇게 만들어진 비트를 해석해 원래의 데이터를 만들 수도 있다.

현재 다양한 시스템이 이기종 혹은 내부 프로세스 간의 통신에 프로토콜 버퍼를 사용하고 있으며,

하둡2도 내부 데몬 간의 데이터 통신을 위해 프로토콜 버퍼를 적용했다.

( 도서 ‘시작하세요 하둡프로그래밍’에서 언급하긴 했지만

설치 없어도 우리가 구동하는 것에는 문제가 되지 않았지만 혹시 몰라 설치해본다 )


(1)설치전 필요 툴 ( root 계정에서 )

[root@nn01 root]$ yum install -y autoconf automake libtool curl gcc-c++ unzip

(2) 다운로드 ( 책마다 버전이 중요하다고 강조함 )

[root@nn01 ~]# cd /tmp
[root@nn01 tmp]# wget https://github.com/protocolbuffers/protobuf/releases/download/v2.5.0/protobuf-2.5.0.tar.gz

 

 

 

- 압축풀기

- 이동시키기(mv)

- 이동되었는지 확인

[root@nn01 tmp]# tar -zxvf protobuf-2.5.0.tar.gz
[root@nn01 tmp]# mv protobuf-2.5.0 /opt/
[root@nn01 tmp]# ls /opt

 

파일이 압축이 풀려서 잘 이동했음.

 

 

(3) 설치 ( protobuf 폴더로 이동 )

[root@nn01 tmp]# cd /opt/protobuf-2.5.0/

 

경로이동

 

[root@nn01 protobuf-2.5.0]# ./configure
[root@nn01 protobuf-2.5.0]# make              ( 여기서 에러가 발생하면 ./configure에서 안되는 것임 )
[root@nn01 protobuf-2.5.0]# make install
[root@nn01 protobuf-2.5.0]# protoc --version  (버전 확인 : 만일 에러 발생시 lfconfig ( 소문자 엘) 후 다시 protoc --version)

 

버전확인. 

 

 

12. JDK 8 설치 (nn01,dn01,dn02)

- 이제 tmp 폴더를 임시폴더로 해서 설치할 것. 다시 tmp로 이동 후 install

[root@nn01 protobuf-2.5.0]# cd /tmp
[root@nn01 tmp]# yum install -y vim wget unzip

 

nothing to do라 떠도 괜찮다.

 

- 자바를 다이렉트로 다운로드 하자.

( Local에 이미 다운로드 한 경우 Winscp를 이용하여 업로드 )

- 압축 풀고 디렉토리까지 만들기. 경로를 하나씩 만들지 않기 위해 -p 옵션을 만들어줌.

사진 1번) 1.8.0_131이 있음을 확인할 수 있음

- jdk 옮기자. 131 안에로 전부 이동

- current라는 이름의 바로가기 만들기. 버전관리를 위해 심볼릭 링크를 셋다 걸어주기.

사진 2번) 자바 인스톨하면 에러뜸. -> 왜? 리눅스 자체가 버전관리 대상으로 껴버리기 때문에

[root@nn01 tmp]# wget --no-check-certificate --no-cookies - --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz 
[root@nn01 tmp]# ls jdk*
[root@nn01 tmp]# tar -xvzpf jdk-8u131-linux-x64.tar.gz
[root@nn01 tmp]# mkdir -p /opt/jdk/1.8.0_131
[root@nn01 tmp]# ls /opt/jdk               (-> 사진 1번)
[root@nn01 tmp]# mv jdk1.8.0_131/* /opt/jdk/1.8.0_131/
[root@nn01 tmp]# ln -s /opt/jdk/1.8.0_131 /opt/jdk/current
[root@nn01 tmp]# install java with alternatives (에러)      (-> 사진 2번)

 

 


alternatives명령어

centos의 yum을 통해 java를 install하게 되면 버젼관리 대상으로 들어간다.

그리고 centos는 버젼관리를 위한 명령어를 제공하는데 그것이 바로 alternatives라는 명령어이다.


- 따라서 다음 명령어 지정해서 없애주어야 한다. - >번호는 1

[root@nn01 tmp]# alternatives --install /usr/bin/java java /opt/jdk/1.8.0_131/bin/java 2
[root@nn01 tmp]# alternatives --config java

 

 

번호 누르라고 하면 우리는 1밖에 없어서 1 누르기

 

- 다음 그대로 실행

[root@nn01 tmp]# alternatives --install /usr/bin/jar jar /opt/jdk/1.8.0_131/bin/jar 2
[root@nn01 tmp]# alternatives --install /usr/bin/javac javac /opt/jdk/1.8.0_131/bin/javac 2
[root@nn01 tmp]# alternatives --set jar /opt/jdk/1.8.0_131/bin/jar
[root@nn01 tmp]# alternatives --set javac /opt/jdk/1.8.0_131/bin/javac
[root@nn01 tmp]# java -version

 

버전 1.8.0_131 나오면 잘 된 것.

 

 

 

13. 본격적인 Hadoop 설치 (nn01 / dn01 / dn02)

- 다운 받아서 압축 풀고 2.7.7 디렉토리로 전부 이동. current라는 이름의 바로가기 만들기.

[root@nn01 tmp]# cd /tmp

[root@nn01 tmp]# wget http://apache.tt.co.kr/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz
( 다운로드 속도가 너무 느리면 아래에서 다운받기 )
wget https://archive.apache.org/dist/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz

[root@nn01 tmp]# tar -xvzf hadoop-2.7.7.tar.gz
[root@nn01 tmp]# mkdir -p /opt/hadoop/2.7.7
[root@nn01 tmp]# mv hadoop-2.7.7/* /opt/hadoop/2.7.7/
[root@nn01 tmp]# ln -s /opt/hadoop/2.7.7 /opt/hadoop/current

 

[참고] 만약 위에것으로 다운받다가 중단하고 아래 것으로 다운받았다면?

 

[참고] ll로 용량 봐서 작은거 rm 지우고, mv로 이름 바꿔줌

 

 

14. Hadoop 사용자 추가

- 1) 일단 현재 사용자 root이고 소유권도 root가 가지고 있음. 이걸 하둡으로 옮겨준다.

- 2) 일단 넘겨주기 위해 유저 추가할 것. ( 비밀번호도 hadoop 으로 - 비밀번호 입력시는 글자표시 안됨 )

- 3) 소유권 이동( 루트에서 만든 파일의 권한을 hadoop에게 권함 )

- 4) 하둡으로 유저 변경

(하이푼( - ) 안쓰고 들어가면 설정한 환경변수까지 안가지고 옮겨짐. 하이푼 써야 설정한거까지 가져감.)

[root@nn01 tmp]# useradd hadoop
[root@nn01 tmp]# passwd hadoop
[root@nn01 tmp]# chown -R hadoop:hadoop /opt/hadoop/
[root@nn01 tmp]# su - hadoop
[root@nn01 ~]# 

 

14

 

15. Hadoop 자바 및 Hadoop 환경 변수 추가

- 설정파일 수정할 때는 MultiExe 보다 하나씩 하는 것이 나을 수도 있다.(하단부터 # 제외하겠음)

 

1) vi로 들어간다.

vi ~/.bash_profile

2) esc + o 해서 맨 하단에 아래 내용을 붙여넣자.

#### HADOOP 2.7.7 start ############

PATH=$PATH:$HOME/bin

export HADOOP_HOME=/opt/hadoop/current

export PATH=$PATH:$HADOOP_HOME/bin

export PATH=$PATH:$HADOOP_HOME/sbin

#### HADOOP 2.7.7end############

#### JAVA 1.8.0 start#############

export JAVA_HOME=/opt/jdk/current

export PATH=$PATH:$JAVA_HOME/bin

#### JAVA 1.8.0 end##############

여기 또한 빈칸 조심.

 

3) 소스 명령어로 적용한다.(꼭 필요함)

source ~/.bash_profile

 

하둡 버전 2.7.7로 완료

 

16. 비밀번호없이 각노드를 접속할 수 있도록 공개키 공유(SSH) (중요!!!)

- 아직까지는 권한이 전부 root에게 있다. root로 이동한다.

su - root

 

root로 이동

 

 

- vi 접속한다.

[root@nn01 ~]# vi /etc/hosts

- localhost 꼭 지운다. ( 모든 노드 다 )

아래 내용을 그대로 입력해준다.

192.168.56.101 nn01
192.168.56.102 dn01
192.168.56.103 dn02

 

 

 

- (1) 키만들기 (Hadoop 계정에서 )

서로 다른 컴퓨터의 키값을 확인해보자.

( MultiExec 에서 하면 다른 키값을 생성되는 것을 볼 수 있다. )

[hadoop@nn01 ~]$ ssh-keygen
[hadoop@dn01 ~]$ ssh-keygen
[hadoop@dn02 ~]$ ssh-keygen

엔터만 3번친다.

 

빨간 부분이 얘네 키값이다. (루트가 아닌 하둡 계정으로 봐야함)

 

- (2) 키복사하기

( 여기서는 MultiExec 풀고 작업 - 각 노드별로 작업)

( 자기 자신에게도 복사를 해야 됨 )

[hadoop@nn01 ~]$ ssh-copy-id hadoop@dn01
[hadoop@nn01 ~]$ ssh-copy-id hadoop@nn01
[hadoop@nn01 ~]$ ssh-copy-id hadoop@dn02
[hadoop@dn01 ~]$ ssh-copy-id hadoop@dn01
[hadoop@dn01 ~]$ ssh-copy-id hadoop@nn01
[hadoop@dn01 ~]$ ssh-copy-id hadoop@dn02
[hadoop@dn02 ~]$ ssh-copy-id hadoop@dn01
[hadoop@dn02 ~]$ ssh-copy-id hadoop@nn01
[hadoop@dn02 ~]$ ssh-copy-id hadoop@dn02

yes > 비밀번호 hadoop 으로 설정.

 

- 패스워드없이 이동이 가능하다. ( 나올 때는 exit 또는 logout 으로 나온다 )

[hadoop@nn01 ~]$ ssh dn01

이런식으로 nn 컴퓨터에서 dn으로 로그인한 것이다.

 

17. hadoop설정 (중요!!!)

nn01에서 하고 dn01, dn02 전송하던가, 한 노드씩 같이 하던가 선택하자.

우선 nn01에서 작업하자.

<configuration> 내용 </configuration> -> 이 사이에 파란색 글자 내용 붙여넣기!!!


 

a. [hadoop@nn01 ~]$ vi /opt/hadoop/current/etc/hadoop/core-site.xml

<configuration>

<property>

<name>fs.defaultFS</name>

<value>hdfs://nn01:9000</value>

</property>

</configuration>

 

a번 그림

 

-------------------------------------------------------------

b. [hadoop@nn01 ~]$ vi /opt/hadoop/current/etc/hadoop/hdfs-site.xml

<configuration>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

<property>

<name>dfs.namenode.http-address</name>

<value>nn01:50070</value>

</property>

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>nn01:50090</value>

</property>

<property>

<name>dfs.namenode.name.dir</name>

<value>file:/home/hadoop/hadoop_data/hdfs/namenode</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>file:/home/hadoop/hadoop_data/hdfs/datanode</value>

</property>

<property>

<name>dfs.namenode.checkpoint.dir</name>

<value>file:/home/hadoop/hadoop_data/hdfs/namesecondary</value>

</property>

<property>

<name>dfs.webhdfs.enabled</name>

<value>true</value>

</property>

</configuration>

-------------------------------------------------------------

c. [hadoop@nn01 ~]$ vi /opt/hadoop/current/etc/hadoop/yarn-site.xml

<configuration>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>

<value>org.apache.hadoop.mapred.ShuffleHandler</value>

</property>

<property>

<name>yarn.resourcemanager.scheduler.address</name>

<value>nn01:8030</value>

</property>

<property>

<name>yarn.resourcemanager.resource-tracker.address</name>

<value>nn01:8031</value>

</property>

<property>

<name>yarn.resourcemanager.address</name>

<value>nn01:8032</value>

</property>

<property>

<name>yarn.resourcemanager.hostname</name>

<value>nn01</value>

</property>

</configuration>

-------------------------------------------------------------

d. [hadoop@nn01 ~]$ cp /opt/hadoop/current/etc/hadoop/mapred-site.xml.template /opt/hadoop/current/etc/hadoop/mapred-site.xml

 

-> 실행만

-------------------------------------------------------------

e. [hadoop@nn01 ~]$ vi /opt/hadoop/current/etc/hadoop/mapred-site.xml

<configuration>

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

<property>

<name>mapreduce.jobtracker.hosts.exclude.filename</name>

<value>$HADOOP_HOME/etc/hadoop/exclude</value>

</property>

<property>

<name>mapreduce.jobtracker.hosts.filename</name>

<value>$HADOOP_HOME/etc/hadoop/include</value>

</property>

</configuration>

-------------------------------------------------------------

f. [hadoop@nn01 ~]$ vi /opt/hadoop/current/etc/hadoop/masters

nn01

입력하기

 

 

-------------------------------------------------------------

g. [hadoop@nn01 ~]$ vi /opt/hadoop/current/etc/hadoop/slaves

dn01
dn02

입력하기 (localhost 삭제하고 입력)

-------------------------------------------------------------

h. [hadoop@nn01 ~]$ vi /opt/hadoop/current/etc/hadoop/hadoop-env.sh

들어가서

# The java implementation to use.
export JAVA_HOME=/opt/jdk/current

수정

 

 

-------------------------------------------------------------

h. [hadoop@nn01 ~]$ vi /opt/hadoop/current/etc/hadoop/hadoop-env.sh

들어가서

# some Java parameters
export JAVA_HOME=/opt/jdk/current

수정


 

18. su root 로 계정 변환 가능하게 하기

- root 계정으로 이동하기 위해 버추얼박스에서 실행했던 가상머신 들어가기

 

 

 

### 각 계정마다 vi로 들어간 후 표시 부분을 주석처리한다. ###

- set nu 로 번호 보기.

- 10 11 12 라인 주석처리하기

 

각 게정마다 주석처리 후 하둡으로 계정 변환됨

 

 

- MobaXterm 에서도 계정 변환이 가능해졌다.

 

 

 

19. 계정의 소유권을 다시 설정

- hadoop설정을 nn01에서하고 dn01과 dn02에 복사 (winscp툴을 이용하거나 scp명령을 이용한다.

### 각 계정마다 # 이후 부분을 실행한다. ###

[nn01(root 계정)] 

a. [root@nn01 ~]# scp -r /opt/hadoop/* dn01:/opt/hadoop 
b. [root@nn01 ~]# scp -r /opt/hadoop/* dn02:/opt/hadoop 

[dn01(root 계정)] 심볼릭링크와 소유자를 다시 설정한다.  

a. [root@dn01 ~]# rm -rf /opt/hadoop/current 
b. [root@dn01 ~]# ln -s /opt/hadoop/2.7.7 /opt/hadoop/current 
c. [root@dn01 ~]# chown -R hadoop:hadoop /opt/hadoop/ 

[dn02(root 계정)] 심볼릭링크와 소유자를 다시 설정한다.

a. [root@dn02 ~]# rm -rf /opt/hadoop/current 
b. [root@dn02 ~]# ln -s /opt/hadoop/2.7.7 /opt/hadoop/current 
c. [root@dn02 ~]# chown -R hadoop:hadoop /opt/hadoop/

- ll /opt/hadoop 로 확인해보자.

 

아래처럼 뜨면 완료

 

 

20. 각노드에 Hadoop ~node 디렉토리 생성

- 각노드에서 해야 하니깐 MobaXterm 멀티창 끄기

(1) Hadoop namenode 디렉토리 생성 (nn01 : Namenode)
a. mkdir -p ~/hadoop_data/hdfs/namenode
b. mkdir -p ~/hadoop_data/hdfs/namesecondary

(2)  Hadoop datanode 디렉토리 생성 (dn01 : Datanode)
mkdir -p ~/hadoop_data/hdfs/datanode

(3) Hadoop datanode 디렉토리 생성 (dn02 : Datanode)
mkdir -p ~/hadoop_data/hdfs/datanode

 

21. Namenode 포맷

[hadoop@nn01 ~]# hadoop namenode -format

22. Daemon 시작

[hadoop@nn01 ~]# start-all.sh

 

23. 서비스 정상 확인

- MobaXterm 멀티창 띄워서 확인해본다.

jps

 

이러한 화면 뜨면 완료된 것.

 

24. 종료시 stop-all.sh 꼭 하기




=================================
최대한 복붙으로 해보려 했으나 설치조차 힘든 하둡.... 이번 기록으로 제에발 다음번엔 설치도 못하는 일은 없게 하자....!!!!

반응형
LIST
반응형
SMALL

새롭게 시작되는 Linux를 위해 환경설정을 해보자.

모든 언어의 시작은 설치로부터 오는데, 진짜 공부 시작하기도 전에 진이 빠진다.(야발)

하나하나 캡쳐뜨고 메모하면서 따라가느라 혼났다^^...

 

[설치 개요]

목적 : 빅데이터 공부를 위한 환경설정

설치 버전 : 가상머신인 VM Ware를 사용하여 가상환경에 리눅스 설치 + centOS 7버전

 


[다운로드]

1. http://mirror.kakao.com/centos/7.8.2003/isos/x86_64/ 접속해서 CentOS-7-x86_64-DVD-2003.iso 다운로드

2. 가상장치 다운로드(VM Ware)설치. - 다운로드 가서 VMware Workstation 15 Player 다운로드(윈도우용)

3.  CentOS-7-x86_64-DVD-2003.iso VMware Workstation 15 Player를 헷갈리지 않게 한 폴더에 넣어주자.

 

[설치]

4. 가상장치 설치(VMware Workstation 15 Player 설치) - 전부 기본값으로 Continue - 실행하기

5. 첫번째 체크 continue - finish  -> 가상장치 완료

5 non-commercial로 설치 후 초기화면

6. create a new virtual Machine 클릭(첫번째꺼)

가상환경 하나 만들어보자.

운영체제 나중에 설치하기 클릭(3번째)

6 운영체제 나중에 설치하기

7. centOS 7버전 으로 리눅스 설치 - 편리성을 위해 이름도 줄여서 centOS 7로 바꿈

경로는 아까 CentOS-7-x86_64-DVD-2003.iso 를 저장했던 경로로.

7 iso 디스크 불러오기

8. 원래 기본은 20GB지만 좀 크게해서 40기가로 할 예정. 40기가로 변경함.

Store virtual disk as a single file 체크박스 선택

8

9. 어디에 저장되고 현재 사양 체크.

우리는 지금 하드는 넉넉한데 메모리가 1기가밖에 안됨. 2기가로 바꾸자.(Customize Hardware)

9

10. 2기가로 바꿔주기 -> 2048MB로

10

11. OS가 설치되었다.(새로운 가짜 컴퓨터를 만든 것.)

화면대로 나오면 os설치가 잘 되었음을 알 수 있음.

이제 여기에 리눅스 설치하자.

11

 

12. [에러] play virtual machine 클릭하면 이렇게 연결 안되어있다고 뜸. -> 운영체제가 없으니까

12

 

13. edit virtual machine settings - cd/dvd(ide) - Use ISO image file - 경로는 아까 CentOS-7-x86_64-DVD-2003.iso 를 저장했던 경로로.  - ok

13

 

14.play virtual machine 실행 (실행화면)

14

 

15. [에러] 찾을수 없다고 나오면 경로 잘못한 것.

15(에러남)

 

Operating System not found는 VMware에서 아예 디스크 파일을 불러오지 못했다는 것.

다시 경로설정도 해보고...껐다도 켜보고 해도 안됨;; 구글링했더니 그냥 지웠다가 다시 설치하라는 답변을 봄

###해결방법###

그냥 VMware Workstation 15 Player를 완전히 삭제하고 다시 설치함. 위에 6번 이미지에서 두번째 체크박스(Installer iso disc image file(iso) 에서 CentOS-7-x86_64-DVD-2003.iso 를 입력하고 다음버튼 누름.
처음부터 디스크 찾는거나 나중에 입히는거나 똑같은데 도대체 왜 디스크파일을 못찾는지 모르겠다....

 

 

 

16. 어쨌든 다시 지우고 다시 깔고 두번째꺼 선택해서 파일 선택하니까 해결되었다.

16

 

17. 엔터 치고 까만화면 -> 엔터 -> 엔터

17 설치중

 

[기본 설정]

 

18. 키보드 설정을 해보자.

키보드에서 한글과 영어를 설치할 것.

18. 키보드

 

레이아웃에서 영어(미국)선택 - 한국어 선택하고 - 영어가 맨 위로 가게(^) 설정

18-1 한국어 입력
18-2 영어 설정 후 영어가 위로가게 위치 조정

 

19. 개발을 위해 기본환경 변경해주기

키보드 아래 소프트웨어 선택 - 왼쪽 맨 아래 "개발 및 창조를 한 워크스테이션" 선택 / 완료

19

 

20. 설치 디스크 변경하기

설치대상 - "파티션을 설정합니다" 체크 - "여기를 클릭하여 자동으로 생성합니다." 클릭

20

###주의###

boot는 절대 삭제하면 안됨.

 

 

21. /boot 아래 /(루트)와 swap를 변경하자. swap과 /를 각각 선택한 상태에서 - 눌러서 지우기

21

22. swap 추가) +버튼 눌러서 마운트지점 swap 하고 용량은 5g(5기가)하고 마운트지점 추가 클릭

 

23. / 추가) + 버튼 눌러서 / 하고 용량 빈칸으로 비워놓고(=나머지 전부) 마운트지점 추가하기(사진참조)

23

 

24. 왼쪽 상단 "완료" - "변경사항 적용" 클릭

24

 

25. 네트워크 설정하자.

네트워크 및 호스트명 - 이더넷 켜기

25

 

26. 호스트 연결 후 설치시작 - root 암호에서 암호 설정하기(root / admin1234) / 완료 두번 누르기

26

 

27. 사용자는 centos / centos 로 하고 완료 두번 누르기

27

 

28. 설치 완료된 화면

28

 

29. 다 되면 재부팅 누르기

29

 

30. 이 화면 뜨면 잘된 것.

처음에는 라이센스 동의하지 않습니다 뜬게 정상. 유선으로 ens33 연결되었음을 알 수 있다.

30

 

31. "라이센스 동의 들어가서 약관에 동의합니다" 체크

31

 

32. 설정완료

32

 


[계정 로그인]

33. 처음에는 root 계정으로 들어가야 한다.

가장 상위계정인 root 계정 아래에 centos라는 사용자가 있는 것. root에 들어가려면 "목록에 없습니까?" 클릭

아까 설정한 아이디 비밀번호 입력 후 - 환영합니다 - 다음 계속 누르기(영어로 되어있어도 됨) - 건너뛰기 - 준비됐습니다까지 나오면 완료.

33
34 리눅스 기본 바탕화면

 

여기까지가 컴퓨터가 가상환경을 만들고 로그인을 한 것.

 

 

 

 

[잘 됐는지 실험해보자]

 

34. 리눅스는 파이어폭스가 기본 브라우저이다. 프로그램 - 파이어폭스 해서 잘 돌아가는지 확인

34. 네이버가 잘 나온다

 

 

[추가 설정]

1) 화면을 일정시간 만지지 않을 때 화면이 잠긴다. 이걸 풀어보자.

->     프로그램 - 시스템도구 - 설정 - 개인정보 - 화면잠금 - 끔

 

이러면 화면 잠금이 꺼진 것. 만약 화면잠금이 되면 엔터치고 비번 입력하면 열림.

1)화면잠금 풀기

 

2) 절전모드 없게 하기

전원 - 빈화면 "5분" 말고 "안함"으로 바꾸기

2) 절전모드 변경

 

3) 기본적으로 한글이 안쳐질 때

before) 프로그램 - 시스템도구 - 터미널 틀면 한글 안쳐짐

한글 안쳐짐
한글 쳐짐

->     프로그램 - 시스템도구 - 설정 - 지역 및 언어 - "한국어"를 "한국어(Hangul)"로 변경 -  -로 지우고 +로 한국어(한글)으로 추가

 

after) 한영키는 윈도우 + 스페이스 / 잘 나옴

 

 

기본 설정이 완료되었다 :)

 

 

반응형
LIST
반응형
SMALL

+ Recent posts

반응형
LIST