Hadoop伪分布式配置

所需工具环境

本教程所用的是centos6.5+hadoop2.7.2+jdk1.8。

一、 准备Linux系统

(1)网络设置NAT模式
选择虚拟机->设置->网络适配器->网络适配器->网络连接模式->NAT模式
(2)虚拟网络编辑器
编辑虚拟网络编辑器更改设置
将子网IP和子网掩码设置如下,点击NAT设置,网关设置如下:

(2)设置静态IP
(2) vi /etc/udev/rules.d/70-persistent-net.rules
如果有多行"eth*“把前面的几行都注释掉,只留最后一行,并把最后一行的"eth*“修改为"eth0”
复制 第一个ATTR{address}==“00:0c:29:e1:2f:96” 中的"00:0c:29:e1:2f:96”,不同机器,该数字不同。

(3)vi /etc/sysconfig/network-script/ifcfg-eth0

修改: HDDR=刚才复制的数字
BOOTPROTO=static
ONBOOT = yes
添加:
IPADDR = 192.168.30.101 #如果是完全分布式,每台虚拟机IPDDR的值都
#不相同,如192.168.30.101、192.168.30.102、192.168.30.103 等
GATEWAY = 192.168.30.2
DNS1=8.8.8.8

命令 service network restart 重启网络,使上面的设置生效
ping www.baidu.com 可测试固定IP设置是否有效

查看IP地址 命令:ifconfig

Ctrl+C 退出
(3)修改主机名字hostname
命令 hostname 查看主机名字

vi /etc/sysconfig/network
修改hostname=hadoop101
保存退出:
先按esc键,保存退出命令 :wq
不保存退出命令 :q!
重启系统:reboot 命令,上面设置生效

4.关闭防火墙
(1)永久性生效,重启后不会复原
开启: chkconfig iptables on
关闭: chkconfig iptables off
(2)即时生效,重启后复原
开启: service iptables start
关闭: service iptables stop
永久关闭防火墙,并reboot重启系统,然后用service iptables status查看防火墙的运行状态

  1. 修改系统的hosts文件 使IP与主机名对应
    vi /etc/hosts
    192.168.30.101 hadoop101

修改完成后reboot重启系统,然后用hostname主机名是否修改成功

二、安装Jdk

准备工作: 在/opt文件夹下使用创建两个文件夹

    cd   /opt
    mkdir module   # module存放解压后文件
    mkdir source    # source 存放原文件

jdk原文件获取:
方法1:从网上下载;方法2:把一下载的文件上传到本虚拟机:
1.把Windows中的jdk上传Linux系统
先安装rz工具
yum install lrzsz
然后使用rz 工具即可把Windows中的jdk上传Linux系统的/opt/source中
2. 解压缩jdk
(1) tar -zxvf jdk-8u201-linux-i586.tar.gz_AuthParam
(2)通过ls命令查看文件 有个jdk1.8.0_201的文件夹,该文件夹就是上面jdk包解压后的文件夹
(3)修改该文件夹的名字为jdk1.8

 mv  jdk1.8.0_201  jdk1.8

(4)把jdk1.8移到module文件夹下 当前jdk1.8在source文件夹下

  mv  jdk1.8  ../module

3.配置环境
(1)
修改/etc/profile文件
如果你的计算机仅仅作为开发者使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题。

vi  /etc/profile 

在profile文件末尾加入:

export PATH
export JAVA_HOME=/opt/module/jdk1.8
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH

然后执行

source /etc/profile  #使配置立即生效

查看jdk是否按照正确使用命令:
java -version #查看java版本号
如果出现:ava version “1.8.0_201” 则说明jdk安装成功

三、安装hadoop

1.把hadoop-2.7.2 利用rz命令上传到hadoop101系统的/opt /source
文件夹下
(1)cd /opt /source #转到source目录
(2)利用rz工具从windows系统中把hadoop-2.7.2上传到hadoop101系统。

