设为首页 加入收藏

TOP

Hadoop单机、伪分布式集群搭建(十分详细)
2018-11-29 08:43:00 】 浏览:49
Tags:Hadoop 单机 分布式 集群 搭建 十分 详细


原文地址:http://blog.csdn.net/dr_guo/article/details/50886667


下面我就一边搭建一边写怎么搭建Hadoop伪分布模式。


1.下载jdk并安装

去官网下就可以了,下完之后把文件移到/opt/Java下

  1. guo@guo:~/下载$mv./hadoop-2.7.2-src.tar.gz/opt/Hadoop/
  2. mv:无法创建普通文件"/opt/Hadoop/hadoop-2.7.2.tar.gz":权限不够
  3. guo@guo:~/下载$suroot#你用sudo也可以,我是直接换到root用户了,写顺手了
  4. 密码:
  5. root@guo:/home/guo/下载#mv./hadoop-2.7.2.tar.gz/opt/Hadoop/
  6. root@guo:/home/guo/下载#mv./jdk-8u73-linux-x64.tar.gz/opt/Java/
解压
  1. root@guo:/opt#cdJava/
  2. root@guo:/opt/Java#ll
  3. 总用量177072
  4. drwxr-xr-x2rootroot40963月1415:54./
  5. drwxr-xr-x4rootroot40963月1415:51../
  6. -rw-rw-r--1guoguo1813107013月1415:47jdk-8u73-linux-x64.tar.gz
  7. root@guo:/opt/Java#tar-zxvfjdk-8u73-linux-x64.tar.gz

修改文件所有者(用户:用户组)

  1. root@guo:/home/guo#chown-Rguo:guo/opt/Java/jdk1.8.0_73/
  2. root@guo:/home/guo#cd/opt/Java/
  3. root@guo:/opt/Java#ll
  4. 总用量177076
  5. drwxr-xr-x3rootroot40963月1415:59./
  6. drwxr-xr-x4rootroot40963月1415:51../
  7. drwxr-xr-x8guoguo40961月3009:53jdk1.8.0_73/
  8. -rw-rw-r--1guoguo1813107013月1415:47jdk-8u73-linux-x64.tar.gz

设置java环境变量

  1. sudogedit/etc/profile
在文件最后加上
  1. #java
  2. exportJAVA_HOME=/opt/Java/jdk1.8.0_73
  3. exportJRE_HOME=/opt/Java/jdk1.8.0_73/jre
  4. exportCLASSPATH=$JAVA_HOME/lib
  5. exportPATH=:$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
之后更新配置文件
  1. source/etc/profile
然后查看java是否配置成功
  1. guo@guo:~$java-version
  2. javaversion"1.8.0_73"
  3. Java(TM)SERuntimeEnvironment(build1.8.0_73-b02)
  4. JavaHotSpot(TM)64-BitServerVM(build25.73-b02,mixedmode)
恭喜你第一步已经完成了!

