Hadoop2.x伪分布环境搭建
之前为了跑第一个Hadoop2的一个Demo,我开始搭环境,起初用了编译源码的方式安装,在其中遇到了不少问题,最后发现有一种简单的方式。Hadoop2.x运行也不是必需用Hadoop源码来编译。下面就把这种简单环境搭建的方式介绍一下。
(当然有关编译源码的部分,之后我会更新更新上来的)
一、环境准备
1) 软件
* CentOS 6.4 64位
* Hadoop2.2.0
* Jdk 1.6+
* Meven3.0.0
2) 修改主机名
* vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hadoop 主机名自己设置(在后面配置好DNS映射就好)
3) 修改IP地址(设置为静态的)
* vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="static"
HWADDR="00:0C:29:3C:BF:E7"
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="ce22eeca-ecde-4536-8cc2-ef0dc36d4a8c"
IPADDR="192.168.1.119"
NETMASK="255.255.255.0"
GATEWAY="192.168.1.1"
4) 修改主机名和IP的映射关系
* vi /etc/hosts
内容:192.168.1.119 hadoop hadoop-yarn(注意中间建议用制表符,当然空格也是可以的)
5) 关闭防火墙
* #查看防火墙状态
service iptables status
* #关闭防火墙
service iptables stop
* #查看防火墙开机启动状态
chkconfig iptables --list
* #关闭防火墙开机启动
chkconfig iptables off
6) 安装 JDK
* 安装目录:/opt/modules/jdk1.6.0_45
* 版本:jdk-6u45-linux-x64.bin
* 命令:
chmod u+x jdk-6u45-linux-x64.bin
./jdk-6u45-linux-x64.bin
* 设置环境变量:
vi /etc/profile
* 添加内容:
export JAVA_HOME=/opt/modules/jdk1.6.0_45
export PATH=$PATH:$JAVA_HOME/bin
* 生效:# source/etc/profile
7) 解压hadoop2.2.0.tar.gz
* tar -zxvf hadoop-2.2.0.tar.gz -C /opt/
* HADOOP_HOME=/opt/ (HADOOP_HOME目录与上一条命令-C后面的路径要一致)
8) 配置完成建议重启操作系统
* reboot
二、环境配置
1、hadoop-env.sh
export JAVA_HOME=/opt/modules/jdk1.6.0_45(替换为真实JAVA_HOM路径)
2、yarn-env.sh
export JAVA_HOME=/opt/modules/jdk1.6.0_45(添加真实JAVA_HOM路径)
3、mapred-env.sh
exportJAVA_HOME=/opt/modules/jdk1.6.0_45(添加真实JAVA_HOM路径)
4、core-site.xml
<property>
<!-- 指定HDFS老大(namenode)的通信地址 -->
<name>fs.default.name</name>
<value>hdfs://hadoop-yarn.dragon.org:8020</value>
</property>
<property>
<!-- 指定hadoop运行时产生文件的存储路径-->
<name>hadoop.tmp.dir</name>
<value>/opt/modules/hadoop-2.2.0/data/tmp</value>
</property>
5、hdfs-site.xml
<property>
<!-- 设置hdfs副本数量 -->
<name>dfs.replication</name>
<value>1</value>
</property>
6、yarn-site.xml
<property>
<!-- reducer取数据的方式是mapreduce_shuffle-->
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
7、mapred-site.xml
(mapred-site.xml.template这里只有这个文件,需要把它重命名为mapred-site.xml)
<property>
<!-- 通知框架MR使用YARN -->
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
三、启动服务
启动HDFS(也就是启动NameNode、DataNode、SecondaryNameNode)
首先,需要把NameNode格式化
命令:bin/hdfs namenode –format
启动NameNode
sbin/hadoop-daemon.sh startnamenode
启动DataNode
sbin/hadoop-daemon.sh startdatanode
启动SecondaryNameNode
sbin/hadoop-daemon.sh startsecondarynamenode
验证是否启动成功
jps命令查看是否有相应的服务(jps是查看JAVA进程命令,查看linux进程命令为ps)
四、测试
http://192.168.1.119:50070 (HDFS管理界面)
在这个文件中添加linux主机名和IP的映射关系(在相应主机上添加,不添加也可以,就只能用IP地址访问了,添加之后相当于弄了一个伪域名,该域名只在当前局域 网中配置了以下参数的电脑有效)
C:\Windows\System32\drivers\etc\hosts
192.168.1.119 hadoop
之后就可以用主机名加端口号访问了
感谢查看本篇日志,有点稍长,追求技术,留下足迹…