本文的环境搭建是: Mac OS 中利用virtualbox虚拟三台基于centos的服务器。如下图
Hadoop部署之前必备软件:JDK、SSH、Hadoop-1.1.2版本。
二、部署过程说明本次部署部署的最终结果是:一台master,两台slave组成的集群。
详细操作步骤如下。
2.1、必备软件准备安装JDK,SSH安装配置
2.1.1、安装JDK2.1.2、安装SSH2.1.3、下载hadoop-1.1.2版本第一步:Hadoop官网下载1.1.2版本Hadoop的tar文件
第二步:将下载的tar文件解压到相应的目录:本文的放置目:
/home/lihui/hadoop/hadoop-1.1.2
2.1.4、修改hosts文件编辑/etc/hosts文件,在文件中添加 master ,slave ip 映射
192.168.1.4 lhmaster.hadoop
192.168.1.5 lhslave01.hadoop
192.168.1.6 lhslave02.hadoop
2.1.5、配置JAVA, Hadoop环境变量第一步:terminal中输入命令 vi /etc/profile
第二步:在编辑状态下加入如下的环境变量
#setJava environment
exportJAVA_HOME=/usr/java/jdk1.7.0_25
exportCLASSPATH=./:$JAVA_HOME/lib:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
exportPATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME
#sethadoop environment
exportHADOOP_HOME=/home/lihui/hadoop/hadoop-1.1.2
exportPATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/conf
本文配置图示如下:
第三步:保存后关闭,并重启机器
2.1.6、SSH配置创建免密码登陆1:
在master 的 terminal里面输入: ssh-keygen -t rsa
ssh-keygen表示生成秘钥;-t表示秘钥类型;-P用于提供密语;-f指定生成的秘钥文件。这个命令在”~/.ssh/“文件夹下创建两个文件id_rsa和id_rsa.pub,是ssh的一对儿私钥和公钥
第二步:将此ssh-key添加到信任列表中
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
或
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
2:
在slave中 同样运行 ssh-keygen -t rsa。把master 中生成的 authorized_keys 拷贝到slave下的.ssh目录下。
3:
分别打开slave中的 .ssh/id_rsa.pub将其中的内容 添加到各自的 authorized_keys文件和master 中的.ssh/authorized_keys中。
2.1.7、关闭防火墙
必须关闭防火墙。
本人开始时使用如下命令怎么都不起作用
#/etc/init.d/iptables status ##查看防火墙状态
#/etc/init.d/iptable stop ##本次关闭防火墙
#/etc/init.d/iptable restart ##重启防火墙
最后使用图形界面关闭:
执行”setup”命令启动文字模式配置实用程序,在”选择一种工具”中选择”防火墙配置”,然后选择”运行工具”按钮,出现防火墙配置界面,将”*”设为””,然后选择”确定”即可
2.2、Hadoop文件配置2.2.1、/conf/ hadoop-env.sh配置在hadoop-env.sh文件中加入
export JAVA_HOME=/usr/java/jdk1.7.0_25
注:JAVA_HOME根据自己的实际路径添加。
2.2.2、/conf/ core-site.xml 配置core-site.xml文件
在<configuration>标签添加
<property>
<name>fs.default.name</name>
<value>hdfs://lhmaster.hadoo:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/lihui/hadoop/tmp</value>
</property>
</configuration>
2.2.3、/conf/ mapred-site.xml 配置mapred-site.xml文件
在<configuration>标签添加
<property>
<name>mapred.job.tracker</name>
<value>lhmaster.hadoop:9001</value>
</property>
<property>
<name>mapred.local.dir</name>
<value>/home/lihui/hadoop/tmp</value>
</property>
</configuration>
2.2.4、/conf/hdfs-site.xml 配置hdfs-site.xml
在<configuration>标签添加
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/home/lihui/hadoop/name1,/home/lihui/hadoop/name2</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/lihui/hadoop/data1,/home/lihui/hadoop/data2</value>
</property>
</configuration>
2.2.5、修改masters,slaves文件masters文件中加入:lhmaster.hadoop
slaves文件加入:
lhslave01.hadoop
lhslave02.hadoop
2.2.6、复制配置好的hadoop文件将上述master中配置好的hadoop文件夹中的所有内容拷贝到两台服务器中
2.3、启动运行阶段2.3.1、格式化namenode (首次运行必需)
第一步:进入hadoop目录
cd hadoop-1.1.2
第二步:格式化namenode
bin/hadoop namenode –format
注:namenode必须小写
2.3.2、启动hadoop
第一步:启动hadoop
bin/start-all.sh
第二步:jps命令查看运行进程,如下图
第二步:验证hadoop是否正常启动
在浏览器中分别输入http://localhost:50030和http://localhost:50070;会出现如下的两个图示:表示配置成功