Cloud | AI | BigData

[AWS-EC2 Hadoop|Hive|Spark] 계정생성 Java8설치 + selinux해제

개폰지밥 2022. 12. 5. 08:00
반응형
☞ 관련 글
2022.11.16 - [Cloud | AI | BigData] - [AWS-EC2 Hadoop|Hive|Spark]AWS 회원가입, 계정 삭제, 비밀번호 변경
2022.12.03 - [Cloud | AI | BigData] - [AWS-EC2 Hadoop|Hive|Spark]인스턴스 생성, 시작과 종료
2022.12.04 - [Cloud | AI | BigData] - [AWS-EC2 Hadoop|Hive|Spark] 인스턴스 putty 접속 + root 접속 + puttygen .ppk 생성 +
2022.12.05 - [Cloud | AI | BigData] - [AWS-EC2 Hadoop|Hive|Spark] 계정생성 Java8설치 + selinux해제
2022.12.06 - [Cloud | AI | BigData] - [AWS-EC2 Hadoop|Hive|Spark] Haoop3.2 설치(Hadoop 계정)
2022.12.07 - [Cloud | AI | BigData] - [AWS-EC2 Hadoop|Hive|Spark] Hadoop 3.2 설정파일 설정
2022.12.08 - [Cloud | AI | BigData] - [AWS-EC2 Hadoop|Hive|Spark] 인스턴스 복사(AMI 생성) + 이미지/인스턴스 삭제
2022.12.09 - [Cloud | AI | BigData] - [AWS-EC2 Hadoop|Hive|Spark] Hadoop Name/DataNode 및 Client 서버 기본 설정+ ssh 키생성
2022.12.10 - [Cloud | AI | BigData] - [AWS-EC2 Hadoop|Hive|Spark] Hdfs 파일 포맷, Hdfs/Yarm 시작 종료
2022.12.10 - [Cloud | AI | BigData] - [AWS-Hadoop|Hive|Spark] Hadoop 구축 핵심 및 에러 정리
2022.12.11 - [Cloud | AI | BigData] - [AWS-EC2 Hadoop|Hive|Spark] yum으로 MariaDB 10.5 설치
2022.12.12 - [Cloud | AI | BigData] - [AWS-Hadoop|Hive|Spark] Hive 3 설치
2022.12.13 - [Cloud | AI | BigData] - [AWS-Hadoop|Hive|Spark] Spark 3 설치
2022.12.14 - [Cloud | AI | BigData] - [AWS-Hadoop|Hive|Spark] pip install로 jupyter 설치

 

| System Structure

Hadoop을 사용하기 위해서는 JAVA 설치가 선행준비조건 입니다. 넷째날은 JAVA 설치를 하도록 하겠습니다.

 

목차

1. AWS 로그인 및 EC2(Putty) 접속
2. Hadoop 계정 생성
   2.1 Hadoop 권한주기
   2.2 패키지 업데이트
   2.3 net-tools, wget 등 패키지들 설치
3. java-1.8.0-openjdk(JAVA) 설치
   (참고) JAVA 특정 버전 삭제
   3.1 JAVA 환경 변수 설정
4. Selinux 설정

 

내용

1. AWS 로그인 및 EC2(Putty) 접속

먼저 AWS 로그인 후 EC2 접속을 해주세요.

사용자 계정을 생성하기 위하여 root 계정으로 로그인합니다.

 

2. Hadoop 계정 생성

회사나 고객사에서는 root 계정을 주지 않기 때문에, root 계정이 아닌 hadoop이라는 사용자 계정을 생성하여 java를 설치하도록 하겠습니다. 사용자 계정의 이름은 여기서 hadoop으로 했으나 다른것으로 해도 무방합니다.

[root@ip-172-31-40-48 ~]# adduser hadoop
[root@ip-172-31-40-48 ~]# passwd hadoop
Changing password for user hadoop.
New password: 사용하고 싶은 hadoop 패스워드
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 사용하고 싶은 hadoop 패스워드 한번더 입력
passwd: all authentication tokens updated successfully.

 

2.1 Hadoop 권한주기

[root@ip-172-31-40-48 ~]# visudo

root 아래에 아래와 같이 추가합니다.

hadoop  ALL=(ALL)       ALL

ESC -> wq!

 

그 다음에 hadoop으로 계정 전환 합니다.

[root@ip-172-31-40-48 ~]# su - hadoop
[hadoop@ip-172-31-40-48 ~]$

 

2.2 패키지 업데이트

