사전 작업
JDK 하둡 환경 변수를 구성 할
세 개의 서버가 이름
hadoop112, hadoop113, hadoop114
세 개의 이름 서버를 바인딩의 / etc / hosts 파일을 수정
예를 들어
hadoop112 192.168.1.112
hadoop113 192.168.1.113
hadoop114 192.168.1.114주의하십시오
하둡 이하 / 옵션 폴더 JDK 디렉토리,
어디 환경 변수로 다음과
구성 파일은 나중에 경로 문제 하둡 나타난 경우, 실제 환경에 따라 약간의 변경
구성지도 :
완전히 분산 된 구성 테이블을 하둡 hadoop112 hadoop113 hadoop114 HDFS 네임 노드
데이터 노드
데이터 노드
SecondaryNameNode
데이터 노드
실 NodeManager
ResourceManager에
NodeManager
NodeManager
수정 노동자 파일 (노예 파일의 버전 2.x 상당) 공간과 빈 줄을 가질 수 없습니다
다음 작업은 하둡-3.2.1을 / etc / 하둡 폴더에서 구성 파일을 수정할 수 있습니다
먼저 근로자 파일을 수정! 그렇지 않으면 데이터 노드 노드 뒤에 시작하지 못했습니다
vim workers
기록 : 근로자의 기록 데이터 노드 주소입니다
hadoop112
hadoop113
hadoop114
1) 코어 프로파일
코어를 site.xml 노트 경로 문제를 구성!
정력 코어를 site.xml을 SUDO
구성 파일에서 다음 쓰기
<!-- 指定HDFS中NameNode的地址 --> <property> <name>fs.defaultFS</name> <value>hdfs://hadoop112:9000</value> </property> <!-- 指定Hadoop运行时产生文件的存储目录 --> <property> <name>hadoop.tmp.dir</name> <value>/opt/module/hadoop-3.2.1/data/tmp</value> </property> <!-- 缓存文件大小 --> <property> <name>io.file.buffer.size</name> <value>131072</value> </property>
(2) 프로파일 HDFS
2.1 구성 hadoop-env.sh
sudo는이 hadoop-env.sh왔다
자바 환경 변수의 값을 추가, 자바 홈 디렉토리는 에코 $ JAVA_HOME (전제가 설치 및 구성 자바한다)에 의해 얻어 질 수있다
파일의 시작 부분에 추가
수출 JAVA_HOME = / 옵션 / 모듈 / jdk1.8.0_211 /
2.2 구성 HDFS-를 site.xml
sudo는 정력 HDFS-site.xml 파일
파일을 복사 <구성> 태그 내부에 기록되어 있습니다
<!-- 副本数设置为3 --> <property> <name>dfs.replication</name> <value>3</value> </property> <!-- 指定 hadoop 辅助名称节点的地址 --> <property> <name>dfs.namenode.secondary.http-address</name> <value>hadoop114:50090</value> </property> <!-- 指定名称结点缓存数据的路径 --> <property> <name>dfs.namenode.name.dir</name> <value>/opt/module/hadoop-3.2.1/data/tmp</value> </property> <!-- 指定数据结点缓存数据的路径 --> <property> <name>dfs.datanode.data.dir</name> <value>/opt/module/hadoop-3.2.1/data/data</value> </property>
(3) YARN 프로필
3.1, 구성 yarn-env.sh
sudo는이 yarn-env.sh왔다
쓰기
수출 JAVA_HOME = / 옵션 / 모듈 / jdk1.8.0_211 /
3.2 배치 yarn-site.xml
VIM 원사에 site.xml 도우
<구성> 태그에 복사 참고
<!-- Reducer获取数据的方式 --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!-- 指定启动YARN的ResourceManager的主机地址 --> <property> <name>yarn.resourcemanager.hostname</name> <value>hadoop113</value> </property>
(4)의 MapReduce 프로필
4.1, 구성 mapred-env.sh
sudo는이 mapred-env.sh왔다
쓰기
수출 JAVA_HOME = / 옵션 / 모듈 / jdk1.8.0_211 /
4.2 배치 mapred-site.xml
sudo는 정력 mapred-site.xml 파일
<!-- 指定以Yarn方式运行 --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>yarn.app.mapreduce.am.env</name> <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value> </property> <property> <name>mapreduce.map.env</name> <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value> </property> <property> <name>mapreduce.reduce.env</name> <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value> </property>
배포 프로필 ===== xsync 스크립트는이 블로그를 읽고
https://blog.csdn.net/qq_41813208/article/details/102575933
xsync 스크립트에 의해 분산
다음 명령 hadoop113로 변성 하둡 프로파일 동기화 서버를 실행 hadoop114
xsync /opt/moudel/hadoop-3.2.1
동기로는, hadoop114 서버 구성 파일이와 hadoop112을 hadoop113 테스트
예를 들어, 코어 site.xml 파일을보고
고양이 /opt/module/hadoop-3.2.1/etc/hadoop/core-site.xml
그리고 같은 hadoop112 여부
재편성 서버 부분
마지막으로 클러스터 재편성
모든 서버를 종료하는 최초의 필요성을 데이터 노드, 네임 노드, SecondaryNameNode 과정닫기 JPS의 JPS를 제외한 모든 프로세스를 보여 입력
주의! ! !
네임 노드는 HDFS를 시작하기 전에 포맷해야이 경우 처음 에는 수행해야
hdfs namenode -format
뒤에 다음과 같은 이유로이 명령을 사용하지 연결 https://blog.csdn.net/qq_41813208/article/details/100753659
(전면 및 서식이 이유를 포맷해야하지 않을 경우 * 참고, 이유 네임 노드의 블로그가 포맷되어 볼 수 없습니다)
첫째, HDFS 시작
close 메소드를입력 : stop-dfs.sh
시작 방법
start-dfs.sh
루트 디렉토리 하둡 sbin에 /에서이 스크립트 파일
둘째, 원사 시작
메모를 취할 거대한 구멍이 필요!
ResourceManeger 때문에 hadoop113에 hadoop113 켜져 있어야합니다!
실행start-yarn.sh
결과를 얻기 위해 시작 그녀가 암호를 발견하면, 구성이 비밀 로그인
이 두 참조 블로그에 대한 비밀 로그인하지 :
https://blog.csdn.net/qq_41813208/article/details/102597273
https://blog.csdn.net/qq_41813208/article/details/102575933
모두가 아래 시작하면,
당신은 HDFS를 시작할 때 HDFS는 공정 라인을 시작합니다
원사 프로세스 원사를 시작하는 하나 개의 행을 시작합니다
hadoop112 | hadoop113 | hadoop114 | |
HDFS | 네임 노드 데이터 노드 |
데이터 노드 |
SecondaryNameNode 데이터 노드 |
실 | NodeManager |
ResourceManager에 NodeManager |
NodeManager |
마지막으로, 테스트
참고 : 50070에 의해 포트의 하둡 - 3.X 버전을 9870 포트에
이 페이지에 액세스 할 수없는 경우, 서버의 방화벽이 꺼집니다
在hadoop112上关闭,输入sudo systemctl stop firewalld.service 即可关闭防火墙,就可以访问到下面的页面
永久关闭sudo systemctl disable firewalld.service
浏览器输入hadoop112的ip+9870端口访问页面表示成功!
http://hadoop112:9870
问题解决篇
如果出现其他结点都启动起来了,但是名称结点起不来。说明namenode经过了多次格式化,解决方法是
首先先关闭集群
删除 对应文件(就是前面core-site.xml配置中hadoop.tmp.dir配置对应的路径),然后重新格式化一下。
hdfs namenode -format
原因:https://blog.csdn.net/qq_41813208/article/details/100753659
重新格式化后,启动hdfs
输入 start-dfs.sh
这时候你会发现那么node结点启动起来了。