阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

RedHat安装Hadoop0.20.2小集群

235次阅读
没有评论

共计 8314 个字符,预计需要花费 21 分钟才能阅读完成。

在安装 Hadoop 之前先确保每台机器都装有 jdk,版本什么路径什么的最好一样,然后配置好 master 对其他 slavers 的 SSH 无密码访问 < 可以参考:http://www.linuxidc.com/Linux/2013-12/93698.htm >

确保上述条件满足之后就可以开始安装 Hadoop 了

首先我的版本信息:

    LinuxOS:RedHat Enterprise 6.0 两台(VMWare 虚拟机),一台 master,两台 slave,master 也是 slave

    Hadoop:0.20.2< 下载地址:http://archive.apache.org/dist/hadoop/core/>

  系统配置:master 主机名:rh01 ip:192.168.1.8

                      slave    主机名:rh02 ip:192.168.1.9

得确保机器之间能够互相访问

下面开始 Hadoop 安装

1. 将下载 hadoop 文件解压,tar 文件使用 tar -zxvf file_name    可以在后面加上 - C 指定解压路径,最好放到一个固定地方,所有机器路径必须保证一直

2. 解压之后在 hadoop-0.20.2(安装根目录)下会看到一个 conf 文件夹,所有的 hadoop 配置都在这个文件夹下,也是最主要的

3. 配置 Hadoop 环境变量:

export JAVA_HOME=/develop/java/jdk1.7.0_25
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export HADOOP_HOME=/develop/hadoop/hadoop-0.20.2

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin

4. 配好环境变量之后可以选择重启机器让 prfile 文件生效,或者执行 source /etc/profile 也可

5. 下面开始配置 Hadoop 配置文件,有 hadoop-env.sh,core-site.xml,hdfs-site.xml,mapred-site.xml,masters,slaves6 个文件需要修改

(1)hadoop-env.sh:在 hadoop-env.sh 后面添加 JAVA_HOME 值,这个值被注释掉了,可以直接去掉注释然后将值改成你 jdk 安装路径即可

(2)core-site.xml:在 configuration 节点中添加,其中 ip 为 master ip,9000 为端口,注意必须是以 hdfs 开头,不是 http

<property>
    <name>fs.default.name</name>
    <value>hdfs://192.168.1.8:9000</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/develop/hadoop/tmp</value>
  </property>
(3)hdfs-site.xml:在 configuration 节点中添加,其中 dfs.replication 值需要注意,如果你的 salves 机器数 <3,那就写 1 或者 2,大于 2 就写 3 就可以了,
        我这里是两个 slave,所以写 2
<!– dfs.replication,设置数据块的复制次数,默认是 3,如果 slave 节点数少于 3,则写成相应的 1 或者 2 –>
<property>
 <name>dfs.replication</name>
 <value>2</value>
</property>
<property>   
        <!– DFS 中存储文件命名空间信息的目录 –>   
        <name>dfs.name.dir</name>   
        <value>/develop/hadoop/dfs/name</value>   
</property> 
<property>   
 <!– DFS 中存储文件数据的目录 –>   
 <name>dfs.data.dir</name>   
 <value>/develop/hadoop/dfs/data</value>   
</property>   
<property>   
 <!– 是否对 DFS 中的文件进行权限控制(测试中一般用 false)–>   
 <name>dfs.permissions</name>   
 <value>false</value>   
</property>

(4)mapred-site.xml:没有这个文件就新建一个即可,其中 mapred.job.tracker 是配置 jobtracker,ip 为 master ip,端口 9001,注意必须是以 hdfs 开头,不是 http<PRE class=html name=”code”><configuration>
<property>   
        <!– JobTracker 节点 –>   
        <name>mapred.job.tracker</name>   
        <value>hdfs://192.168.1.8:9001</value>   
</property>   
<property>   
        <!– map/reduce 的系统目录(使用的 HDFS 的路径)–>   
        <name>mapred.system.dir</name>   
        <value>/develop/hadoop/mapred/system</value>   
</property>   
<property>   
        <!– map/reduce 的临时目录(可使用“,”隔开,设置多重路径来分摊磁盘 IO)–>   
        <name>mapred.local.dir</name>   
        <value>/develop/hadoop/mapred/local</value>   
</property>   

</configuration>

(5)master:这个文件中写的是 master ip(也有资料说是应该写 SecondaryNameNode,新手我们就不管吧,反正只要写 master ip 就可以了)

