linux搭建hadoop环境

一、搭建思路

1. 拥有配置好的Linux操作系统
2. 将hadoop2.7.2.tar.gz 和jdk1.8.0_144.tar.gz
3. 配置jdk和hadoop的环境变量
4. 配置hadoop的相关配置
5. 启动并且访问web页面

6.安装遇到的问题和解决方法在本篇文章结尾处说明

二、环境说明

1. 物理机win10系统
2. 虚拟机LinuxCentOS6.10
3. Hadoop版本 hadoop2.7.2
4.jdk版本 jdk1.8.0_144

三、搭建步骤

1.修改hosts文件

(1)命令:vim /etc/hosts 添加内容
(2)说明:192.168.xx.xxx是主机IP(ifconfig查看本机IP) hadoop101是主机名

 192.168.xx.xxx hadoop101

(2)修改主机名,将HOSTNME的值改为hadoop101,与hosts文件的主机名映射一样

vim /etc/sysconfig/network

在这里插入图片描述
(3)关闭防火墙,这里设置为永久关闭

chkconfig iptables off

(4)重启虚拟机

reboot

2.上传文件压缩包

(1)这里有很多方法,比如建立物理机与虚拟机共享文件夹
或者直接yum install -y lszrz, 也可以使用其他远程连接工具,比如 CRT,Xshell等。总之就是将hadoop2.7.2.tar.gz和jdk1.8.0_144.tar.gz在物理机导入Linux中放入/opt/software(我存所有tar.gz的目录)
上传好的两个压缩包

3.解压

  1. 解压hadoop2.7.2.tar.gz (/opt/module这是解压到的目录必须提前创建好)
  2. 执行命令:tar -zxvf hadoop2.7.2.tar.gz -C /opt/module
  3. 解压jdk1.8.0_144.tar.gz
  4. 执行命令:jdk1.8.0_144.tar.gz -C /opt/module
  5. -C 字母c是大写 意思是解压到非当前目录
    解压好的两个包

4.配置环境变量

1.命令:vim /etc/profile 在文件末尾添加
添加内容

##JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
##HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

2.说明:JAVA_HOME=/opt/module/jdk1.8.0_144
(1)export 声明为全局变量
(2)JAVA_HOME = 解压后的jdk路径
(3)PATH= P A T H : PATH: PATH:JAVA_HOME/bin 配置到bin目录下面的可执行命令
(4)hadoop的以此类推,意思一样

3. source /etc/profile 使修改后的文件生效
4.java -version查看是否配置好java的环境变量

5.配置Hadoop的相关配置

  1. 以下要配置的文件都在hadoop的解压目录下的etc/hadoop目录下。如果之前跟我一样,那么现在路径应该/opt/module/hadoop-2.7.2/etc/hadoop。此时位置在/opt/module/hadoop-2.7.2/
  2. vim etc/hadoop/core-site.xml在configuration标签里添加代码后保存
<!-- 指定HDFS中NameNode的地址 -->
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://hadoop101:9000</value>
        </property>

        <!-- 指定hadoop运行时产生文件的存储目录 -->
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/opt/module/hadoop-2.7.2/data/tmp</value>
        </property>

3.vim etc/hadoop/hadoop.env.sh
找到原有的JAVA_HOME = ???
修改为jdk的解压路径后保存
在这里插入图片描述
4.vim etc/hadoop/ hdfs-site.xml 在configuration标签里添加元素后保存

<!-- 指定副本数量 -->
<property>
  <name>dfs.replication</name>
  <value>3</value>
</property>

5.vim etc/hadoop/yarn-site.xml 在configuration标签里添加元素后保存

<!-- reducer获取数据的方式 -->
<property>
 <name>yarn.nodemanager.aux-services</name>
 <value>mapreduce_shuffle</value>
</property>

<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop101</value>
</property>

<property>  
    <name>yarn.log-aggregation-enable</name>  
    <value>true</value>  
</property>

6.vim etc/hadoop/yarn-env.sh 添加jdk的解压路径 并将原有的#去掉
在这里插入图片描述
7.vim etc/hadoop/mapred.en.sh 添加jdk的解压路径 并将原有的#去掉
在这里插入图片描述
8.将mapred-site.xml.template 改名为mapred-site.xml并添加内容

       <!-- 指定mr运行在yarn上 -->
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
        <property>
          <name>mapreduce.jobhistory.address</name>
          <value>hadoop101:10020</value>
        </property>
        <property>
          <name>mapreduce.jobhistory.webapp.address</name>
          <value>hadoop101:19888</value>      
        </property>

至此所有相关配置已经完成

四、格式化Namenode

在这里插入图片描述

bin/hdfs namenode -format

只需要格式化一次 以后启动一定不要格式化

五、启动进程

一定要在此路径下才会有tab键的提示
此路径才会找到sbin
HDFS进程,需要等待几秒后,每启动换一个进程就jps查看,如果没有启动就去文章末尾看解决办法
(1)先启动namenode

sbin/hadoop-daemon.sh start namenode

(2)启动datanode

sbin/hadoop-daemon.sh start datanode

yarn进程
(3)启动yarn的resourcemanager

sbin/yarn-daemon.sh start resourcemanager

(4) 启动nodemanager

sbin/yarn-daemon.sh start nodemanager

(5)启动历史服务,日志查看进程

mr-jobhistory-daemon.sh start historyserver

(6)查看当前运行在jvm上的进程

jps

在这里插入图片描述
(7)启动方式还有群起脚本,如果执行上述启动命令,以下两个命令不需要执行,如果使用这个脚本启动需要ssh免密 ,详见https://blog.csdn.net/qq_44719527/article/details/104670797
1)启动HDFS

sbin/start-dfs.sh 

2)启动Yarn

sbin/start-yarn.sh

六、访问web端页面

(1)访问HDFS

http://主机IP:50070/

在这里插入图片描述
(1)访问yarn

http://主机IP:8088/

在这里插入图片描述

七,常见的问题

(1)namenode无法启动:
1)查看hosts文件的ip 与主机名是否对应,ip有没有改动过
2)配置完主机名后是否重启
3)如果是格式化多次或进程未停止就格式化会导致 data/tmp/dfs/name/current 和data/tmp/dfs/data current下的 VERSION里面的clusterID不同
需要删除 data 和logs两个目录 再次格式化或手动修改
4)检查环境变量是否配置成功
5)检查刚才的配置文件哪里出错。。。。
(2)dataname无法启动:
1)如果是格式化多次会或进程未停止就格式化导致 data/tmp/dfs/name/current 和data/tmp/dfs/data current下的 VERSION里面的clusterID不同
需要删除 data 和logs两个目录 再次格式化或手动修改
2)检查配置文件是否出错
3)查看日志拍错

(2)浏览器访问不到页面
1)打开网络或共享中心------>更改适配器选项。查看这两项是否开启,若没有将两项开启
在这里插入图片描述
(2)Linux的防火墙是否已经关闭,关闭后是否重启。。。
(3) 打开 cmd 窗口 ping Linux的ip
例如:ping 192.168.xx.xxx

写作不易,如果对您有所帮助,请给一个小小的赞,您的点赞是对我莫大的支持和鼓励,谢谢!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值