安装hadoop在hadoop学习里面是最为基本最基础的一件事,我们不能把大多时间消耗在安装平台这一步骤上,我现在介绍下如何快速准确搭建好hadoop平台,我在后面附上搭建平台所需要的软件下载地址。
我用的是VMware10软件,系统用的是CentOS,jdk版本是jdk-6u24-linux-i586,hadoop版本是hadoop-1.1.2.tar.gz。
第一步 在虚拟机里面安装并配置好linux系统。
安装好linux系统之后,默认是仅主机模式的连接方式,需要配置一下ip地址,我们在网络连接里面可以看到一个虚拟机的网络连接图标,修改它的ipv4地址,在此我将地址改为192.168.80.1,,子关掩码为255.255.255.0。
进入linux系统,修改linux的网络连接,ip地址改为192.168.80.100,掩码设为255.255.255.0。
打开linux 的terminal,也就是命令行,先用service network restart命令重新启动网络连接,然后用ifconfig命令查看ip地址以及掩码等是不是已经设置正确。
验证是否配置好,可以在windows系统命令行下ping 192.168.80.100,看是否传输数据正常
第二步 关闭防火墙
这是容易被忽视的一步,之后会出现安装失败的情况。
执行命令:service iptables stop
验证:service iptables status
下一步,关闭防火墙的自动运行
执行命令:chkconfig iptables off
验证:chkconfig --list | grep iptables
第三步 设置主机名
用hostname命令查看主机名
然后可以用hostname yixianyong命令将主机名设置为yixianyong
而这样设置之后重启linux系统之后主机名依然是默认的,而不是yixianyong
那么该怎么办呢?
需要在hosts文件里面再设置主机名:
用vi /etc/sysconfig/network 命令打开network文件,点击i键或者a键进入编辑文档状态。将HOSTNAME=xxxx改为HOSTNAME=yixianyong
这样,就设置好了主机名
下一步需要将ip地址和主机名绑定:
用vi /etc/hosts命令打开etc目录下的hosts文件,在末尾添加 192.168.80.100 yixianyong
验证:用ping yixianyong 命令查看能否ping通
第四步 设置ssh免密码登录
ssh是一个很强大的工具,主要用于远程连接服务器,强大之处在于所有的信息都是加密的,安全性很高
为了更好地使用ssh,我们生成ssh密钥,然后保存在目标机中
用ssh-keygen -t rsa命令生成密钥(此处一直按回车键即可)
执行cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys命令(注意空格)
用ssh yixianyong命令验证是否成功(第一次是需要输入密码的,之后不需要输入)
第五步 安装jdk
在这里我们使用winscp软件使得windows和linux能过传输文件,将jdk-6u24-linux-i586.bin复制到/usr/local目录下
然后回到linux,用cd /usr/local命令进入文件目录,解压安装jdk-6u24-linux-i586.bin:用./jdk-6u24-linux-i586.bin命令
但是会发现未能成功解压,这是因为jdk-6u24-linux-i586.bin对当前用户的权限不是可执行的,所以我们需要为当前用户增加执行的权限:chmod u+x jdk-6u24-linux-i586.bin
然后键入./jdk-6u24-linux-i586.bin命令
解压之后就已经安装上了jdk,下一步需要配置变量:
为了之后方便,先将解压后的文件夹用mv jdk-1.6.0_24 jdk命令将文件夹重命名
打开配置变量的文件:vi /etc/profile
进入编辑状态,在空白处添加:
export JAVA_HOME=/usr/local/jdk
export PATH=.:$JAVA_HOME/bin:$PATH
保存退出
用source /etc/profile命令使配置生效
用java命令验证是否配置成功
第六步 安装hadoop
终于等到这一步
首先解压hadoop-1.1.2.tar.gz
用tar -xzvf hadoop-1.1.2.tar.gz命令解压hadoop
然后用mv hadoop-1.1.2 hadoopp 命令重命名文件夹
之后要配置环境变量:
vi /etc/profile
添加一行 export HADOOP_HOME=/usr/local/hadoop
在PATH路径中添加 :$HADOOP_HOME/bin
保存退出
source /etc/profile
还未完成,需要配置四个文件
可以用winscp进入到/usr/local/hadoop/conf目录下
1、用编辑器打开hadoop-env.sh,第九行改为 export JAVA_HOME=/usr/local/jdk
2、打开core-site.xml文件,添加:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://yixianyong:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
</configuration>
需要注意的是 <value>hdfs://你的主机名:9000</value
3、打开hdfs-site.xml,添加:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
4、打开mapred-site.xml,添加:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>你的主机名:9001</value>
</property>
</configuration>
经过以上步骤,hadooop已经安装完成了,下一步启动hadoop:
hadoop namenode -format
start-all.sh
然后用jps命令验证,出现5个新的进程:NameNode、SecondaryNameNode、DataNode、JobTracker、TaskTracker,说明hadoop安装启动成功啦
在linux下的浏览器进入yixianyong:50070和yixianyong:50030可以看到hadoop运行的情况
在windows下的浏览器进入192.168.80.100:50070和192.168.80.100:50030也可以看到运行情况
最后,说下NameNode没有成功启动的可能的原因:
(1)没有格式化
(2)环境变量设置错误
(3)ip与hostname绑定失败
VMware10软件:链接:http://pan.baidu.com/s/1c23aepa 密码:wz5n
VMWare专用CentOS:链接:http://pan.baidu.com/s/1csoMWA 密码:vlzm
hadoop-1.1.2.tar.gz : 链接:http://pan.baidu.com/s/1eR3vIPc 密码:w0pz
dk-6u24-linux-i586.bin :链接:http://pan.baidu.com/s/1mi4fIa8 密码:6h8y
winscp516setup.exe :链接:http://pan.baidu.com/s/1qXYj3RY 密码:1h3u
PieTTY 0.3.26.exe :链接:http://pan.baidu.com/s/1eShrtNs 密码:t5tc