(1)hosts 第一行 127.0.0.1 后面不要写主机名,也就是 HOSTNAME 值

(6)slaves:这个文件写的是 slave ip,有几个写几个,分行写,master 也可以作为 slave 节点,同 master 最好都写 ip,不要写 hostname

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2013-12/93699p2.htm

相关阅读

Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

搭建 Hadoop 环境(在 Winodws 环境下用虚拟机虚拟两个 Ubuntu 系统进行搭建)http://www.linuxidc.com/Linux/2011-12/48894.htm

6. 将 Hadoop 安装目录整个 copy 到所有 salve 主机上,使用 scp - r 命令即可,同时也可以将 /etc/profile 文件也 copy 过去,反正 profile 和 hadoop 都得保证完全一致,路径也是
7. 到这里配置应该就完成了,再启动 hadoop 前我们需要先格式化 namenode:#hadoop namenode -format,这里如果如果提示没有 hadoop 命令,则先到 profile 中确认 $HADOOP_HOME/bin 加入到 path 中,其次可以进入到 hadoop 安装目录下使用:#bin/hadoop namenode -format 试试,如果还是不行就那检查你的上面配置的文件是否
有错.
8. 格式化成功之后就可以启动 hadoop 了,可以直接启动 start-all.sh(配置完全正确情况下这个命令无论在什么目录下都可以执行),之后就可以看到 hadoop 启动了,你会发现显示将启动日志保存到一个路径下,这些日志在 hadoop 安装目录的 logs 文件夹下,是很重要的,但是当你出错时可以清空 logs 下所有文件,然后重新启动机器让他生成日志,在查看日志信息,因为日志比较多,看起来就不方便,嘿嘿。如果日志没问题那就 OK。
9. 在每台机器上使用:#jps 可以查看 hadoop 进程情况,启动成功 slave 应该显示:tasktracker jps datanode 三个进程,master 显示:jobtracker namenode sencondarynamenode jps 要是 master 也是 slave 的话会多 tasktracker datanode 两个进程
10. 一切 OK 之后可以使用浏览器访问 http://192.168.1.8:50030/ ip 是 master ip,查看 hadoop 运行情况,之后可以试着做 hadoop 自带的小测试,自己去网上找吧

我知道一次安装成功可以性很小,你是新手的话,所以会出现各种各样的问题,在这里说下可能会出现的问题吧,也是我遇到的问题
java.io.IOException: Call to /192.168.1.8:9000 failed on local exception: java.net.NoRouteToHostException: No route to host
(1)hadoop 版本问题,劝新手不要一开始就是用 2.0 版本及以上的,首先 2.0 的资料较少,其他不是很稳定貌似,配置也比较繁琐,我反正弄了一周没搞好,然后果断换了 0.20.2 才搞定。
(2)如果启动失败,log 中显示无法连接 master 什么的,那问题就出在 /etc/hosts 文件中,这里配置了主机信息,hosts 文件配置有点怪,下面是我的 master hosts 和 slave hosts
master:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
HOSTNAME=rh01
192.168.1.8 rh01
192.168.1.9 rh02

slave:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
HOSTNAME=rh02
192.168.1.9 rh02

192.168.1.8 rh01

注意之处在于

(1)hosts 第一行 127.0.0.1 后面不要写主机名,也就是 HOSTNAME 值

(2)在 HOSTNAME 后面写 ip 与主机名映射的时候一定要先写本机 ip
(3)防火墙,这个坑爹的货在 hadoop 中始终是个麻烦,在启动 hadoop 之前需要将所有机器防火墙关闭,使用:#service iptables stop,也可以直接使用:#chkconfig iptables off 命令设置防火墙不自启动,这样下次防火墙就不会自启动了

我就总结出这三点可能会影响 hadoop 启动的,错误都是无法连接主机,要是其他错误那就好好看看 conf 下的那些配置文件是否有错了

好了,安装吧,启动吧,开心吧,查看吧,失望吧,排错吧,绝望吧,总之坚持住你就能搞定 嘻嘻~~~

更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

更多 RedHat 相关信息见RedHat 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=10

在安装 Hadoop 之前先确保每台机器都装有 jdk,版本什么路径什么的最好一样,然后配置好 master 对其他 slavers 的 SSH 无密码访问 < 可以参考:http://www.linuxidc.com/Linux/2013-12/93698.htm >

确保上述条件满足之后就可以开始安装 Hadoop 了

