Hadoop伪分布式环境搭建(能力工场--小马哥整理)

来源:互联网 发布:前端性能优化的方式 编辑:程序博客网 时间:2024/05/29 14:11
  1. hadoop的伪分布安装

    在linux系统打开终端,进行如下操作
    1.1关闭防火墙
    (1)执行命令service iptablesstatus查看防火墙开闭状态(如果开,接下步)
    执行命令service iptables stop关闭防火墙
    执行命令service iptables status验证是否关闭了(验证很关键,确保每一步的成功,否则后面"死"的很惨)

    (2)执行命令chkconfig --list|grep iptables 查看是否有on(此步目的:看是否打开了自动运行防火墙,因为自动运行默认打开的情况下,下次关机重启后,防火墙又打开了,还要重新关闭,麻烦,于是我们直接关闭掉自动运行...)
    执行命令chkconfig iptables off关闭防火墙自动运行
    执行命令chkconfig --list|grep iptables查看是否有on(同样是验证,我们一定要仔细,因为需要配置的内容很多,避免后面开启hadoop出错后,找不到哪里出错,不如在这里一步一步,保证每一步都正确)
    1.2修改ip
    (1)右键点击linux桌面右上角的网络连接图标进行IP设置(配置IP的时候,注意选择IP段,对于IP以及网络连接的设置,参考我空间的其他虚拟机网络配置资料,这里不赘述)
    执行命令service network restart重启网卡(修改IP后,一定及时重启一下,看是否有修改IP成功)
    执行命令ifconfig查看设置是否成功(我们必须的验证)
    1.3修改主机名
    (1)执行命令hostname查看当前的主机名
    执行命令hostname hadoop2设置当前会话的主机名(注意,在这里修改完主机名之后,重启之后主机名又自动变回修改前的主机名,我们还要执行下一步操作,就可以一劳永逸了)
    执行命令vi /etc/sysconfig/network(必须修改这个文件中的主机名,否则,机器重启后,主机名变回以前)
    保存退出
    1.4映射ip与主机名
    (1)执行命令vi /etc/hosts文件
    增加一行文本192.168.56.100 hadoop2(注意空格)
    保存退出
    执行命令ping hadoop2是否有回包(无敌的验证,一定要保证配置的成功)
    1.5设置ssh免密码登录
    (1)执行命令ssh-keygen -trsa,三次回车,在~/.ssh下面会产生两个文件,分别是id_rsa和id_rsa.pub
    cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys(注意空格)
    执行命令ssh localhost查看是否需要输入密码
    执行命令ssh hadoop2查看是否需要输入密码

    注意:执行ssh登陆成功后,要记得exit退出ssh。
    1.6安装jdk
    (1)我们确定把所有的框架都安装到/usr/local,复制jdk...bin到/usr/local
    (2)执行命令chmod 777 jdk....bin(修改权限,否则不让我们继续运行)
    (3)解压缩,执行命令./jdk....bin,产生一个文件夹jdk1.6.0_24
    重命名mv jdk1.6.0_24jdk(带一堆数字,以后在命令行执行文件操作太麻烦,我改)
    (4)设置环境,执行命令vi /etc/profile
    新增两行文本export JAVA_HOME=/usr/local/jdk
    export PATH=.:$JAVA_HOME/bin:$PATH
    保存退出
    然后执行命令source /etc/profile(必须不能忘记)
    验证:执行命令java -version查看是否HotSpot(验证一下)
    1.7安装hadoop
    (1)把hadoop-1.1.2.tar.gz复制到/usr/local,
    (2)解压缩 tar -zxvf hadoop-1.1.2.tar.gz
    (3)重命名mv hadoop-1.1.2 hadoop(同样是为了以后文件操作的方便,我改)
    (4)设置环境变量,执行命令vi /etc/profile
    增加了一行记录 exportHADOOP_HOME=/usr/local/hadoop
    修改了一行记录 exportPATH=.:$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH
    保存退出
    执行 source /etc/profile(不要忘记)

    如果去掉警告信息,在/etc/profile中增加一行记录(我们在操作配置文件的时候,总是跳出一行警告,我去掉它,方法如下...暂时不解释代码的意思,这需要翻看源代码,这个时候带大家翻看源代码,怕你晕,暂时照做就是了)
    export HADOOP_HOME_WARN_SUPPRESS=1
    (5)修改4个配置文件(在你的hadoop安装目录下有个conf文件夹,进入后寻找如下四个去修改)

1.hadoop-env.sh

exportJAVA_HOME=/usr/local/jdk/(等号后面的值代表你JDK的安装目录,警告:不要简单照抄)

2.core-site.xml

fs.default.name

hdfs://hadoop0:9000(红色加粗表示:当前的主机名,同样不要照抄,还要注意:别把我的括号内容整到你配置文件里面)

hadoop.tmp.dir

/usr/local/hadoop/tmp

3.hdfs-site.xml

dfs.replication

1

4.mapred-site.xml

mapred.job.tracker

hadoop0:9001(红色加粗表示:当前的主机名,同样不要照抄)


千万注意:以上操作可以复制,但不能简单照抄,一定修改主机名为自己的机器主机名
(6)格式化namenode,执行命令hadoop namenode-format(这个步骤很关键)
该操作只能执行一次。
(7)启动,执行命令start-all.sh
关闭,执行命令stop-all.sh
(8)验证:(验证启动的时候是否服务启动正常)两种方法
<1>执行命令jps,查看到新的java进程5个,分别是
NameNode、DataNode、SecondaryNameNode、JobTracker、TaskTracker
<2>访问浏览器,地址是http://主机名:50070(查看node)
http://主机名:50030(查看tracker)
如果在windows下用浏览器访问的话,在配置文件c:/windows/system32/drivers/etc/hosts增加一行记录linux主机的IP主机名

如果要重新格式化hadoop,一定要先删除/usr/local/hadoop/tmp文件夹。
1.8hadoop启动时NameNode不见,常见原因
(1)忘记格式化
(2)配置文件没有改成自己的主机名
(3)主机名与ip没有绑定
(4)绑定的ip错误,不是自己的真实ip
(5)防火墙忘记关闭