[转帖]Hadoop环境搭建——单节点篇_Hadoop,ERP及大数据讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Hadoop,ERP及大数据讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3192 | 回复: 0   主题: [转帖]Hadoop环境搭建——单节点篇        下一篇 
jie.liang
注册用户
等级:少校
经验:1003
发帖:77
精华:0
注册:2013-10-11
状态:离线
发送短消息息给jie.liang 加好友    发送短消息息给jie.liang 发消息
发表于: IP:您无权察看 2013-10-17 16:22:58 | [全部帖] [楼主帖] 楼主

自漫聊1.0发布以来,研究Hadoop也有一段时间了,目前环境已基本搭建好,规模为15台的小型集群,昨晚测试时是用wordcount统计一个1.2G的log文件,总耗时2分16秒,虽然测试文件不大,但其性能的优越性已经体现出来了。

     闲话不多说了,进正题。

注:本文的环境搭建是针对双系统和linux系统的,而非win下的虚拟机!

     流程:

    装机阶段: 安装ubuntu,jdk和hadoop

     创建一个名为hadoop的用户和用户组

     配置阶段: 配置环境变量

     创建ssh key

     配置hadoop

     运行测试阶段: 格式化namenode

     启动hadoop

     跑wordcount

准备:

ubuntu 10.10
hadoop 0.21.0
jdk1.6.0_23 for linux


装机阶段:

     1、安装ubuntu10.10

wubi的傻瓜式安装应该不用我多说了吧,在win下用虚拟光驱载入,然后执行.......另外补充下,安装时最好断开网络连接(我们是直接拔的网线),因为ubuntu安装过程中需要更新一些语言包之类的东西,那些东西与我们要做的事没什么关系,下载时间又长,所以建议不更新。

     2、安装jdk1.6.0_23

有多种方法,此处只介绍一种

                1、在usr下面新建一个文件夹Java,然后将jdk复制过来(也可直接mv过来)

sudo mkdir /usr/Java


                       sudo cp jdk的路径 /usr/Java

                   2、进入到Java目录下,改变文件权限为可执行

cd /usr/Java
sudo chmod u+x jdk1.6.0_23.bin


                   3、执行安装

sudo ./jdk1.6.0_23.bin
(现象为Unpacking....加一连串解压信息)

3、安装hadoop0.21.0

1、将hadoop0.21.0.tar.gz复制到usr下面的local文件夹内(也可mv)

                        sudo cp hadoop的路径 /usr/local

                    2、进入到local目录下,解压hadoop0.21.0.tar.gz

                        cd /usr/local

                        sudo tar -xzf hadoop0.21.0.tar.gz

                    3、为了方便管理,将解压后的文件夹名改为hadoop

                        sudo mv hadoop0.21.0 hadoop

4、创建一个名为hadoop的用户和用户组

1、创建一个名为hadoop的用户组

                        sudo addgroup hadoop

                    2、创建一个名为hadoop的用户,归到hadoop用户组下

                        sudo adduser --ingroup hadoop hadoop

                        (注1:前一个hadoop为用户组名,后面的是用户名,之所以名字一样是为了方便统一管理

                         注2:执行后会有一些信息需要填写,可以不填,都敲回车,用系统默认的即可,大概5个吧)


                    3、用gedit打开etc下的sudoers文件

sudo gedit /etc/sudoers


                    4、在 root   ALL=(ALL)  ALL 下面添加如下一行,然后保存关闭gedit

