前期说明:本文是快速搭建hadoop,只搭建一台。减去不必要的配置,先把整个流程走通,排除出错的几率。
1.资源准备
JDK:jdk-8u131-linux-i586.tar.gz
(我的linux系统是Red Hat32位的,所以JDK也要下载好相应的32位)
hadoop:官网下载
二、安装JDK、Hadoop及配置环境变量
安装,解压JDK到/usr/lib/Java/
路径下,Hadoop到/usr/local/etc/hadoop/
路径下
2.配置环境,编辑“/etc/profile”文件,在其后添加如下信息:
export HADOOP_HOME=/usr/local/etc/hadoop //安装hadoop的路径
export JAVA_HOME=/usr/lib/java/jdk1.8.0_45 //JDK的路径
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=$PATH:${JAVA_HOME}/bin:${JRE_HOME}/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin
3.使配置的变量生效:
source /etc/profile
4.配置环境,编辑“hadoop/conf/hadoop-env.sh”文件,配置JAVA_HOME
去掉注释,并修改地址
5.可验证JDK的可用性:
java -version
出现以下的放说明成功
6.可验证hadoop的可用性:
cd /usr/local/etc/hadoop
./bin/hadoop version # 查看hadoop的版本信息
出现以下的放说明成功
7.如若未成功,先reboot一下重启一下系统。
-----------------------------------------------------------------------------------------------------------------------------------------
三、配置SSH
方便直接登入,不需要输入密码就可以登入先试一下,我用SSH登陆当前本机信息:
可以看到,登陆本机时,也要输入一下密码,怎么办?
SSH是能过RSA加密的,所以有公钥私钥的说法,所以,我们先产生一对固定的公私钥,
运行这个ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa命令:
这里产生公私钥,并生成在.ssh文件夹下,于是我们就进入看一下:
果然,这里多了两个文件,id_dsa为私钥,id_dsa.pub为公钥
然后再把公钥复制成authorized_key,即将这个公钥固定为SSH登陆所用。
这步很重要,做完这步后,就可以再试一下登陆本机了:
看,现在再ssh localhost时,就直接进入,没有再输入帐号了。
到这里,SSH配置就成功了。
四.修改配置文件
在正式运行之前,还要修改一下配置文件才地,这里具体的配置参数,就不讲,葫芦画瓢么,先跑起来,后面再来研究这是为啥:
在代码的conf文件夹内,就可以找到下面几个配置文件,分别配置成以下内容:
core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/zjf/hadoop-0.20.2/tmpPath</value> !这里改下路径
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
mapred-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>hdfs://localhost:9001</value>
</property>
</configuration>
五.关闭防火墙( Root用户)
在启动前关闭集群中所有机器的防火墙,不然会出现datanode开后又自动关闭。所以对集群所有服务器关闭防火墙:chkconfig iptables off
查看防火墙状态:service iptables status
永久关闭防火墙:chkconfig iptables off
查看防火墙状态:chkconfig --list iptables
六.运行
Hadoop是一头神奇的大象,那我们得站在大象背上说句Hello world了。
进入hadoop目录: $cd Hadoop-0.20.2
首次运行,需要对namenode进行格式化:bin/hadoop namenode -format
格式化的时候会出现一个问题,提示说为映射到用户上。,修改主机名为laocalhost
启动hadoop:
bin/start-all.sh
关闭hadoop可以用:
bin/stop-all.sh
如果验证启动成功呢?有两种方式
访问一下管理页面看:
Job跟踪:http://localhost:50030
NameNode结点:http://localhost:50070
用jps看一下有几个java进程在运行,如果是下面几个就正常了:
主要有DataNode NameNode SecondaryNameNode TaskTracker JobTracker这几个进程,就表示正常了