大数据学习02---------Hadoop完全分布式安装

前言:
学习了Hadoop有半年了,一直在配Hadoop分布式,配的次数多了,就会了,但有时还是有人会来问我,现在就写一篇博文来记录一下。
操作系统:CentOS7
机器:虚拟机 3 台, JDK:1.8(jdk-8u162-linux-x64.tar) Hadoop:2.9.2
操作过程:
1、安装jdk:
每台机器安装&配置JDK
创建目录:/usr/java
上传jdk安装包到目录
解压jdk:tar -zxvf jdk-8u162-linux-x64.tar
添加环境变量:vi /etc/profile
在这里插入图片描述
使环境生效:source /etc/profile
检测 jdk 正确安装 java -version
在这里插入图片描述
修改机器名:
hostnamectl set-hostname master (立即生效)
hostnamectl set-hostname slave1 (立即生效)
hostnamectl set-hostname slave2 (立即生效)
修改每台机器/etc/hosts文件
修改其中 1 台,然后 scp 到其它机器
在这里插入图片描述
scp 文件名 远程主机用户名@远程主机名或 ip:存放路径
scp hosts root@192.168.0.102:/etc/
scp hosts root@192.168.0.101:/etc/
修改完之后,互 ping 其它机器,能互 ping 则说明修改 OK
配置ssh。实现无密码登录
无密码登录,效果也就是在 master 上,通过 ssh slave1 或者 ssh slave2 就可以登录对方机器,而不用输入密码。

每台机器执行 ssh-keygen -t rsa,接下来一路回车即可执行
在这里插入图片描述
ssh-keygen -t rsa 主要是生成 密钥 和 密钥的存放路径
在 master 上将公钥放到 authorized_keys 里,命令:cat id_rsa.pub > authorized_keys
将 master 上的 authorized_keys 放到其它机器上
scp authorized_keys root@slave1:~/.ssh/
scp authorized_keys root@slave2:~/.ssh/
测试是否成功:
ssh slave1
ssh slave2
在这里插入图片描述
2、上传&配置 hadoop(配置完 master 后,将/usr/hadoop/整个目录内容 copy 到其它机器)
1、1创建目录 mkdir /usr/hadoop
1、2上传 hadoop 安装包 hadoop-2.9.0.tar.gz 到 /usr/hadoop/ 解 压 tar -xvf hadoop-2.9.0.tar.gz

##HADOOP_HOME 
export HADOOP_HOME=/usr/opts/hadoop-2.9.2 
export PATH=$PATH:$HADOOP_HOME/bin 
export PATH=$PATH:$HADOOP_HOME/sbin 

追加环境变量 vi /etc/profile(其它机器也要相应配置一次 hadoop 环境变量
使环境变量生效 source /etc/profile
确认环境变量配置
创建 HDFS 存储目录
cd /usr/hadoop mkdir hdfs
cd hdfs
mkdir name data tmp
/usr/hadoop/hdfs/name–存储 namenode 文件
/usr/hadoop/hdfs/data–存储数据
在这里插入图片描述
修改/usr/hadoop/hadoop-2.9.0/etc/hadoop/hadoop-env.sh 文件,设置 JAVA_HOME 为实际路径 ,否则启动集群时,会提示路径找不到
在这里插入图片描述
修改/usr/hadoop/hadoop-2.9.0/etc/hadoop/yarn-env.sh 文件,设置 JAVA_HOME 为实际路径
在这里插入图片描述
配 置 /usr/hadoop/hadoop-2.9.0/etc/hadoop/core-site.xml 增 加 hadoop.tmp.dir 和 fs.default.name

<property> 
  <name>hadoop.tmp.dir</name> 
  <value>/usr/hadoop/hdfs/tmp</value> 
</property> 
<property> 
  <name>fs.default.name</name> 
  <value>hdfs://master:9000</value> 
</property> 

配 置 /usr/hadoop/hadoop-2.9.0/etc/hadoop/hdfs-site.xml dfs.replication:默认值 3
dfs.permissions:默认值为 true,设置为 true 有时候会遇到数据因为权限访问不了;设置为 false 可以不要检查权限就生成 dfs 上的文件

<property> 
  <name>dfs.replication</name> 
  <value>3</value> 
</property> 
<property> 
  <name>dfs.name.dir</name> 
  <value>/usr/hadoop/hdfs/name</value> 
</property> 
<property> 
  <name>dfs.data.dir</name> 
  <value>/usr/hadoop/hdfs/data</value> 
</property> 
<property> 
  <name>dfs.permissions</name> 
  <value>false</value> 
</property> 

配 置 /usr/hadoop/hadoop-2.9.0/etc/hadoop/mapred-site.xml cd /usr/hadoop/hadoop-2.9.0/etc/hadoop
cp mapred-site.xml.template mapred-site.xml
mapreduce.framework.name:指定 mapreduce 运行在 yarn 平台,默认为 local

<property> 
  <name>mapreduce.framework.name</name> 
  <value>yarn</value> 
</property> 

配置/usr/hadoop/hadoop-2.9.0/etc/hadoop/yarn-site.xml
yarn.resourcemanager.hostname:指定 yarn 的 resourcemanager 的地址
yarn.nodemanager.aux-services:reducer 获取数据的方式
yarn.nodemanager.vmem-check-enabled:意思是忽略虚拟内存的检查,如果安装在虚拟 机上,这个配置很有用,配上去之后后续操作不容易出问题。如果是在实体机上,并且内存够多,可以将这个配置去掉

<property> 
  <name>yarn.resourcemanager.hostname</name> 
  <value>master</value> 
</property> 
<property> 
  <name>yarn.nodemanager.aux-services</name> 
  <value>mapreduce_shuffle</value> 
</property> 
<property> 
  <name>yarn.nodemanager.vmem-check-enabled</name> 
  <value>false</value> 
</property> 

配置/usr/hadoop/hadoop-2.9.0/etc/hadoop/slaves 文件,将里面的 localhost 删除, 配置后内容如下: 在这里插入图片描述
copy 整个/usr/hadoop/目录到其它机器
scp -r hadoop root@slave1:/usr/
scp -r hadoop root@slave2:/usr/
3、启动之前需要格式化一下。因为 master 是 namenode,slave1 和 slave2 都是 datanode,所以在 master 上运行 ,执行命令:
hadoop namenode -format
在这里插入图片描述
执行启动(namenode 只能在 master 上启动,因为配置在 master 上;datanode 每个节点上都可以启动)
执 行 start-all.sh
在这里插入图片描述
master 上执行 jps,会看到 NameNode, SecondaryNameNode, ResourceManager
在这里插入图片描述
其它节点上执行 jps,会看到 DataNode, NodeManager
在这里插入图片描述
在 wins 上打开网页,查看 HDFS 管理页面 http://192.168.253.136:50070 查看,提示无法访问
在 master 上,执行以下命令关闭防火墙,即可访问(为了能够正常访问 node 节点,最好把其它机器的防火墙也 stop 了)
systemctl stop firewalld.service
在这里插入图片描述
访问Yarn管理页:http://192.168.253.136:8088/
在这里插入图片描述

至此,完毕!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值