Hadoop的安装与配置

1、准备工作

(1)准备linux环境:(具体请参考我的linux相关博客,都有介绍,这里就不一一讲解)

  • 将虚拟机的网络模式选为NAT
  • 修改主机名
  • 修改IP
  • 修改主机名和IP的映射关系
  • 关闭防火墙
  • 修改sudo
  • 配置ssh免登陆

(3)下载Hadoop安装包(这里版本为2.6.4)
下载地址:http://hadoop.apache.org/releases.html

(4)安装jdk(jdk-7u_65-i585)
安装jdk请参考我的另一篇博客https://blog.csdn.net/shaonianbz/article/details/79878925

2、Hadoop安装

(1)上传Hadoop安装包,并创建apps文件夹,用来存放Hadoop

[hadoop@mini01 ~]$ ll
total 176580
drwxrwxr-x. 2 hadoop hadoop      4096 Apr 23 11:54 apps
-rw-r--r--. 1 hadoop hadoop 180813065 Feb 26 19:41 cenos-6.5-hadoop-2.6.4.tar.gz

(2)将Hadoop解压到apps下

tar -zxvf cenos-6.5-hadoop-2.6.4.tar.gz -C apps/

#解压后的Hadoop目录
[hadoop@mini01 hadoop-2.6.4]$ ll
total 52
drwxrwxr-x. 2 hadoop hadoop  4096 Mar  7  2016 bin
drwxrwxr-x. 3 hadoop hadoop  4096 Mar  7  2016 etc
drwxrwxr-x. 2 hadoop hadoop  4096 Mar  7  2016 include
drwxrwxr-x. 3 hadoop hadoop  4096 Mar  7  2016 lib
drwxrwxr-x. 2 hadoop hadoop  4096 Mar  7  2016 libexec
-rw-r--r--. 1 hadoop hadoop 15429 Mar  7  2016 LICENSE.txt
-rw-r--r--. 1 hadoop hadoop   101 Mar  7  2016 NOTICE.txt
-rw-r--r--. 1 hadoop hadoop  1366 Mar  7  2016 README.txt
drwxrwxr-x. 2 hadoop hadoop  4096 Mar  7  2016 sbin
drwxrwxr-x. 4 hadoop hadoop  4096 Mar  7  2016 share

3、修改配置文件

#进入配置文件所在位置
[hadoop@mini01 hadoop-2.6.4]$ cd etc/hadoop/

(1)配置hadoop-env.sh

#1、给它配置java环境,获得java的路径命令
[hadoop@mini01 hadoop]$ echo $JAVA_HOME
/usr/local/jdk1.7.0_45

#2、配置hadoop-env.sh
[hadoop@mini01 hadoop]$ vi hadoop-env.sh
export JAVA_HOME=/usr/local/jdk1.7.0_45

(2)配置core-site.xml

[hadoop@mini01 hadoop]$ vi core-site.xml

<configuration>
#指定Hadoop所使用的文件系统schema(URI),HDFS的老大(namenode)的地址
<property>
   <name>fs.defaultFS</name>
   <value>hdfs://mini01:9000</value>
</property>
#指定Hadoop运行时产生文件的存储目录
<property>
   <name>hadoop.tmp.dir</name>
   <value>/home/hadoop/hdpdata</value>
</property>

</configuration>

(3)配置hdfs-site.xml

[hadoop@mini01 hadoop]$ vi hdfs-site.xml

<configuration>
#指定HDFS副本的数量
<property>      
   <name>dfs.replication</name>
   <value>2</value>
</property>

</configuration>

(4)配置mapred-site.xml.template

#先把mapred-site.xml.template文件的文件名修改为mapred-site.xml
[hadoop@mini01 hadoop]$ mv mapred-site.xml.template mapred-site.xml

[hadoop@mini01 hadoop]$ vi mapred-site.xml
<configuration>
#指定mapreduce运行在yarn上
<property>
   <name>mapreduce.framework.name</name>
   <value>yarn</value>
</property>

</configuration>

(5)配置yarn-site.xml

[hadoop@mini01 hadoop]$ vi yarn-site.xml

