centos7 hadoop2.7.7 分布式环境搭建
Posted wsyzyyzy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos7 hadoop2.7.7 分布式环境搭建相关的知识,希望对你有一定的参考价值。
一、安装准备(完整版带图片的 找 3208006642@qq.com)
1.IP配置
打开终端输入ifconfig查看网卡配置名字为 ens33 所以为 本机为ifcfg-ens33(各个版本系统的名字不一样)
在ROOT下通过vim /etc/sysconfig/network-scripts/ifcfg-ens33进入界面
再通过 I 进行文件修改
将BOOTROTO 修改为 static (静态获取ip)
再添加网关,子网掩码,和dns解析服务器(有没有都行)和静态ip
在vmware 的查看 网关等具体信息
修改完之后
修改完之后 按Esc 退出编辑模式
最后输入: 再输入wq进行保存退出,
输入service network restart对网络服务重启或者 reboot 进行重启
再次输入vim /etc/sysconfig/network-scripts/ifcfg-ens32可看到IP已改为静态了
2.配置主机名
在终端界面输入vim /etc/sysconfig/network
增加两行
NETWORKING=yes
HOSTNAME=hadoop1(主机名,本机为hadoop1)
修改完之后 按Esc 退出编辑模式修改完之后
最后输入:(冒号) 再输入wq进行保存退出
在终端界面输入 vim /etc/hostname
将里面清空输入自己的主机名(本机为 hadoop1)
3.主机映射
终端输入 vim /etc/hosts
将里面修改为
Ip 与 主机名相对应
剩下两台ip便于记忆都是末位+1
(所以需要静态ip保证ip与主机名映射)
4 关闭防火墙(contos 7)systemctl stop firewalld systemctl disable firewalld
5.为hadoop用户添加sudoers权限(每个节点的用户名必须相同,密码也要相同)
添加sudoers权限
终端输入
添加本机用户(本机为 yzy)
因为是只读文件 退出需要加! 输入 :wq! 保存退出
6.安装jdk
(1) 下载好的JDK包(可以直接从win10桌面拖拽到虚拟机里面
确保文件是完整的 右下方可以看到文件大小与原文件差不多)
放到新创建的hadoop文件夹里
安装之前需要先将自带的open jdk 删除
(2)解压 jdk
需要先在终端里 进入压缩包目录
终端输入 tar -zxvf jdk-8u221-linux-x64.tar.gz(jdk-8u221-linux-x64.tar.gz 为压缩包名字 本机为jdk-8u221-linux-x64.tar.gz)
(3)配置环境变量
进入root下输入 vim /etc/profile
输入指令
export JAVA_HOME=/home/yzy/hadoop/jdk1.8.0_221 (为jdk的路径) (yzy为本机用户不能少 )
export PATH=$JAVA_HOME/bin:$PATH
exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
(4)检查jdk安装成功
终端输入 source /etc/profile
激活环境
然后输入 java -version 进行检查
8.各节点时间同步
1)不能联网的情况下:
手动指定 date –s 时间
2)能联网的情况下:
找一个公网中公用的时间服务器 ntpdate 公网时间服务器地址
ntpdate ntp1.aliyun.com
(本机时间同步不需要进行此步)
二.安装hadoop-2.7.7
1.上传安装包(注意 同jdk安装)
2.解压 tar -zvxf hadoop-2.7.7.tar.gz(先进入路径目录)
解压完成
3.配置环境变量
输入 sudo vi /etc/profile
最后添加
export HADOOP_HOME=/home/yzy/Hadoop/hadoop-2.7.7
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
终端输入 source /etc/profile
激活环境
4.修改文件(6个文件均在同一目录下)
进入 hadoop-2.7.7/etc/hadoop
(1)找到 hadoop-env.sh文件
在最后一行添加 export JAVA_HOME=/home/yzy/hadoop/jdk1.8.0_221
进入 hadoop2.7.7/etc/Hadoop
(2)找到 core-site.xml文件
添加
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop01:9000</value>
<description>hdfs的主节点</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoopdata</value> //一定要配置在有限权的目录下
<description>存放临时文件的目录</description>(可删除)
</property>
同一目录 hadoop2.7.7/etc/Hadoop
(3)找到 hdfs-site.xml文件
添加
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/yzy/Hadoop/hadoopdata/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/yzy/Hadoop/hadoopdata/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.secondary.http.address</name>
<value>hadoop2:50090</value>
</property>
</configuration>
(4)修改yarn-site.xml文件
修改为
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop1</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
(5)修改mapred-site.xml文件
修改为
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
(6)修改slaves文件
修改为
hadoop1
hadoop2
hadoop3
~
5.克隆虚拟机
首先将之前的虚拟机进行关机(可先保存快照避免关机损坏问题)
等待克隆完成
需要几个重复几次
本次我的任务要求为3台,只需要克隆两次就好
分别命名为 hadoop1,hadoop2,hadoop3
需要分别进入两个虚拟机 修改ip和主机名
回到上面步骤进行修改 (注意主机名和ip应该与hosts文件中的映射相对应)
6. ssh 免密登录(每台机器都要执行一遍)
(1)先切换到普通用户: 输入su yzy(用户名)
(2)生成秘钥 ssh-keygen
(3)发送秘钥(公钥)
输入 ssh-copy-id hadoop1 (主机名) (这是发送给自己本身)
(hadoop2/hadoop3)
各个节点相互之间都发送公钥(远程登录或者发送 其他虚拟机要同时开启)
远程登录本机
输入 ssh hadoop1
7.进行格式化
(必须在namenode的节点操作)
(不要多次初始化 ,否则 参考 DATANODE没有出现
https://blog.csdn.net/chen_xsi/article/details/82717727 )
本机为hadoop1
输入 hadoopnamenode -format
8.启动
启动集群(三台机器都要开启)
(1)启动hdfs
输入 start-dfs.sh 可以在任意节点执行
用jps命令查看进程
(2)启动yarn (在yarn的主节点执行)
输入 start-yarn.sh
jps查看各节点的进程
9.网页访问
hdfs hadoop01:50070
yarn hadoop01:8088
10.关闭
(1)关闭yarn
stop-yarn.sh
(2)关闭hdfs
stop-dfs.sh
以上是关于centos7 hadoop2.7.7 分布式环境搭建的主要内容,如果未能解决你的问题,请参考以下文章
CentOS7上Hadoop2.7.7集群部署hive3+Tez0.9.1