本次使用3台服务器进行安装Hadoop。其中服务器系统均为Centos7.6、Hadoop版本为3.3.6、jdk版本为1.8.0_371。
################################################################################################
此外,大数据系列教程还在持续的更新中(包括跑一些实例、安装数据库、spark、mapreduce、hive等),欢迎大家关注我
为了使主机间通信更为方便,同时为了更好辨别各个主机,我们先将主机进行更名。
查看主机名cat /etc/hostname
如果发现需要修改主机名,则使用 hostnamectl set-hostname
主机名,修改完成后重新登陆即可实现修改,这里分别将主机名改为Hadoop01、Hadoop02、Hadoop03。
修改hosts表vim /etc/hosts
新增(根据自身机器情况分别填入3个虚拟机的ip及对应名称)
192.168.10.150 hadoop01
192.168.10.151 hadoop02
临时关闭防火墙systemctl stop firewalld.service
禁止防火墙开机自启动systemctl disable firewalld.service
设置ssh 公钥 私钥免密登录
在三台主机(hadoop01、hadoop02、hadoop03)上,分别输入以下命令:
ssh-keygen -t rsa
//向各个虚拟机拷贝公钥(拷贝时,要输入主机密码)
ssh-copy-id hadoop01
ssh-copy-id hadoop02
ssh-copy-id hadoop03
服务器时间同步
安装 ntpyum -y install ntp
同步时间,这里以阿里云3号服务器为例ntpdate ntp3.aliyun.com
创建统一工作目录(分别为服务、数据、软件,三台主机都要创建)
mkdir -p /export/server/
mkdir -p /export/data/
mkdir -p /export/software/
本次选用jdk-8u371的版本。下载地址
https://www.oracle.com/java/technologies/oracle-java-archive-downloads.html
将软件上传至/export/server/路径下,解压缩并删除原安装包。
解压命令:tar -zxvf jdk-8u371-linux-x64.tar.gz
修改配置文件/etc/profile,配置环境变量
输入命令:vim /etc/profile
快捷键G o跳转文件最后一行,写入以下配置文件(具体路径根据自身机器情况修改):
export JAVA_HOME=/export/server/jdk1.8.0_371
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
保存后重新加载配置source /etc/profile
输入java -version
测试是否成功(若出现java版本则为配置成功)
文件拷贝与环境变量拷贝
scp -r /export/server/jdk1.8.0_371/ root@hadoop02:/export/server/
scp -r /export/server/jdk1.8.0_371/ root@hadoop03:/export/server/
scp /etc/profile root@hadoop02: /etc/
scp /etc/profile root@hadoop03: /etc/
输入命令重新加载配置:source /etc/profile
输入java -version
测试是否成功(若出现java版本则为配置成功)
本次选用3.3.6的版本。下载地址
Apache Hadoop
将软件上传至/export/server/路径下,解压缩并删除原安装包。
解压命令:tar -zxvf hadoop-3.3.6.tar.gz
文件1 路径/export/server/hadoop-3.3.6/etc/Hadoop/hadoop-env.sh
文件尾部添加
export JAVA_HOME=/export/server/jdk1.8.0_371
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
#注意将jdk目录改为实际目录
文件2 路径/export/server/hadoop-3.3.6/etc/Hadoop/core-site.xml
将以下配置文件复制到
之间
fs.defaultFS
hdfs://hadoop01:8020
hadoop.tmp.dir
/export/data/hadoop-3.3.6
hadoop.http.staticuser.user
root
hadoop.proxyuser.root.hosts
*
hadoop.proxyuser.root.groups
*
fs.trash.interval
1440
文件3 路径/export/server/hadoop-3.3.6/etc/Hadoop/hdfs-site.xml
将以下配置文件复制到
之间
dfs.namenode.secondary.http-address
hadoop02:9868
文件4 路径/export/server/hadoop-3.3.6/etc/Hadoop/mapred-site.xml
将以下配置文件复制到
之间
mapreduce.framework.name
yarn
mapreduce.jobhistory.address
hadoop01:10020
mapreduce.jobhistory.webapp.address
hadoop01:19888
yarn.app.mapreduce.am.env
HADOOP_MAPRED_HOME=${HADOOP_HOME}
mapreduce.map.env
HADOOP_MAPRED_HOME=${HADOOP_HOME}
mapreduce.reduce.env
HADOOP_MAPRED_HOME=${HADOOP_HOME}
文件5 路径/export/server/hadoop-3.3.6/etc/Hadoop/yarn-site.xml
将以下配置文件复制到
之间
yarn.resourcemanager.hostname
hadoop02
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.nodemanager.pmem-check-enabled
false
yarn.nodemanager.vmem-check-enabled
false
yarn.log-aggregation-enable
true
yarn.log.server.url
http://hadoop02:19888/jobhistory/logs
yarn.log-aggregation.retain-seconds
604800
文件6 路径/export/server/hadoop-3.3.6/etc/Hadoop/workers
将以下配置文件复制到文件中(该步骤为告诉机器hadoop工作的各个虚拟机)
hadoop01
hadoop02
hadoop03
将hadoop添加到环境变量中
输入命令vim /etc/profile
#文件尾部添加以下内容
export HADOOP_HOME=/export/server/hadoop-3.3.6
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
保存之后输入命令source /etc/profile
配置文件部分完成
配置文件拷贝与环境变量拷贝
scp -r /export/server/hadoop-3.3.6 root@hadoop02:/export/server/
scp -r /export/server/hadoop-3.3.6 root@hadoop03:/export/server/
scp /etc/profile root@hadoop02: /etc/
scp /etc/profile root@hadoop03: /etc/
在其他的两台机器上输入命令source /etc/profile
之后,输入hadoop
测试hadoop安装是否正常。