2.解压hadoop-2.7.2.tar压缩包

 tar  -zxvf hadoop-2.7.2.tar
  1. 把解压出来的hadoop-2.7.2文件夹移到/opt/module文件夹下
    4.配置hadoop环境变量
    1>修改hadoop-env.sh
    打开 hadoop-2.7.2的解压文件中的etc/hadoop/hadoop-env.sh中配置
     vi /opt/module/hadoop-2.7.2/etc/hadoop/hadoop-env.sh 
修改hadoop-env.sh中下面语句:
     export JAVA_HOME=${JAVA_HOME}

为:

    export JAVA_HOME=/opt/module/jdk1.8

2>修改/etc/profile文件,在jdk的配置语句后面添加:

    export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

3>修改core-site.xml

[root@node1 hadoop]# vi core-site.xml 

在文件末尾和之间添加以下内容

<!--指定hadoop所使用的文件系统schema(URI),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>修改hdfs-site.xml

[root@hadoop101 hadoop]# vi hdfs-site.xml

在中间加入以下内容

<property>
<name>dfs.replication</name>
<value>1</value>
</property>

4 >将mapred-site.xml.template更名为mapred-site.xml并修改其内容

[root@hadoop101 hadoop]# mv mapred-site.xml.template mapred-site.xml
[root@hadoop101 hadoop]# vi mapred-site.xml 

在文件末尾添加以下内容

<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

5>修改yarn-site.xml

[root@hadoop101 hadoop]# vi yarn-site.xml 

在文件末尾添加以下内容

<!--指定yarn的老大(ResouceManager)的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop101</value>
</property>
<!--指定reduce获取数据的方式是mapreduce_shuffle  -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

6>修改slaves

[root@hadoop101 hadoop]# vi slaves 

将文件内容修改成以下内容

Hadoop101

测试hadoop是否按照成功
配置完后,可以测试hadoop是否按照成功:

[root@hadoop101 hadoop-2.7.2]# mkdir input
[root@hadoop101 hadoop-2.7.2]# cp etc/hadoop/*.xml input
[root@hadoop101hadoop-2.7.2]#bin/hadoop  jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output 'dfs[a-z.]+'
[root@hadoop101 hadoop-2.7.2]# cat output/*

上述的输出结果为:

   1	dfsadmin

四、配置自身免密登录

登录自身或其他节点

[root@hadoop101 ~]# ssh root@192.168.30.101
或[root@hadoop101 ~]# ssh root@hadoop101

需要输入密码

准备:首先要保证主机名、hosts、防火墙正确设置

1.配置每个节点本身公钥和私钥,即在每个节点执行如下两个命令:
(1)进入到我的家目录

  [root@hadoop101 etc]# cd ~/.ssh

(1)生成公钥和私钥:

  [root@hadoop101 .ssh]# ssh-keygen -t rsa

执行上述指令,然后敲(三个回车),中间不要输入任何内容,在.ssh目录下就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
在这里插入图片描述

  1. hadoop101节点登录自身免密,在hadoop101节点执行如下命令:
[root@hadoop101 .ssh]# cat id_rsa.pub >>authorized_keys

该命令把hadoop101节点中生成的id_rsa.pub(公钥)创建并拷贝到authorized_keys文件中,这样就实现了hadoop101节点登录自身免密。
在这里插入图片描述

五、启动Hadoop

1.格式化namenode(第一次启动时格式化,以后就不要总格式化)
[root@hadoop104 hadoop-2.7.2]# bin/hdfs namenode -format
2.启动dfs.sh

[root@hadoop101 hadoop2.7.2]# sbin/start-dfs.sh

3.启动yarn.sh

[root@ hadoop101 hadoop2.7.2]# sbin/start-yarn.sh

4.用jps查看进程

[root@ hadoop101 hadoop2.7.2]# jps

在这里插入图片描述

六、在集群上测试一个jar包 单词统计的功能

1.在本地创建一个word.txt文件

[root@hadoop101 hadoop-2.7.2]# touch word.txt
[root@hadoop101 hadoop-2.7.2]# vi word.txt

输入:
小明 小张 小李 小明
张三 王五 张三 小李
2.在服务器上的根目录下创建一个 input的文件夹

[root@hadoop101 hadoop-2.7.2]# bin/hdfs dfs -mkdir  /input

3.把word.txt文件上传到服务器中的input文件夹中