2.配置SSH无密码登录(报错看这:ssh: connect to host localhost port 22: Connection refused

注:ssh 用户名@主机名 ,如果直接ssh 主机名,它会以你那台机器的当前用户登录,所以另一台机器要有同样的用户。

从一台Linux主机登录到另一台Linux主机上(或发送一条指令到另外的机器上执行),如果集群有很多台机器,你挨个输密码肯定不行,所以要配置SSH无密码登录。

安装openssh-server

  1. guo@guo:~$suroot
  2. 密码:
  3. root@guo:/home/guo#apt-getinstallopenssh-server
创建ssh-key(用rsa这种加密算法)
  1. root@guo:/home/guo#ssh-keygen-trsa
多次回车即可,然后进入~/.ssh目录(“.”表示这是一个隐藏文件)
  1. root@guo:/home/guo#cd~/.ssh
  2. root@guo:~/.ssh#ll
  3. 总用量16
  4. drwx------2rootroot40963月1416:20./
  5. drwx------4rootroot40963月1416:20../
  6. -rw-------1rootroot16793月1416:20id_rsa
  7. -rw-r--r--1rootroot3903月1416:20id_rsa.pub
复制一份,改名为公钥
  1. root@guo:~/.ssh#cpid_rsa.pubauthorized_keys
  2. root@guo:~/.ssh#ll
  3. 总用量20
  4. drwx------2rootroot40963月1416:22./
  5. drwx------4rootroot40963月1416:20../
  6. -rw-r--r--1rootroot3903月1416:22authorized_keys
  7. -rw-------1rootroot16793月1416:20id_rsa
  8. -rw-r--r--1rootroot3903月1416:20id_rsa.pub

修改公钥权限(一定要改)

  1. guo@guo:~/.ssh$chmod600authorized_keys#4+200
  2. guo@guo:~/.ssh$ll
  3. 总用量56
  4. drwx------2guoguo40963月1518:41./
  5. drwx------20guoguo40963月1517:56../
  6. -rw-------1guoguo3893月1518:41authorized_keys
  7. -rw-------1guoguo16793月1518:41id_rsa
  8. -rw-r--r--1guoguo3893月1518:41id_rsa.pub
  9. -rw-r--r--1guoguo4443月1518:37known_hosts

然后测试是否成功

  1. guo@guo:~/.ssh$sshguo
  2. WelcometoUbuntu15.10(GNU/Linux4.2.0-16-genericx86_64)
  3. *Documentation:https://help.ubuntu.com/
  4. 0packagescanbeupdated.
  5. 0updatesaresecurityupdates.
  6. Lastlogin:TueMar1518:39:562016from127.0.0.1
  7. guo@guo:~$exit
  8. 注销
  9. Connectiontoguoclosed.
  10. guo@guo:~/.ssh$

3.Hadoop单机模式配置

去官网下最新的Hadoop(http://apache.opencas.org/hadoop/common/stable/),目前最新的是2.7.2,下载完之后把它放到/opt/Hadoop下

  1. guo@guo:~/下载$mv./hadoop-2.7.2.tar.gz/opt/Hadoop/
  2. mv:无法创建普通文件"/opt/Hadoop/hadoop-2.7.2.tar.gz":权限不够
  3. guo@guo:~/下载$suroot
  4. 密码:
  5. root@guo:/home/guo/下载#mv./hadoop-2.7.2.tar.gz/opt/Hadoop/
解压
  1. guo@guo:/opt/Hadoop$sudotar-zxfhadoop-2.7.2.tar.gz
  2. [sudo]guo的密码:
解压jdk的时候我用的是tar -zxvf,其中的v呢就是看一下解压的过程,不想看你可以不写。

修改文件所有者(用户:用户组)

  1. root@guo:/opt/Hadoop#chown-Rguo:guo/opt/Hadoop/hadoop-2.7.2
  2. root@guo:/opt/Hadoop#ll
  3. 总用量224960
  4. drwxr-xr-x4rootroot40963月1418:14./
  5. drwxr-xr-x4rootroot40963月1415:51../
  6. drwxr-xr-x11guoguo40963月1421:16hadoop-2.7.2/

设置环境变量

  1. guo@guo:/opt/Hadoop$sudogedit/etc/profile
在最后加上(这样设置在执行bin/sbin目录下的命令时就不用进入该目录用了)
  1. #hadoop
  2. exportHADOOP_HOME=/opt/Hadoop/hadoop-2.7.2
  3. exportPATH=$PATH:$HADOOP_HOME/sbin
  4. exportPATH=$PATH:$HADOOP_HOME/bin
然后更新配置
  1. guo@guo:/opt/Hadoop$source/etc/profile

修改/opt/Hadoop/hadoop-2.7.2/etc/hadoop下的hadoop-env.sh

  1. guo@guo:/opt/Hadoop$cdhadoop-2.7.2
  2. guo@guo:/opt/Hadoop/hadoop-2.7.2$cdetc/hadoop/
  3. guo@guo:/opt/Hadoop/hadoop-2.7.2/etc/hadoop$sudogedit./hadoop-env.sh
进入文件后
  1. exportJAVA_HOME=${JAVA_HOME}#将这个改成JDK路径,如下
  2. exportJAVA_HOME=/opt/Java/jdk1.8.0_73
然后更新文件配置
  1. guo@guo:/opt/Hadoop/hadoop-2.7.2/etc/hadoop$source./hadoop-env.sh
恭喜你单机模式已经配置好了!这时你就可以运行一下wordcount试试了。


4.Hadoop伪分布模式配置

修改core-site.xml

  1. guo@guo:/opt/Hadoop/hadoop-2.7.2/etc/hadoop$sudogedit./core-site.xml
  2. [sudo]guo的密码:

进入文件后加入以下内容

  1. <configuration>
  2. <property>
  3. <name>fs.default.name</name>
  4. <value>hdfs://localhost:9000</value>
  5. </property>
  6. <property>
  7. <name>hadoop.tmp.dir</name>
  8. <value>/opt/Hadoop/hadoop-2.7.2/tmp</value>
  9. </property>
  10. </configuration>
修改hdfs-site.xml
  1. <configuration>
  2. <property><!--设置副本数1,不写默认是3份-->
  3. <name>dfs.replication</name>
  4. <value>1</value>
  5. </property>
  6. </configuration>

拷贝mapred-site.xml.template一份,修改为mapred-site.xml

  1. sudocpmapred-site.xml.templatemapred-site.xml

并在里面加入

  1. <configuration>
  2. <property>
  3. <name>mapreduce.framework.name</name>
  4. <value>yarn</value>
  5. </property>
  6. </configuration>

修改yarn-site.xml

  1. <configuration>
  2. <property>
  3. <name>yarn.nodemanager.aux-services</name>
  4. <value>mapreduce_shuffle</value>
  5. </property>
  6. </configuration>



格式化hdfs
  1. guo@guo:/opt/Hadoop/hadoop-2.7.2#hdfsnamenode-format

启动hdfs

  1. guo@guo:/opt/Hadoop/hadoop-2.7.2#start-dfs.sh

启动yarn

  1. guo@guo:/opt/Hadoop/hadoop-2.7.2#start-yarn.sh

查看是否成功启动

  1. guo@guo:/opt/Hadoop/hadoop-2.7.2#jps
  2. 10144NodeManager
  3. 9668SecondaryNameNode
  4. 9833ResourceManager
  5. 9469DataNode
  6. 10285Jps
  7. 9311NameNode
如果出现NodeManager DataNode Jps SecondaryNameNode ResourceManage NameNode则表示启动成功(缺一不可)

如果出现下面的情况

  1. guo@guo:/opt/Hadoop/hadoop-2.7.2$jps
  2. 程序'jps'已包含在下列软件包中:
  3. *openjdk-7-jdk(您必须启用main组件)
  4. *openjdk-6-jdk(您必须启用universe组件)
  5. *openjdk-8-jdk(您必须启用universe组件)
  6. 请尝试:sudoapt-getinstall<选定的软件包>

则执行

  1. root@guo:/etc#update-alternatives--install/usr/bin/jpsjps/opt/Java/jdk1.8.0_73/bin/jps1
  2. update-alternatives:使用/opt/Java/jdk1.8.0_73/bin/jps来在自动模式中提供/usr/bin/jps(jps)



查看resourcemanager:http://localhost:8088

查看namenode:http://localhost:50070

恭喜你伪分布模式已经配置好了!



下一篇博客我会专门写一下如何运行wordcount

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Hadoop中MapReduce的简单理解 下一篇搭建Hadoop平台(一)之配置用户..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目