第一次发文章
纯属个人学习日志
直接进入正题,首先是软件准备:
<1>.VM虚拟机
<2>.CentOs 6.3虚拟光驱(官网有的下载)
<3>.WinSCP
<4>.jdk-6u24-linux-x64.bin
<5>.hadoop-1.2.1.tar.gz
*****开始搭建系统环境*****
1).VM虚拟机安装CentOs系统
2).选择hostonly模式启动
3).root用户登录(这点很重要,非root对以下操作可能没有权限)
***********配置静态ip**********
修改网卡配置 编辑:vi /etc/sysconfig/network-scripts/ifcfg-eth0
重启网卡:service network restart
验证:ping 192.168.116.1
******************end*******************
***********修改主机名************
修改配置文件中的主机名,执行命令vi /etc/sysconfig/network
验证:重启机器
*******************end*******************
**********hostname和ip绑定*********
执行命令vi /etc/hosts 增加一行内容,如下:192.168.160.100 hadoop001
验证:ping hadoop001
*******************end******************
***********关闭防火墙**********
执行命令service iptables stop
验证:service iptables status
*******************end******************
***********关闭防火墙的自动运行*********
执行命令:chkconfig iptables off
验证:chkconfig --list | grep iptables(全部为off成功!)
********************end******************
*******SSH(secure shell)无密钥登录*******
首先切换到~/. ssh文件夹中
执行命令 ssh-keygen -t rsa产生秘钥(回车3次)
执行命令 cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
验证:ssh localhost 登录后exit 退出链接 再一次exit退出终端
********************end********************
************安装jdk***********
1)执行命令rm -rf /usr/local/* 删除所有内容
2)使用WinSCP将jdk-6u24-linux-x64.bin和hadoop-1.1.2.tar.gz上传/usr/local中
4)执行命令 chmod u+xjdk-6u24-linux-x64.bin 赋予执行权限
5)执行命令 ./jdk-6u24-linux-x64.bin 解压缩
6)执行命令 mv jdk1.6.0.0_24 jdk 重命名
7)执行命令 vi /etc/profile 设置环境变量,增加了两行内容:
export JAVA_HOME=/usr/local/jdk
export PATH=.:$JAVA_HOME/bin:$PATH
保存退出
执行命令 source /etc/profile 让该设置立即生效
验证:java -version
*******************end*****************
***********安装hadoop************
1)执行命令 tar -zxvf hadoop-1.1.2.tar.gz进行解压
2)执行命令 mv hadoop-1.1.2 hadoop 重命名
3)执行命令 vi /etc/profile 设置环境变量,增加了一行内容:
export HADOOP_HOME=/usr/local/hadoop
修改了一行内容:
export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
保存退出
执行命令 source /etc/profile 让该设置立即生效
4)修改hadoop的配置文件,位于$HADOOP_HOME/conf目录下,修改4个配置文件,分别是
hadoop-env.sh
core-site.xml
hdfs-site.xml
mapred-site.xml
具体配置:
**************hadoop-env.sh***********
export JAVA_HOME=/usr/local/jdk/
*******************************************
***************core-site.xml************
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop001:9000</value>
<description>chang your own hostname</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
</configuration>
*******************************************
**************hdfs-site.xml*************
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
*******************************************
*****************mapred-site.xml*************
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hadoop001:9001</value>
<description>chang your own hostname</description>
</property>
</configuration>
*******************************************
5)对hadoop进行格式化 :执行命令hadoop namenode -format
(不格式启动namenode节点会报错)
6)启动相应节点,执行命令 start-all.sh是全部启动但是作为初学者
还是学着一个个起好(码奴不怕敲)
首先是namenode节点 命令:hadoop-daemon.sh start namenode
datanode节点 命令:hadoop-daemon.sh start datanode
secondarynamenode节点 命令:hadoop-daemon.sh start secondarynamenode
jobtracker节点 命令:hadoop-daemon.sh start jobtracker
tasktracker节点 命令:hadoop-daemon.sh start tasktracker
验证:(1)执行命令jps(查看进程)发现5个java进程
NameNode,DateNode,SecondaryNameNode,JobTracker,TaskTracker。
*******************end*******************
*****启动一个Hadoop自带的测试例子*****
执行命令hadoop jar hadoop-examples-1.1.2.jar pi 2 4(在这里 2 4是可以换的,比如 10 100,我虚拟机设置内存比较小,不然会很慢 )
结果如下(成功):
*******************end*******************
伪分布环境部署成功!!到此我真的是连流满面!!~o~
以下我运行测试环境发现的2个异常,在次只是记录下,方便以后查询
第一个:直接上图
如图如提示删除一个文件
解决:删除hdfs tmp文件下所有东西
顺便提下hdfs目录就是core-site.xml配置文件的
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
然后kill相关的进程重起节点
最后执行命令hadoop jar hadoop-examples-1.1.2.jar pi 2 4
第二个:
解决:重新格式化namenode并重起一次
然后删除hdfs tmp文件下所有东西
然后kill相关的进程重起节点
最后执行命令hadoop jar hadoop-examples-1.1.2.jar pi 2 4