Hadoop配置手册1
Date: September 25, 2022
第1章 hadoop环境搭建
1.1 安装Vmware软件
下载地址:https://www.onlinedown.net/soft/45831.htm
1.运行安装程序,并连续点击下一步安装
1.输入密钥,启动程序
详细参考:https://blog.csdn.net/weixin_45014379/article/details/126102088
1.2 引入CentOS镜像
前言:
这里开始安装虚拟机,为节省硬盘容量和减轻电脑运算负担,这里采用Linux的最小化安装方式,即命令行版本
1.2.1 新建虚拟机
1.选择自定义
1.选额Cent OS 7
1.安装虚拟机位置
1.处理器配置
1.指定磁盘容量
1.指定磁盘文件配置
1.2.2 编辑虚拟网络编辑器
前言:
这里其实默认配置就好,若未来有网络配置问题,则需要对此处进行修改。
1.编辑虚拟网络编辑器
1.设置NAT模式
1.检测网关IP是否冲突
1.检测DHCP是否有IP冲突问题
1.2.3 同步物理机IPv4地址
对虚拟机的网络配置完成之后,需要对物理机的IPv4进行同步
1.对VMnet8进行网络配置属性
1.同步IP地址
1.2.4 正式安装CentOS7系统
安装之前,手动配置一下CD,即手动使用映像文件
1.选择英文,防止以后系统出现未知错误
1.基础配置
1.2.5 配置CentOS
准备工作:
安装vim编辑器
yum install vim
配置网络:
1.找到并编辑 ifcfg-ens33 文件
因为要静态IP,更方便管理,所以这里BOOTPROTO设置成static
1.重启,以更新配置,并检查网卡
vim /etc/sysconfig/network-scripts/ifcfg-ens33 IPADDR=192.168.8.130 GATEWAY=192.168.8.2 DNS1=8.8.8.8 DNS2=8.8.4.4
service network restart
lo是回环地址,它是一个软件实现回环
ens33是配置的网卡,我们需要查看其中的 inet是否是自己所配置的,若是就可
然后我们可以尝试用ping来ping一下百度,查看网络是否通畅
注意:这里用 ctrl+c 来停止ping
补充:这里我们需要下载一个网络工具以检查网络
yum install net-tools
关闭防火墙
分布式集群中,各个节点之间的通信会受到防火墙的阻碍,因此关闭防火墙
systemctl stop firewalld.service
禁止防火墙开机启动
systemctl disable firewalld.service
若出现网络问题,查看网络配置文件是否错误
vi /etc/sysconfig/network-scripts/ifcfg-ens33
1.2.6 基础环境配置
配置时钟同步
在线安装 ntpdate,使用阿里云 ntp 服务器同步时间,date 命令查看当前时间
yum install ntpdate ntpdate ntp.aliyun.com date
配置主机名
作用:
在网络中能够唯一标识主机,让我们能够通过ip 地址和网络主机名访问这台主机
修改主机名:
hostnamectl set-hostname master
查看修改后的主机名:
hostname
配置hosts列表
hosts 列表作用是让集群中的每台服务器彼此都知道对方的主机名和 ip 地址
vim /etc/hosts
验证,ping ip 地址和主机名,结果相同无区别
ping 192.168.253.5 ping master
1.2.7 连接powershell
方便未来cv,节省操作时间
如果连接不上powershell:
解决方案:
方案1:
1.修改ip地址
虚拟网络编辑:
这里的ip最好给DHCP分配范围内的
物理机中的VMnet8修改一下IP地址:
2.虚拟机同步配置
具体过程见上面配置centos中的配置网络一块
1.配置主从机
vim /etc/hosts
解决方案2:
在VMnet8中采用自动获取IP地址,解决问题
采用如上方式,成功解决了虚拟机与物理机ip地址冲突的问题
常用知识:查看虚拟机和物理机的ip地址
虚拟机:
ifconfig 检查虚拟机的ip
物理机:
可以用在管理员权限下cmd中输入ipconfig找WLAN开头的ipv4,也可以直接找设置中的网络和Internet中的查看网络属性
1.3 安装Java
1.安装Java
yum install java-1.8.0-openjdk yum install java-1.8.0-openjdk-devel
1.找到Java路径, 一般在如下位置, 记住这个路径
[root@master lib]# cd /usr/lib/jvm [root@master jvm]# cd java [root@master java]# pwd /usr/lib/jvm/java
1.配置profile文件
vim /etc/profile
1.文末添加如下两行, 方便其他软件读java的home环境
export JAVA_HOME=/usr/lib/jvm/java export PATH=$JAVA_HOME/bin:$PATH
使配置生效
source /etc/profile
1.4 安装Hadoop
1.选择使用阿里云的网址下载Hadoop
https://mirrors.aliyun.com/apache/hadoop/common/hadoop-2.10.1/?spm=a2c6h.25603864.0.0.433f3a2cRJPZLj
1.解压后可得如下文件
1.使用xftp连接虚拟机
然后将hadoop的压缩包转移到/usr/hadoop中
1.虚拟机中解压缩包
解压压缩包:
tar -zxvf hadoop-2.10.1
hadoop文件路径
/usr/hadoop/hadoop-2.10.1
配置/etc/profile文件,文末加上如下两行
注意一下这里的版本号为2.10.1
export HADOOP_HOME=/usr/hadoop/hadoop-2.10.1 export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
保存出来,source /etc/profile让文件生效
然后,我们用 hadoop version验证一下是否配置成功即可
1.将hadoop与java绑定
cd /usr/hadoop/ cd hadoop-2.10.1/ cd etc/ cd hadoop/ vim hadoop-env.sh export JAVA_HOME=/usr/lib/jvm/java
1.Hadoop核心文件配置
进入 hadoop 的 etc 文件夹, vim 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>/usr/hadoop/tmp</value> </property> </configuration>
配置 yarn-env.sh 文件,vim yarn-env.sh
# export JAVA_HOME=/home/y/libexec/jdk1.6.0/
修改为:
export JAVA_HOME=/usr/java/jdk1.8.0_241
配置 hdfs-site.xml 文件,新增以下内容:
<configuration> <!--指定hdfs备份数量,小于等于从节点数目--> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.namenode.http.address</name> <value>master:50070</value> </property> <!-- 自定义hdfs中namenode的存储位置--> <!-- <property>--> <!-- <name>dfs.namenode.name.dir</name>--> <!-- <value>file:/usr/hadoop/dfs/name</value>--> <!-- </property>--> <!-- 自定义hdfs中datanode的存储位置--> <!-- <property>--> <!-- <name>dfs.datanode.data.dir</name>--> <!-- <value>file:/usr/hadoop/dfs/data</value>--> <!--</property>--> </configuration>
配置 mapred-site.xml 文件,通过 cp 命令生成不带后缀 template 的文件
cp mapred-site.xml.template mapred-site.xml
编辑 mapred-site.xml 文件,新增以下内容:
<configuration> <!--hadoop的MapReduce程序运行在YARN上--> <!--默认值为local--> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
配置 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>
编辑 slaves 文件,vim slaves,修改成如下
slave1 slave2
1.克隆虚拟机
1.配置SSH公钥
生成公钥私钥
在 master 和每台 slave 上,采用 rsa 算法产生公钥和私钥
ssh-keygen -t rsa
查看生成的私钥 id_rsa 和公钥 id_rsa.pub
cd /root/.ssh/ ls
发送公钥
在 master 上创建一个大家通用的公钥 authorized_keys,修改 authorized_keys 权限,并将这个公钥发送给每个 slave
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 scp /root/.ssh/authorized_keys slave3:/root/.ssh
具体配置过程如下:
1.验证SSH
ssh 登录检验,测试是否可以在主机ssh其他从机,且不用输入密码
ssh master ssh slave1 exit ssh slave2 exit ssh slave3 exit
第2章 测试Hadoop安装
2.1 测试Hadoop实验
1.格式化HDFS
[root@master ~]# cd /usr/hadoop/ [root@master hadoop]# cd hadoop-2.10.1/ [root@master hadoop-2.10.1]# cd bin/ [root@master bin]# hdfs namenode -format
注意:格式化仅需进行一次
1.启动hadoop
[root@master ~]# cd /usr/hadoop/ [root@master hadoop]# cd hadoop-2.10.1/ [root@master hadoop-2.10.1]# cd bin/ [root@master bin]# hdfs namenode -format
1.查看hadoop进程
jps //我个人的显示如下 [root@master sbin]# jps 1440 NameNode 3348 Jps 1768 ResourceManager 1628 SecondaryNameNode
1.通过web端访问hadoop
查看 YARN 界面:http://192.168.8.130:8088/
查看 NameNode、DataNode:http://192.168.8.130:50070/
查看 SecondaryNameNode :http://192.168.8.130:50090/