软件版本
1.Centos:Centos7
2.jdk:1.8_0-261
3.hadoop:hadoop 3.2.1(!!!!一定要看清版本,我看别人的教程配置因为版本上的问题浪费了很多时间,具体可以查一下)
4.Xshell
5.FileZilla:用于向虚拟机传输文件
1.网络设置
1.1本地设置
首先在网络设置中设置
1.2虚拟网络配置
ok其实这里我们可以根据虚拟网络配置来设置本地网络,就是说根据系统自动给分配的ip去手动分配完事再把ip设置一下(理论上这样可以避免端口占用的问题)。
2.新建一台虚拟机
这里新建的虚拟机最好是min版的完事带有一些兼容性程序的可能会好一些.要不然很多要下载
3.修改hostname
systemctl set-hostname master
名字是随便起的,最好用一些便于管理的
4.修改网卡
vim /etc/sysconfig/network-scripts/ifcfg-ens33
#重启一下网卡
service network restart
静态ip记得和虚拟网络配置的对照起来
配置完之后ipaddr或者ifconfig看一下配置的生效了没
5.连接Xshell和FileZilla(端口默认为22)
这里也是为了更方便的去使用虚拟机,不想用的也可以直接在虚拟机配置
连不上的办法:直接删除虚拟网络配置里面的Vm8完事在创建一个记得去配置一下本地的,这种方法基本上都可以连上的
6.关闭防火墙
6.1查看防火墙的状态
service iptables status
6.2关闭防火墙并且禁止开机启动
systemctl stop firewalld.service
systemctl disable firewalld.service
7.配置时钟同步
yum install ntpdate ntpdate ntp.aliyun.com
8.配置host列表
vi /etc/hosts
我这里搞了两个子节点所以就是这样的
9.安装jdk
9.1最好创建一个路径吧,我是在家目录下创建了相关目录如下:
9.2使用FileZilla把下载好的JDK文件放入java文件夹下并解压
tar -zxvf jdk压缩包
9.3配置环境变量
vim /etc/profile
在文件末尾添加
export JAVA_HOME=/user/local/java/jdk1.8.0_261 ###这里要写你的路径嗷 export PATH=$JAVA_HOME/bin:$PATH
9.4使配置生效
source /etc/profile #看一下jdk版本 java -version javac
10安装hadoop
10.1 基本流程和安装jdk差不多
上传hadoop压缩文件-----》解压
10.2 配置hadoop环境变量
在文件尾添加
export HADOOP_HOME=/usr/hadoop/hadoop-3.2.1 export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
使得hadoop配置生效
source /etc/profile hadoop version whereis hdfs
11.配置hadoop
11.1配置hadoop/etc文件夹下的core-site.xml文件
<configuration> <!--指定文件系统的入口地址,可以为主机名或ip --> <!--端口号默认为8020 --> <property> <name>fs.defaultFS</name> <value>hdfs://master:8020</value> </property> <!--指定hadoop的临时工作存目录--> <property> <name>hadoop.tmp.dir</name> <value>/user/local/hadoop/tmp</value> </property> </configuration>
11.2配置yarn-env.sh文件
将#export JAVA_HOME=/home/.....
修改为你自己的jdk路径(去掉注释符号)
11.3配置hdfs-site.xml文件
<configuration> <!--指定hdfs备份数量,小于等于从节点数目--> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.http.address</name> <value>master:50070</value> </property> </configuration>
11.4配置mapred-site.xml文件
若是没有的话
cp mapred-site.xml.template mapred-site.xml
有的话直接修改
<configuration> <!--hadoop的MapReduce程序运行在YARN上--> <!--默认值为local--> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
11.5配置yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<!--nomenodeManager获取数据的方式是shuffle-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
11.6修改workers文件
以前是slaves文件也不知道从什么版本开始变成workers文件
11.7配置sbin文件夹下的start-dfs.sh、stop-dfs.sh文件
在文件顶部添加:
HDFS_DATANODE_USER=root HDFS_DATANODE_SECURE_USER=hdfs HDFS_NAMENODE_USER=root HDFS_SECONDARYNAMENODE_USER=root
11.8配置sbin文件夹下的start-yarn.sh、stop-yarn.sh文件
在文件顶部添加:
YARN_RESOURCEMANAGER_USER=root HADOOP_SECURE_DN_USER=yarn YARN_NODEMANAGER_USER=root
12.克隆虚拟机
13.配置虚拟机
13.1修改虚拟机的hostname
13.2修改虚拟机的IP地址
13.3看一下hosts文件里面的参数对不对,要不然后面ssh可能不好使
14.配置ssh免密码登录(一定记得在master机上做这些事情)
14.1生成公钥
ssh-keygen -t rsa
14.2发送公钥
cat id_rsa.pub >> authorized_keys chmod 644 authorized_keys systemctl restart sshd.service scp /root/.ssh/authorized_keys slave1:/root/.ssh scp /root/.ssh/authorized_keys slave2:/root/.ssh
14.3登录验证
ssh slave1 exit
15.运行hadoop
15.1格式化HDFS
在master机上,进入hadoop下的bin文件夹,运行以下代码:
hdfs namenode -format
注意:只需格式化一次!多次格式化会导致NameNode和DataNode的集群ID值不匹配,需要在格式化前删除NameNode,DataNode、日志等文件夹。
15.2启动hadoop
进入hadoop中的sbin文件夹下,运行:
start-all.sh
15.3检验jps
jps
16.web访问hadoop
16.1查看NameNode、DataNode:
192.168.198.129:9870---------这里和以前的版本不一样以前默认是50070
16.2查看yarn页面:
192.168.198.129:8088
17.来源
我是根据这个up主的配置然后因为我的版本和他的不一样所以有一些错误挺麻烦的,可以看他的视频用他的版本直接配也可以,前面的网络配置和他差不多一样
https://www.bilibili.com/video/BV1Kg4y1q72s?t=1418