学习资料:链接: https://pan.baidu.com/s/1MPyWSkCh4t-2nedcjdiiUg?pwd=0313 提取码: 0313
目录
Hadoop 集群部署 jdk的安装
基础环境配置
步骤1:修改主机名
使用hostnamectl set-hostname 命令
hostnamectl set-hostname master
然后在使用使用bash生效
bash
步骤2:查看三台机器的ip
ip a
步骤3: 主机映射
将步骤二的查看的ip添加到/etc/hosts中,并给一个名字,具体如 图
vi /etc/hosts
防火墙
步骤一:关闭防火墙(三台都要关闭)
systemctl stop firewalld.service
步骤二:关闭防火墙自启
systemctl disable firewalld.service
步骤三:查看防火墙状态
systemctl status firewalld.service
ssh 免密
步骤一:创建免密(master)
一直回车(ENTER)
ssh-keygen -t rsa
步骤二:互信配置(在master主机上创建免密)
[root@master ~]# ssh-copy-id master
[root@master ~]# ssh-copy-id node1
[root@master ~]# ssh-copy-id node2
步骤三:登陆测试
ssh node1
exit #登出
Hadoop 集群部署 jdk安装
步骤一:创建安装包的目录(#号不要复制)
# cd /opt
mkdir software module #这里创建了两个文件夹 一个module 一个software
步骤二:解压安装包(-C 解压到指定的文件夹)
# tar -zxvf /opt/software/hadoop-3.1.3.tar.gz -C /opt/module/
# tar -zxvf /opt/software/jdk-8u212-linux-x64.tar.gz -C /opt/module/
步骤三:配置环境变量
# vi /etc/profile
# 添加如下内容
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin
步骤四:生效环境变量
# source /etc/profile
步骤五:查看java和hadoop
# java -version
# whereis hdfs
集群配置
步骤一:进入到hadoop配置文件的目录下
cd /opt/module/hadoop-3.1.3/etc/hadoop/
步骤二:配置hadoop-env.sh
# vi hadoop-env.sh
#添加如下配置
export JAVA_HOME=/opt/module/jdk1.8.0_212
步骤三:配置core-site.xml
# vi core-site.xml
#添加如下配置
<configuration>
<property><!--文件系统主机和端口-->
<name>fs.defaultFS</name>
<value>hdfs://master:8020</value>
</property>
<property><!--临时文件夹存放位置-->
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.7/data</value>
</property>
<property>
步骤四:配置hdfs-site.xml
# vi hdfs-site.xml
#添加如下配置
<configuration>
<property># 配置缺省的块复制的数量
<name>dfs.replication</name>
<value>2</value>
</property>
<property># 定义HDFS对应的HTTP服务器地址端口
<name>dfs.namenode.http-address</name>
<value>master:9870</value>
</property>
<property># 定义HDFS对应的HTTP服务器地址端口(备用的)
<name>dfs.namenode.secondary.http-address</name>
<value>master:9868</value>
</property>
步骤五:配置mapred-site.xml(hadoop2.多版本还保留后缀.template )
# vi mapred-site.xml
#添加如下配置
<configuration>
<property># 取值 local、classic 或yarn 其中之一,如果不是yarn,则不会使用 YARN 集群来实现资源的分配
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
步骤六:配置yarn-site.xml
vi yarn-site.xml
#添加如下配置
<configuration>
<property># 并且集群中的所有节点都能通过这个master主机名访问到 ResourceManager
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property># MapReduce _Shuffle 服务是 Hadoop MapReduce 框架中负责处理 Map 任务输出并将其传递给 Reduce 任务的关键过程。
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
步骤七:配置slaves (datanode 节点分布)
vi slaves
#添加如下配置只需要添加后两台从机就可以了 主机就是localhost不需要添加 如没有 则需要 它自己的名称
主从节点文件的分发
步骤一:分发apps目录 刚刚配好的jdk Hadoop
# scp -r /opt/module @slave1:/opt/
# scp -r /opt/module @slave2:/opt/
步骤二:分发环境配置
# scp /etc/profile @slave1:/etc/
# scp /etc/profile @slave2:/etc/
步骤三:生效环境配置(三台)
# source /etc/profile
Hadoop 集群启动测试
实验任务一:hadoop启动
步骤一:格式化元数据
# hdfs namenode -format
状态为0显示的是成功
启动全部节点
start-all.sh
步骤二:启动hdfs
start-dfs.sh
步骤三:启动yarn
# start-yarn.sh
jps # hadoop 的查看
hadoop 到这已经搭建完了,剩下的是测试
全部启动
# start-all.sh
退出安全模式
#hdfs dfsadmin -safemode leave
测试
# cd /opt/module/hadoop/share/hadoop/mapreduce/
# 计算圆周率 后面数字可以修改
# hadoop jar hadoop-mapreduce-examples-2.6.0.jar pi 10 10
结果
# Estimated value of Pi is 3.20000000000000000000
查看 HDFS 的报告
hdfs dfsadmin -report
注意:
1.格式化时要是说没有logs文件,则表示权限不够 执行该命令
chmod 777 /opt/module/hadoop-3.2.1/logs
2.在使用start-all.sh时可能会报:
“ERROR: Attempting to operate on yarn resourcemanager as root”的错误
在/etc/profile中添加:
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
生效命令:source /etc/profile后就好了
以上是我在学习中遇到的问题 及步骤 希望对你们有帮助 , 加油 扫年 。