hadoop 설치 앞서 설치된 패키지들을 모두 업데이트 후 python-pip도 설치합니다.

[hadoop@ip-172-31-40-48 ~]$ sudo yum update -y

root 계정에서 java를 설치하실 분들은 sudo를 제외하고 yum update -y만 하셔도 됩니다.

 

2.3 net-tools, wget 등 패키지들 설치

JAVA를 설치하기 전에 다른 패키지들도 설치하겠습니다.

net-tools은 ifconfig등 ip 주소를 확인할 때 사용하는 패키지를 담고 있습니다.

wget은 사이트에 올라와있는 hadoop 파일이나 java 파일등을 쉽게 다운 받을 수 있습니다.

wget이 없다면 사이트에 직접 들어가서 Window에서 파일을 다운 받고 Linux로 파일업로드를 하는 등등 복잡하지만, wget을 이용하면 간단히 다운받을 수 있습니다.

vim은 vi의 상향 버전으로 마찬가지로 텍스트 편집 때 사용 됩니다.

python-pip는 파이썬으로 작성된 패키지 라이브러리를 관리해주는 시스템이다.

 

[hadoop@ip-172-31-40-48 ~]$ sudo yum install net-tools wget vim python-pip -y

 

3. java-1.8.0-openjdk(JAVA) 설치

[hadoop@ip-172-31-40-48 ~]$ sudo dnf install java-1.8.0-openjdk ant -y

[hadoop@ip-172-31-40-48 ~]$ sudo yum install java-1.8* -y

 

 

(참고)특정 JAVA 버전을 삭제하고 싶은 경우에는 아래를 참고해주세요.

더보기

| JAVA 버전 확인

첫번째 방법. java -version

[hadoop@Master]java -version
openjdk version "11.0.17" 2022-10-18 LTS
OpenJDK Runtime Environment (Red_Hat-11.0.17.0.8-2.el9_0) (build 11.0.17+8-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-11.0.17.0.8-2.el9_0) (build 11.0.17+8-LTS, mixed mode, sharing)

 

두번째 방법.rpm -qa | grep java
[hadoop@Master]rpm -qa | grep java
javapackages-filesystem-6.0.0-3.el9.noarch
tzdata-java-2022f-1.el9_1.noarch
java-11-openjdk-headless-11.0.17.0.8-2.el9_0.x86_64
javapackages-tools-6.0.0-3.el9.noarch
java-1.8.0-openjdk-headless-1.8.0.352.b08-2.el9_1.x86_64
java-1.8.0-openjdk-1.8.0.352.b08-2.el9_1.x86_64
java-1.8.0-openjdk-src-1.8.0.352.b08-2.el9_1.x86_64
java-1.8.0-openjdk-javadoc-zip-1.8.0.352.b08-2.el9_1.noarch
java-1.8.0-openjdk-demo-1.8.0.352.b08-2.el9_1.x86_64
java-1.8.0-openjdk-devel-1.8.0.352.b08-2.el9_1.x86_64
java-1.8.0-openjdk-javadoc-1.8.0.352.b08-2.el9_1.noarch

 

| JAVA 버전 삭제

원치 않는 JAVA 버전이 있는 경우 삭제할 수 있습니다.

rpm -qa | grep java로 java 버전을 확인하고 원치않는 java 버전을 삭제할 수 있습니다.

예를 들어 저는 java 8을 사용 하고 싶기 때문에 java 11을 삭제하겠습니다.

java11과 관련된 모든 패키지들을 아래와 같이 삭제하면 됩니다. 참고로 headless는 GUI를 사용하지 않을 때 사용되는 JAVA 입니다.

 

[hadoop@Slave1] sudo yum remove java-11-openjdk-headless-11.0.17.0.8-2.el9_0.x86_64 java-11-openjdk-11.0.17.0.8-2.el9_0.x86_64 java-11-openjdk-devel-11.0.17.0.8-2.el9_0.x86_64 -y
[sudo] password for hadoop:
Updating Subscription Management repositories.
Unable to read consumer identity

This system is not registered with an entitlement server. You can use subscription-manager to register.

Dependencies resolved.
=============================================================================================
 Package                   Arch    Version                Repository                    Size
=============================================================================================
Removing:
 java-11-openjdk           x86_64  1:11.0.17.0.8-2.el9_0  @rhel-9-appstream-rhui-rpms  764 k
 java-11-openjdk-devel     x86_64  1:11.0.17.0.8-2.el9_0  @rhel-9-appstream-rhui-rpms  5.3 M
 java-11-openjdk-headless  x86_64  1:11.0.17.0.8-2.el9_0  @rhel-9-appstream-rhui-rpms  172 M