<configuration>
<!-- Site specific YARN configuration properties -->
#指定YARN的老大(ResourceManager)的地址
<property>      
   <name>yarn.resourcemanager.hostname</name>
   <value>mini01</value>
</property>
#reduce获取数据的方式
<property>
   <name>yarn.nodemanager.aux-services</name>
   <value>mapreduce_shuffle</value>
</property>

</configuration>

4、其他

(1)复制apps文件夹到其他机器

扫描二维码关注公众号,回复: 905979 查看本文章
#复制到mini02机器(其他机器一样,只需修改mini02)
[hadoop@mini01 ~]$ scp -r apps mini02:/home/hadoop/

(2)将hadoop添加到环境变量

#获取Hadoop位置
[hadoop@mini01 hadoop-2.6.4]$ pwd
/home/hadoop/apps/hadoop-2.6.4

#编辑(添加)
[hadoop@mini01 hadoop-2.6.4]$ sudo vi /etc/profile

export HADOOP_HOME=/home/hadoop/apps/hadoop-2.6.4
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

#将profile配置文件复制到其他机器
[hadoop@mini01 hadoop-2.6.4]$ sudo scp /etc/profile mini02:/etc/
#重新加载配置文件(其他机器一样)
[hadoop@mini02 ~]$ source /etc/profile

(3)格式化namenode(是对namenode进行初始化)

[hadoop@mini01 ~]$ hadoop namenode -format

(4)启动Hadoop

#启动namenode,我这里namenode是配置在mini01机器上,所以启动namenode必须在mini01机器上启动
[hadoop@mini01 ~]$ hadoop-daemon.sh start namenode
#在其他机器上启动datanode
[hadoop@mini02 ~]$ hadoop-daemon.sh start datanode

#验证是否启动成功
[hadoop@mini01 ~]$ jps
1782 Jps
1711 NameNode
#关闭Hadoop
[hadoop@mini02 ~]$ hadoop-daemon.sh stop datanode

(5)管理界面
注意:用主机名启动,需要在Windows的hosts文件中配置主机与ip地址的映射

#HDFS管理界面
http://192.168.253.21:50070
或者
http://mini01:50070
#mapreduce管理界面
http://192.168.253.21:8088
或者
http://mini01:8088

(6)有错误查看日志

[hadoop@mini02 ~]$ ll /home//hadoop/apps/hadoop-2.6.4/logs/
total 32
-rw-rw-r--. 1 hadoop hadoop 24995 Apr 23 13:23 hadoop-hadoop-datanode-mini02.log
-rw-rw-r--. 1 hadoop hadoop   717 Apr 23 13:23 hadoop-hadoop-datanode-mini02.out
-rw-rw-r--. 1 hadoop hadoop     0 Apr 23 13:23 SecurityAuth-hadoop.audit

#用less命令查看,G到日志最后一行
[hadoop@mini02 logs]$ less hadoop-hadoop-datanode-mini02.log

5、另一种启动Hadoop方式(推荐)

(1)修改slaves配置文件
slaves的位置:/home/hadoop/apps/hadoop-2.6.4/etc/hadoop/slaves

#在mini01上配置,这里mini01相当于老大
#添加主机名,删除原来的localhost
mini02
mini03
mini04

(2)配置免密登录

#这里mini01是老大,因此配置mini01到mini01,mini02,mini03,mini04的免密登录
#即将mini01的公钥复制到mini01,mini02,mini03,mini04中

[hadoop@mini01 hadoop]$ ssh-keygen

#复制公钥到其他机器
[hadoop@mini01 hadoop]$ ssh-copy-id mini01

#查看免密是否成功,登录mini04
[hadoop@mini01 hadoop]$ ssh mini04
Last login: Mon Apr 23 11:40:21 2018 from 192.168.253.1
[hadoop@mini04 ~]$ 

(3)启动
位置:/home/hadoop/apps/hadoop-2.6.4/sbin

#先启动HDFS
[hadoop@mini01 sbin]$ start-dfs.sh
#再启动YARN
[hadoop@mini01 sbin]$ start-yarn.sh

#关闭
[hadoop@mini01 sbin]$ stop-all.sh

猜你喜欢

转载自blog.csdn.net/shaonianbz/article/details/80043741