一:传入hadoop压缩包,解压,改文件名

用Xftp直接传入到install目录下

解压:[root@gky181 install]# tar -zxvf hadoop-3.1.3.tar.gz -C /opt/soft/

改名:

[root@gky181 install]# cd /opt/soft

[root@gky181 soft]# mv hadoop-3.1.3/ hadoop313

二:更改配置文件和设置环境变量

1,更改/opt/soft/hadoop313/etc/hadoop/目录下的6个文件:

workers , core-site.xml , hdfs-site.xml ,yarn-site.xml ,mapred-site.xml , hadoop-env.sh

[root@gky181 soft]# cd /opt/soft/hadoop313/etc/hadoop/

①workers:

[root@gky181 hadoop]# vim workers 加入全部机器

②core-site.xml:

[root@gky181 hadoop]# vim core-site.xml

fs.defaultFS

hdfs://gky

逻辑名称,必须与hdfs-site.xml中的dfs.nameservices值保持一致

hadoop.tmp.dir

/opt/soft/hadoop313/tmpdata

namenode上本地的hadoop临时文件夹

hadoop.http.staticuser.user

root

默认用户

hadoop.proxyuser.root.hosts

*

hadoop.proxyuser.root.groups

*

io.file.buffer.size

131072

读写文件的buffer大小为:128K

ha.zookeeper.quorum

gky181:2181,gky182:2181,gky183:2181

ha.zookeeper.session-timeout.ms

10000

hadoop链接zookeeper的超时时长设置为10s

③hadoop-env.sh

[root@gky181 hadoop]# vim hadoop-env.sh

export JAVA_HOME=/opt/soft/jdk180

export HDFS_NAMENODE_USER=root

export HDFS_DATANODE_USER=root

export HDFS_SECONDARYNAMENODE_USER=root

export HDFS_JOURNALNODE_USER=root

export HDFS_ZKFC_USER=root

export YARN_RESOURCEMANAGER_USER=root

export YARN_NODEMANAGER_USER=root

④hdfs-site.xml

[root@gky181 hadoop]# vim hdfs-site.xml

dfs.replication

3

Hadoop中每一个block的备份数

dfs.namenode.name.dir

/opt/soft/hadoop313/data/dfs/name

namenode上存储hdfs名字空间元数据目录

dfs.datanode.data.dir

/opt/soft/hadoop313/data/dfs/data

datanode上数据块的物理存储位置

dfs.namenode.secondary.http-address

gky181:9869

dfs.nameservices

gky

指定hdfs的nameservice,需要和core-site.xml中保持一致

dfs.ha.namenodes.gky

nn1,nn2

gky为集群的逻辑名称,映射两个namenode逻辑名

dfs.namenode.rpc-address.gky.nn1

gky181:9000

namenode1的RPC通信地址

dfs.namenode.http-address.gky.nn1

gky181:9870

namenode1的http通信地址

dfs.namenode.rpc-address.gky.nn2

gky182:9000

namenode2的RPC通信地址

dfs.namenode.http-address.gky.nn2

gky182:9870

namenode2的http通信地址

dfs.namenode.shared.edits.dir

qjournal://gky181:8485;gky182:8485;gky183:8485/gky

指定NameNode的edits元数据的共享存储位置(JournalNode列表)

dfs.journalnode.edits.dir

/opt/soft/hadoop313/data/journaldata

指定JournalNode在本地磁盘存放数据的位置

dfs.ha.automatic-failover.enabled

true

开启NameNode故障自动切换

dfs.client.failover.proxy.provider.gky

org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider

失败后自动切换的实现方式

dfs.ha.fencing.methods

sshfence

防止脑裂的处理

dfs.ha.fencing.ssh.private-key-files

/root/.ssh/id_rsa

使用sshfence隔离机制时,需要ssh免密登陆

dfs.permissions.enabled

false

关闭HDFS操作权限验证

dfs.image.transfer.bandwidthPerSec

1048576

dfs.block.scanner.volume.bytes.per.second

1048576

⑤mapred-site.xml

[root@gky181 hadoop]# vim mapred-site.xml

mapreduce.framework.name

yarn

job执行框架: local, classic or yarn

true

mapreduce.application.classpath