Removing dependent packages:
 ant                       noarch  1.10.9-7.el9           @rhel-9-appstream-rhui-rpms  461 k
Removing unused dependencies:
 ant-lib                   noarch  1.10.9-7.el9           @rhel-9-appstream-rhui-rpms  2.2 M
 javapackages-tools        noarch  6.0.0-3.el9            @rhel-9-appstream-rhui-rpms   63 k

Transaction Summary
=============================================================================================
Remove  6 Packages

Freed space: 181 M
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                     1/1
  Erasing          : ant-1.10.9-7.el9.noarch                                             1/6
  Erasing          : ant-lib-1.10.9-7.el9.noarch                                         2/6
  Erasing          : java-11-openjdk-devel-1:11.0.17.0.8-2.el9_0.x86_64                  3/6
  Running scriptlet: java-11-openjdk-devel-1:11.0.17.0.8-2.el9_0.x86_64                  3/6
  Erasing          : javapackages-tools-6.0.0-3.el9.noarch                               4/6
  Erasing          : java-11-openjdk-1:11.0.17.0.8-2.el9_0.x86_64                        5/6
  Running scriptlet: java-11-openjdk-1:11.0.17.0.8-2.el9_0.x86_64                        5/6
  Erasing          : java-11-openjdk-headless-1:11.0.17.0.8-2.el9_0.x86_64               6/6
  Running scriptlet: java-11-openjdk-headless-1:11.0.17.0.8-2.el9_0.x86_64               6/6
  Verifying        : ant-1.10.9-7.el9.noarch                                             1/6
  Verifying        : ant-lib-1.10.9-7.el9.noarch                                         2/6
  Verifying        : java-11-openjdk-1:11.0.17.0.8-2.el9_0.x86_64                        3/6
  Verifying        : java-11-openjdk-devel-1:11.0.17.0.8-2.el9_0.x86_64                  4/6
  Verifying        : java-11-openjdk-headless-1:11.0.17.0.8-2.el9_0.x86_64               5/6
  Verifying        : javapackages-tools-6.0.0-3.el9.noarch                               6/6
Installed products updated.

Removed:
  ant-1.10.9-7.el9.noarch
  ant-lib-1.10.9-7.el9.noarch
  java-11-openjdk-1:11.0.17.0.8-2.el9_0.x86_64
  java-11-openjdk-devel-1:11.0.17.0.8-2.el9_0.x86_64
  java-11-openjdk-headless-1:11.0.17.0.8-2.el9_0.x86_64
  javapackages-tools-6.0.0-3.el9.noarch

Complete!

이제 삭제가 잘되었는지 확인하면, java8이 잘 사용된것을 확인할 수 있습니다.
[hadoop@Slave1]java -version
openjdk version "1.8.0_352"
OpenJDK Runtime Environment (build 1.8.0_352-b08)
OpenJDK 64-Bit Server VM (build 25.352-b08, mixed mode)

 

3.1 JAVA 환경 변수 설정

환경변수는 어디서든 JAVA를 편리하게 사용할 수 있게 등록해둡니다.

[hadoop@ip-172-31-40-48 ~]$ vi ~/.bashrc

export JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el9_1.x86_64"

export PATH=$PATH:$JAVA_HOME/bin

[hadoop@ip-172-31-40-48 ~]$ source ~/.bashrc
[hadoop@ip-172-31-40-48 ~]$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el9_1.x86_64

참고) [hadoop@ip-172-31-40-48 ~]$ ls /usr/lib/jvm

ls라는 명령어로 본인 서버에 설치된 JAVA 버전을 알 수 있다.

 

저는 설치한 JAVA 버전을 환경변수에도 등록되었는데 JAVA11이 사용되어, 사용되고 있는 JAVA 11버전을 삭제했습니다.

sudo yum remove java-11-openjdk-headless-11.0.17.0.8-2.el9_0.x86_64 java-11-openjdk-11.0.17.0.8-2.el9_0.x86_64 java-11-openjdk-devel-11.0.17.0.8-2.el9_0.x86_64 -y 로

4. Selinux 설정

나중에 보안문제로 프로그램이 정상 동작 되지 않을 수도 있기 때문에 SELINUX Enforcing을 permissive로 바꿉니다.

enforcing -> permissive

[hadoop@ip-172-31-40-48 ~]$ sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
[hadoop@ip-172-31-40-48 ~]$ cat /etc/selinux/config

반응형