首先我的版本信息:

    LinuxOS:RedHat Enterprise 6.0 两台(VMWare 虚拟机),一台 master,两台 slave,master 也是 slave

    Hadoop:0.20.2< 下载地址:http://archive.apache.org/dist/hadoop/core/>

  系统配置:master 主机名:rh01 ip:192.168.1.8

                      slave    主机名:rh02 ip:192.168.1.9

得确保机器之间能够互相访问

下面开始 Hadoop 安装

1. 将下载 hadoop 文件解压,tar 文件使用 tar -zxvf file_name    可以在后面加上 - C 指定解压路径,最好放到一个固定地方,所有机器路径必须保证一直

2. 解压之后在 hadoop-0.20.2(安装根目录)下会看到一个 conf 文件夹,所有的 hadoop 配置都在这个文件夹下,也是最主要的

3. 配置 Hadoop 环境变量:

export JAVA_HOME=/develop/java/jdk1.7.0_25
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export HADOOP_HOME=/develop/hadoop/hadoop-0.20.2

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin

4. 配好环境变量之后可以选择重启机器让 prfile 文件生效,或者执行 source /etc/profile 也可

5. 下面开始配置 Hadoop 配置文件,有 hadoop-env.sh,core-site.xml,hdfs-site.xml,mapred-site.xml,masters,slaves6 个文件需要修改

(1)hadoop-env.sh:在 hadoop-env.sh 后面添加 JAVA_HOME 值,这个值被注释掉了,可以直接去掉注释然后将值改成你 jdk 安装路径即可

(2)core-site.xml:在 configuration 节点中添加,其中 ip 为 master ip,9000 为端口,注意必须是以 hdfs 开头,不是 http

<property>
    <name>fs.default.name</name>
    <value>hdfs://192.168.1.8:9000</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/develop/hadoop/tmp</value>
  </property>
(3)hdfs-site.xml:在 configuration 节点中添加,其中 dfs.replication 值需要注意,如果你的 salves 机器数 <3,那就写 1 或者 2,大于 2 就写 3 就可以了,
        我这里是两个 slave,所以写 2
<!– dfs.replication,设置数据块的复制次数,默认是 3,如果 slave 节点数少于 3,则写成相应的 1 或者 2 –>
<property>
 <name>dfs.replication</name>
 <value>2</value>
</property>
<property>   
        <!– DFS 中存储文件命名空间信息的目录 –>   
        <name>dfs.name.dir</name>   
        <value>/develop/hadoop/dfs/name</value>   
</property> 
<property>   
 <!– DFS 中存储文件数据的目录 –>   
 <name>dfs.data.dir</name>   
 <value>/develop/hadoop/dfs/data</value>   
</property>   
<property>   
 <!– 是否对 DFS 中的文件进行权限控制(测试中一般用 false)–>   
 <name>dfs.permissions</name>   
 <value>false</value>   
</property>

(4)mapred-site.xml:没有这个文件就新建一个即可,其中 mapred.job.tracker 是配置 jobtracker,ip 为 master ip,端口 9001,注意必须是以 hdfs 开头,不是 http<PRE class=html name=”code”><configuration>
<property>   
        <!– JobTracker 节点 –>   
        <name>mapred.job.tracker</name>   
        <value>hdfs://192.168.1.8:9001</value>   
</property>   
<property>   
        <!– map/reduce 的系统目录(使用的 HDFS 的路径)–>   
        <name>mapred.system.dir</name>   
        <value>/develop/hadoop/mapred/system</value>   
</property>   
<property>   
        <!– map/reduce 的临时目录(可使用“,”隔开,设置多重路径来分摊磁盘 IO)–>   
        <name>mapred.local.dir</name>   
        <value>/develop/hadoop/mapred/local</value>   
</property>   

</configuration>

(5)master:这个文件中写的是 master ip(也有资料说是应该写 SecondaryNameNode,新手我们就不管吧,反正只要写 master ip 就可以了)

(1)hosts 第一行 127.0.0.1 后面不要写主机名,也就是 HOSTNAME 值

(6)slaves:这个文件写的是 slave ip,有几个写几个,分行写,master 也可以作为 slave 节点,同 master 最好都写 ip,不要写 hostname

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2013-12/93699p2.htm

相关阅读

Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

搭建 Hadoop 环境(在 Winodws 环境下用虚拟机虚拟两个 Ubuntu 系统进行搭建)http://www.linuxidc.com/Linux/2011-12/48894.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计8314字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中