데비안 시스템 구성
나는 여기에 VM웨어의 네 데비안 시스템, 마스터, 세 해결사 내부 가상입니다. 호스트 이름은 마스터, solver1, solver2, solver3 . 그런데, 다음 JDK 설치 및 구성 작업은 하둡 사용하는 하둡 사용자 권한을 하지 루트 권한을 수행 할 수 있습니다.
1. 고정 네트워크 설정
편집 /etc/network/interfaces
문서는 자동으로 IP를 획득하고, 다음과 같은 내용을 추가 노트
# The primary network interface
#allow-hotplug ens33
#iface ens33 inet dhcp
# static IP address
auto ens33
iface ens33 inet static
address 192.168.20.101
netmask 255.255.255.0
gateway 192.168.20.2
dns-nameservers 192.168.20.2
dns-nameservers 114.114.114.114
2. 수정 /etc/hosts
다음을 추가, 파일을
# Hadoop
192.168.20.101 master
192.168.20.102 solver1
192.168.20.103 solver2
192.168.20.104 solver3
3. OpenSSH의 서버 설치 및 장착 정력
sudo apt-get install openssh-server vim
4. 키 ssh를 생성
# 分别在不同的主机上执行`ssh-keygen`命令
# master
ssh-keygen -t rsa -C "master"
# solver1
ssh-keygen -t rsa -C "solver1"
# solver2
ssh-keygen -t rsa -C "solver2"
# solver3
ssh-keygen -t rsa -C "solver3"
5. 암호를 방지하기 위해
# 在每台主机上执行:
ssh-copy-id -i ~/.ssh/id_rsa.pub master
ssh-copy-id -i ~/.ssh/id_rsa.pub solver1
ssh-copy-id -i ~/.ssh/id_rsa.pub solver2
ssh-copy-id -i ~/.ssh/id_rsa.pub solver3
6. 사용자 및 그룹 만들기
# 在每台主机上执行:
useradd -m -s /bin/bash hadoop
JDK 설치 및 구성
수동 설치 1. JDK
JDK는 설치 패키지를 추출합니다 /usr/lib/jvm/
. 경우 /usr/lib
의 부재 jvm
폴더가 다음 생성 jvm
, 실행합니다 sudo mkdir /usr/lib/jvm
. 그런 다음 생성 jdk
소프트 링크를 :
sudo ln -sf /usr/lib/jvm/jdk1.8.0_202 /usr/lib/jvm/jdk
2. JDK 구성 환경 변수
- 새로운
jdk.sh
파일
vi /etc/profile.d/jdk.sh
- 다음을 추가합니다 :
# JDK environment settings
export JAVA_HOME=/usr/lib/jvm/jdk
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATh=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
- JAVA 환경을 확인
$ java -version
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
설치 패키지 및 jdk.sh JDK의 SCP는 위의 작업을 반복하는 각 호스트입니다.
하둡 설치 및 구성
하둡 설치
1. 추출 하둡 설치 패키지는하기 /opt
소유자 하둡-3.1.2 수정
sudo chown -R hadoop:hadoop /opt/hadoop-3.1.2
2. 다음 생성 hadoop
소프트 링크를
sudo ln -sf /opt/hadoop-3.1.2 /opt/hadoop
3. hadoop
생성에서 logs
, hdfs/name
` 、
HDFS / data` 폴더
mkdir /opt/hadoop/logs
mkdir -p /opt/hadoop/hdfs/name
mkdir -p /opt/hadoop/hdfs/data
구성 4. 하둡 환경 변수
- 새 파일
hadoop.sh
vi /etc/profile.d/hadoop.sh
- 다음을 추가합니다 :
# Hadoop environment settings
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
- 프로파일 변수를 새로 고침
# 使profile生效
source /etc/profile
하둡 설정 파일
구성 파일은에있는 etc/hadoop/
폴더
1. hadoop-env.sh
# jdk环境变量 (因为要远程调用 ${java_home}找不到变量)
export JAVA_HOME=/usr/lib/jvm/jdk
2. workers
# 添加所有solver机器的hostname
solver1
solver2
solver3
삼. core-site.xml
<configuration>
<!-- hdfs的位置 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<!-- hadoop运行时产生的缓冲文件存储位置 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value>
</property>
</configuration>
4. hdfs-site.xml
<configuration>
<!-- hdfs 数据备份数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!-- hdfs namenode上存储hdfs名字空间元数据 -->
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop/hdfs/name</value>
</property>
<!-- hdfs datanode上数据块的物理存储位置 -->
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop/hdfs/data</value>
</property>
</configuration>
5. mapred-site.xml
<configuration>
<!-- mapreduce运行的平台 默认local本地模式 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- mapreduce web UI address -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>
6. yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<!-- yarn 的 hostname -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<!-- yarn Web UI address -->
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>${yarn.resourcemanager.hostname}:8088</value>
</property>
<!-- reducer 获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
/opt/hadoop-3.1.2
및 hadoop.sh
각 컴퓨터에 SCP를 포장 한 다음 설치를 반복 하둡 단계
하둡 검증
- 첫째, HDFS를 포맷
hdfs namenode -format
- 시작 및 종료 jobhistoryserver
mr-jobhistory-daemon.sh start historyserver
mr-jobhistory-daemon.sh stop historyserver
- 시작 및 종료 실
start-yarn.sh
stop-yarn.sh
- 시작 및 종료 HDFS
start-dfs.sh
stop-dfs.sh
- 키는 시작 및 종료
start-all.sh
stop-all.sh
- 확인
$ jps
13074 SecondaryNameNode
14485 Jps
10441 JobHistoryServer
12876 NameNode
13341 ResourceManager
웹 UI에 액세스
악마 | 웹 인터페이스 | 노트 |
---|---|---|
네임 노드 | https://192.168.20.101:9870 | 기본 HTTP 포트는 9870입니다. |
ResourceManager에 | http://192.168.20.101:8088 | 기본 HTTP 포트는 8088입니다. |
맵리 듀스 JobHistory 서버 | http://192.168.20.101:19888 | 기본 HTTP 포트는 19888입니다. |