hadoop  ALL=(ALL)  ALL
(注1:网上有文档上是说先切换到root用户,然后修改sudoers的权限,再打开添加

                                 hadoop  ALL=(ALL)  ALL ,然后再将权限改回为只读,这样就要特别注意一

                                 定要将权限改回为只读,不然“sudo”命令就无法使用了,很悲剧的说

                           注2:添加 hadoop  ALL=(ALL)  ALL 的意义在于能让hadoop用户使用“sudo”命令


配置阶段:

     1、配置环境变量

 1、用gedit打开etc下的profile文件

sudo gedit /etc/profile


                    2、在文件最后加入如下几行

export CLASSPATH=.:/usr/Java/jdk1.6.0_23/lib:/usr/Java/jdk1.6.0_23/jre/lib:$CLASSPATH
export PATH=.:/usr/Java/jdk1.6.0_23/bin:/usr/Java/jdk1.6.0_23/jre/bin:/usr/local/hadoop/bin:$PATH
(注1:以上所有jre项都不是必需的,可以不要

                         注2:在win中环境变量的值是以“;”号隔开的,而这里是“:”

                         注3:等号后面有个“.”别丢了,它表示当前目录)

                    3、保存后关闭gedit,并重启机器

                        sudo reboot

                        (注:网上也有说用source命令使环境变量立即生效的,但是本人在

                                实际操作时出了几次问题,所以建议重启机器最保险)

                    4、重启后用hadoop用户登录,验证配置是否成功

                        java -version  (此语句执行后如显示了jdk版本的话说明配置成功,如果没有则需检查profile中路径是否正确)

                        (注:最好是用hadoop用户登录,因为以下步骤都是以此为前提的)

2、创建ssh-key

1、确保网络通畅,然后装载ssh服务

                         sudo apt-get install openssh-server

                         (注:如果此语句执行失败且结果为“....包被占用”的话,那么应该是ubuntu的“更新管理器”正在后台更新,你可以选择等待或者关闭更新,更新管理器在“系统”菜单中,具体位置忘了.....)

                     2、创建ssh-key,为rsa (网上文档中也有dsa的)

                         ssh-keygen -t rsa --P

                         (注1:此语句网上文档为 ssh-keygen -t rsa -P "" ,效果一样

                            注2:此语句执行后会要你填写key的保存位置,直接照着系统给出的那个默认位置填,也就是括号里的那个路径,如果全都照此文档操作的话那么括号中路径应该为"/home/hadoop/.ssh/id_rsa")

                     3、将此ssh-key添加到信任列表中,并启用此ssh-key

                         cat /home/hadoop/.ssh/id_rsa.pub >> /home/hadoop/.ssh/authorized_keys

                         sudo /etc/init.d/ssh reload

3、配置hadoop

1、进入到hadoop目录下,配置conf目录下的hadoop-env.sh中的JAVA_HOME

                          cd /usr/local/hadoop

                          sudo gedit conf/hadoop-env.sh

                         (打开后在文档的上部某行有“#export JAVA_HOME=...”字样的地方,去掉“#”,

                           然后在等号后面填写你的jdk路径,完全按此文档来的话应改为 "export JAVA_HOME=/usr/Java/jdk1.6.0_23" )

                      2、配置conf目录下的core-site.xml

                          sudo gedit conf/core-site.xml

                          (打开后标签<configuration> </configuration>中是空的,所以在空的地方加入如下配置)

Xml代码
北京联动北方科技有限公司北京联动北方科技有限公司北京联动北方科技有限公司

  1. <property>
  2. <name>fs.default.name</name>
  3. <value>hdfs://localhost:9000</value>    
  4. </property>
  5. <property>
  6. <name>dfs.replication</name>
  7. <value>1</value>    
  8. </property>
  9. <property>    
  10. <name>hadoop.tmp.dir</name>
  11. <value>/home/hadoop/tmp</value>    
  12. </property>



3、配置conf目录下的mapred-site.xml

                           sudo gedit conf/mapred-site.xml

                          (打开后标签<configuration> </configuration>中也是空的,添加如下配置)

Xml代码
北京联动北方科技有限公司北京联动北方科技有限公司北京联动北方科技有限公司

  1. <property>    
  2. <name>mapred.job.tracker</name>    
  3. <value>localhost:9001</value>
  4. </property>


运行测试阶段:

    1、格式化namenode (首次运行必需滴)


1、保证此时在hadoop目录下,如不在请先进入hadoop目录

cd /usr/local/hadoop


                    2、格式化namenode

hadoop namenode -format


2、启动hadoop

1、修改hadoop文件夹的权限,保证hadoop用户能正常访问其中的文件

sudo chown -hR hadoop /usr/local/hadoop


                       2、启动hadoop

bin/start-all.sh


                       3、验证hadoop是否正常启动

jps
(此语句执行后会列出已启动的东西NameNode,JobTracker,SecondaryNameNode...如果NameNode没有成功启动的话就要先执行"bin/stop-all.sh"停掉所有东西,然后重新格式化namenode,再启动)


3、跑wordcount

1、准备需要进行wordcount的文件

sudo gedit /tmp/test.txt


                            (打开后随便输入一些内容,如"mu ha ha ni da ye da ye da",然后保存退出)

                        2、将准备的测试文件上传到dfs文件系统中的firstTest目录下

hadoop dfs -copyFromLocal /tmp/test.txt firstTest
(注:如dfs中不包含firstTest目录的话就会自动创建一个,关于查看dfs文件系统中已有目录的指令为"hadoop dfs -ls")

                        3、执行wordcount

                            hadoop jar hadoop-mapred-example0.21.0.jar wordcount firstTest result

                           (注:此语句意为“对firstTest下的所有文件执行wordcount,将统计结果输出到result文件夹中”,若result文件夹不存在则会自动创建一个)


                        4、查看结果

hadoop dfs -cat result/part-r-00000
(注:结果文件默认是输出到一个名为“part-r-*****”的文件中的,可用指令“hadoop dfs -ls result”查看result目录下包含哪些文件)


至此单节点环境搭建完成!




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论