[root@hadoop101 hadoop-2.7.2]# bin/hdfs dfs -put ./word.txt  /input

4.查看是否上传成功

[root@hadoop101 hadoop-2.7.2]# bin/hdfs dfs -ls /input

在这里插入图片描述

5.执行wordcount单词统计功能
在执行此命令前,再次确认集群中所有节点的防火墙都已经关闭!

[root@hadoop101 hadoop-2.7.2]# bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount  /input  /output

在服务器的跟目录下就创建了一个output文件夹
在这里插入图片描述

output文件夹内有2个文件

[root@hadoop101 hadoop-2.7.2]# bin/hdfs dfs -ls /output

在这里插入图片描述

输出output文件夹文件的内容:

[root@hadoop101 hadoop-2.7.2]# bin/hdfs dfs -cat /output/*

在这里插入图片描述

七、yarn的浏览器页面查看.集群中已执行的任1务。(关闭防火墙)

通过浏览器浏览:http://192.168.30.104:8088/cluster
在这里插入图片描述

可以查看yarn上已执行的任务。

八、历史服务配置启动查看

1.配置mapred-site.xml

[root@hadoop104 hadoop]# vi mapred-site.xml
<property>
	<name>mapreduce.jobhistory.address</name>
	<value>hadoop101:10020</value>
</property>

<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>hadoop101:19888</value>
</property>

2.查看启动历史服务器文件目录:

[root@hadoop101 hadoop-2.7.2]# ls sbin/ |grep  mr-jobhistory-daemon.sh

3)启动历史服务器

[root@hadoop101 hadoop-2.7.2]# sbin/mr-jobhistory-daemon.sh start 
historyserver
  1. 查看历史服务器是否启动
    在这里插入图片描述

5)查看jobhistory
http://192.168.30.101:19888/jobhistory
在这里插入图片描述

九、开启日志聚集功能步骤

1) 配置yarn-site.xml

[root@hadoop101 hadoop]# vi yarn-site.xml

[pojian@hadoop101 hadoop]$ vi yarn-site.xml
<!-- 日志聚集功能使能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>

<!-- 日志保留时间设置7天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>

(2)关闭nodemanager 、resourcemanager和historymanager

[root@hadoop101 hadoop-2.7.2]#stop-all.sh
[root@hadoop101 hadoop-2.7.2]# sbin/mr-jobhistory-daemon.sh stop historyserver

或者分别关闭

[root@hadoop101 hadoop-2.7.2]# sbin/yarn-daemon.sh stop resourcemanager
[root@hadoop101 hadoop-2.7.2]# sbin/yarn-daemon.sh stop nodemanager
[root@hadoop101 hadoop-2.7.2]# sbin/mr-jobhistory-daemon.sh stop historyserver

(3)启动nodemanager 、resourcemanager和historymanager

[root@hadoop101 hadoop-2.7.2]# sbin/yarn-daemon.sh start resourcemanager

[root@hadoop101 hadoop-2.7.2]# sbin/yarn-daemon.sh start nodemanager

[root@hadoop101 hadoop-2.7.2]#  sbin/mr-jobhistory-daemon.sh start historyserver

或者:

[root@hadoop101 hadoop-2.7.2]#start-all.sh
[root@hadoop101 hadoop-2.7.2]# sbin/mr-jobhistory-daemon.sh start historyserver

(4)删除hdfs上已经存在的hdfs文件

[root@hadoop101 hadoop-2.7.2]# bin/hdfs dfs -rm -r  /output

注意:hdfs上已存在的已存在的tmp文件不要删除
(5)执行wordcount程序

[root@hadoop101 hadoop-2.7.2]# hdfs dfs -mkdir /input
[root@hadoop101 hadoop-2.7.2]# hdfs dfs -mkdir /input
[root@hadoop101 hadoop-2.7.2]# hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /input/* /output
[root@hadoop101 hadoop-2.7.2]# hdfs dfs -cat /output/*

6)查看日志
http://192.168.30.104:19888/jobhistory
在这里插入图片描述

点击job ID 查看job的详细信息

在这里插入图片描述

点击下面的logs,查看日志的详细信息
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值