/opt/soft/hadoop313/etc/hadoop:/opt/soft/hadoop313/share/hadoop/common/lib/*:/opt/soft/hadoop313/share/hadoop/common/*:/opt/soft/hadoop313/share/hadoop/hdfs/*:/opt/soft/hadoop313/share/hadoop/hdfs/lib/*:/opt/soft/hadoop313/share/hadoop/mapreduce/*:/opt/soft/hadoop313/share/hadoop/mapreduce/lib/*:/opt/soft/hadoop313/share/hadoop/yarn/*:/opt/soft/hadoop313/share/hadoop/yarn/lib/*

mapreduce.jobhistory.address

gky181:10020

mapreduce.jobhistory.webapp.address

gky181:19888

mapreduce.map.memory.mb

1024

map阶段的task工作内存

mapreduce.reduce.memory.mb

2048

reduce阶段的task工作内存

⑥yarn-site.xml

[root@gky181 hadoop]# vim yarn-site.xml

yarn.resourcemanager.ha.enabled

true

开启resourcemanager高可用

yarn.resourcemanager.cluster-id

yrcabc

指定yarn集群中的id

yarn.resourcemanager.ha.rm-ids

rm1,rm2

指定resourcemanager的名字

yarn.resourcemanager.hostname.rm1

gky183

设置rm1的名字

yarn.resourcemanager.hostname.rm2

gky184

设置rm2的名字

yarn.resourcemanager.webapp.address.rm1

gky183:8088

yarn.resourcemanager.webapp.address.rm2

gky184:8088

yarn.resourcemanager.zk-address

gky181:2181,gky182:2181,agky183:2181

指定zk集群地址

yarn.nodemanager.aux-services

mapreduce_shuffle

运行mapreduce程序必须配置的附属服务

yarn.nodemanager.local-dirs

/opt/soft/hadoop313/tmpdata/yarn/local

nodemanager本地存储目录

yarn.nodemanager.log-dirs

/opt/soft/hadoop313/tmpdata/yarn/log

nodemanager本地日志目录

yarn.nodemanager.resource.memory-mb

2048

resource进程的工作内存

yarn.nodemanager.resource.cpu-vcores

2

resource工作中所能使用机器的内核数

yarn.scheduler.minimum-allocation-mb

256

yarn.log-aggregation-enable

true

yarn.log-aggregation.retain-seconds

86400

日志保留多少秒

yarn.nodemanager.vmem-check-enabled

false

yarn.application.classpath

/opt/soft/hadoop313/etc/hadoop:/opt/soft/hadoop313/share/hadoop/common/lib/*:/opt/soft/hadoop313/share/hadoop/common/*:/opt/soft/hadoop313/share/hadoop/hdfs/*:/opt/soft/hadoop313/share/hadoop/hdfs/lib/*:/opt/soft/hadoop313/share/hadoop/mapreduce/*:/opt/soft/hadoop313/share/hadoop/mapreduce/lib/*:/opt/soft/hadoop313/share/hadoop/yarn/*:/opt/soft/hadoop313/share/hadoop/yarn/lib/*

yarn.nodemanager.env-whitelist

JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME

2,设置环境变量

[root@gky181 hadoop]# vim /etc/profile

#HADOOP_HOME

export HADOOP_HOME=/opt/soft/hadoop313

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/lib

3,把hadoop313目录和/etc/profile都复制到其他机器上

[root@gky181 hadoop]# cd /opt/soft/

[root@gky181 soft]# scp -r ./hadoop313/ root@gky182:/opt/soft/

[root@gky181 soft]# scp -r ./hadoop313/ root@gky183:/opt/soft/

[root@gky181 soft]# scp -r ./hadoop313/ root@gky184:/opt/soft/

[root@gky181 soft]# scp /etc/profile root@gky182:/etc/

[root@gky181 soft]# scp /etc/profile root@gky183:/etc/

[root@gky181 soft]# scp /etc/profile root@gky184:/etc/

[root@gky184 .ssh]# source /etc/profile 四台机器都需要刷新一下

三:启动集群

集群配置图

gky181gky182gky183gky184NameNodeNameNodeDataNodeDataNodeDataNodeDataNodeNodeManagerNodeManagerNodeManagerNodeManagerResourceManagerResourceManagerJournalNodeJournalNodeJournalNodeDFSZKFConlerDFSZKFConlerzk0zk1zk2JobHistory

启动zk集群

[root@gky181 soft]# cd /opt/shellfile/

[root@gky181 shellfile]# ./zkop.sh start

[root@gky181 shellfile]# ./zkop.sh status

[root@gky181 shellfile]# ./showjps.sh

启动gky181,gky182,gky183的journalnode服务:

[root@gky181 shellfile]# hdfs --daemon start journalnode

[root@gky182 shellfile]# hdfs --daemon start journalnode

[root@gky183 shellfile]# hdfs --daemon start journalnode

目录已创建

若有报错,即杀死进程:[root@gky181 shellfile]# kill -9 13015

在gky181格式化hfds namenode: [root@gky181 shellfile]#hdfs namenode -format

在gky181启动namenode服务: [root@gky181 shellfile]# hdfs --daemon start namenode

在gky182机器上同步namenode信息: [root@gky182 datas]# hdfs namenode -bootstrapStandby

6.在gky182启动namenode服务:[root@gky182 datas]# hdfs --daemon start namenode

查看namenode节点状态:

[root@gky181 shellfile]# hdfs haadmin -getServiceState nn1

[root@gky181 shellfile]# hdfs haadmin -getServiceState nn2

7.关闭所有dfs有关的服务: [root@gky181 soft]# stop-dfs.sh

8.格式化zk : [root@gky181 soft]# hdfs zkfc -formatZK

9.启动dfs: [root@gky181 soft]# start-dfs.sh

10.启动yarn: [root@gky181 soft]# start-yarn.sh

查看resourcemanager节点状态:

[root@gky181 shellfile]# yarn rmadmin -getServiceState rm1

[root@gky181 shellfile]# yarn rmadmin -getServiceState rm2

四:注意点

若中途出现错误,可以关掉所有进程,重新来

[root@gky181 shellfile]# stop-all.sh

[root@gky181 shellfile]# zkServer.sh stop

[root@gky181 shellfile]# zkServer.sh stop

在 三.3 格式化的时候有报错

就直接把每一台机器的/opt/soft/hadoop313/data下面的journaldata这个目录直接删除掉,关闭所有进程,再重新开启来过

好文阅读

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。