本次主要是对Hadoop2.6.0伪分布式环境搭建做介绍,以下操作都是在root用户下进行。
一、软件环境配置
1.1、 OS:ubuntu-14.04
1.2、 JDK:jdk1.7.0_71
1.3、 Hadoop:hadoop-2.6.0
1.4、 ssh
二.首先我们先把系统环境修改一下
2.1 关闭防火墙
执行命令 service iptables stop
验证: service iptables status
2.2 关闭防火墙的自动运行
执行命令 chkconfig iptables off
验证: chkconfig --list | grep iptables
2.3 设置主机名
执行命令 (1)hostname chaoren
(2)vi /etc/sysconfig/network
2.4 ip与hostname绑定
执行命令 vi /etc/hosts
验证: ping localhost
2.5 设置ssh免密码登陆
执行命令 (1)ssh-keygen -t rsa
(2)cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
验证: ssh localhost
三.安装JDK
3.1 cd /usr/local ( 这里我的jdk安装包在这个目录下)
3.2 chmod u+x jdk-7u71-linux-x64.tar.gz (给安装包权限)
3.3 tar -zxvf jdk-7u71-linux-x64.tar.gz (解压安装包)
3.4 mv jdk-1.6.0_24 jdk (解压的包重命名为jdk)
3.5 vi /etc/profile 增加内容如下: (增加jdk的环境变量)
export JAVA_HOME=/usr/local/jdk
export PATH=.:$JAVA_HOME/bin:$PATH
3.6 source /etc/profile (刷新配置环境)
3.7 验证: java -version (出现下面的就安装成功了)
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)
四.安装hadoop
4.1 tar -zxvf hadoop-2.6.0.tar.gz (解压hadoop安装文件 这里也在/usr/local 目录下)
4.2 mv hadoop-2.6.0 hadoop
4.3 vi /etc/profile 增加内容如下:
export JAVA_HOME=/usr/local/jdk
export HADOOP_HOME=/usr/local/hadoop
export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
4.4 source /etc/profile
4.5 修改/hadoop/etc/hadoop/目录下的配置文件hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml (这个 文件没有,把mapred-site.xml.template这个文件复制一下改成mapred-site.xml ,yarn-site.xml.
4.5.1 修改hadoop-env.sh
vim hadoop-env.sh
export JAVA_HOME=/usr/local/jdk (增加jdk的安装路径)
4.5.2 修改core-site.xml
vim core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/zf/hadoop-2.6.0/tmp</value>
</property>
</configuration>
4.5.3 修改hdfs-site.xml
vim hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop/zf/hadoop-2.6.0/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoop/zf/hadoop-2.6.0/hdfs/data</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
4.5.4 修改yarn-site.xml
vim yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>
4.5.5 修改mapred-site.xml
vim mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
4.6 格式化nameNode
hadoop namenode -format //在hadoop目录下
4.7 启动各个几点进程
./start-all.sh //在hadoop-2.6.0/sbin目录下执行 start-all.sh这个脚本
2887 SecondaryNameNode
2516 NameNode
3188 NodeManager
2670 DataNode
3063 ResourceManager //你将会看到如下的进程
4.8 在浏览器查看,http://localhost:50070
4.9 启动时没有NameNode的可能原因:
(1)没有格式化
(2)环境变量设置错误
(3)ip与hostname绑定失败