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

Hadoop2.7.2集群搭建详解(单机)

185次阅读
没有评论

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

最新版本 Hadoop2.7, 如果安装过以前 Hadoop2.2 或则其他版本,那么集群的安装都是通用的。

如果你还没有虚拟机,请参考:http://www.linuxidc.com/Linux/2017-03/141646.htm
如果你还没有配置 Java,请参考:http://www.linuxidc.com/Linux/2017-03/141649.htm

参考:http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SingleCluster.html

下载安装 Hadoop

1、下载地址

http://hadoop.apache.org/releases.html

Hadoop2.7.2 集群搭建详解(单机)

我下载的是 2.7.2,官网在 2.5 之后默认提供的就是 64 位的,这里直接下载下来用即可

2、安装 Hadoop

tar -zxvf hadoop-2.7.2.tar.gz -C /opt/soft

3、查看 Hadoop 是 32 or 64 位
参考:http://www.linuxidc.com/Linux/2017-03/142049.htm

cd /opt/soft/hadoop-2.7.2/lib/native
file libhadoop.so.1.0.0

Hadoop2.7.2 集群搭建详解(单机)

4、配置 /etc/hosts

vi /etc/hosts

Hadoop2.7.2 集群搭建详解(单机)

配置启动 Hadoop

1、修改 hadoop2.7.2/etc/hadoop/hadoop-env.sh 指定 JAVA_HOME

# The java implementation to use.
export JAVA_HOME=/opt/soft/jdk1.8.0_91

2、修改 hdfs 的配置文件

修改 hadoop2.7.2/etc/hadoop/core-site.xml 如下:

<configuration>
    <!-- 指定 HDFS 老大(namenode)的通信地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://singlenode:9000</value>
    </property>
    <!-- 指定 hadoop 运行时产生文件的存储路径 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/soft/hadoop-2.7.2/tmp</value>
    </property>
</configuration>

这里 fs.defaultFS 的 value 最好是写本机的静态 IP 当然写本机主机名,再配置 hosts 是最好的,如果用 localhost,然后在 windows 用 java 操作 hdfs 的时候,会连接不上主机。

修改 hadoop2.7.2/etc/hadoop/hdfs-site.xml 如下:

<configuration>
    <!-- 设置 hdfs 副本数量 -->
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

3、配置 SSH 免密码登录

配置前:

ssh localhost

Hadoop2.7.2 集群搭建详解(单机)

会出现如上效果,要求我输入本机登录密码

配置方法:

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys

配置后,不用密码可以直接登录了

Hadoop2.7.2 集群搭建详解(单机)

4、hdfs 启动与停止

第一次启动得先格式化(最好不要复制):

./bin/hdfs namenode –format

启动 hdfs

./sbin/start-dfs.sh

看到如下效果表示成功:

Hadoop2.7.2 集群搭建详解(单机)

测试用浏览器访问:(如果没响应,则开发 50070 端口)

firewall-cmd --zone=public --add-port=50070/tcp --permanent
firewall-cmd --reload
http://192.168.2.100:50070/

效果如下:
Hadoop2.7.2 集群搭建详解(单机)

停止 hdfs

sbin/stop-dfs.sh

5、常用操作:
HDFS shell
查看帮助

hadoop fs -help <cmd>

上传

hadoop fs -put <linux 上文件>  <hdfs 上的路径>

查看文件内容

hadoop fs -cat <hdfs 上的路径>

查看文件列表

hadoop fs -ls /

下载文件

hadoop fs -get <hdfs 上的路径>  <linux 上文件>

上传文件测试
创建一个 words.txt 文件并上传

vi words.txt

Hello World
Hello Tom
Hello Jack
Hello Hadoop
Bye   hadoop

将 words.txt 上传到 hdfs 的根目录

bin/hadoop fs -put words.txt /

可以通过浏览器访问:http://192.168.2.100:50070/

Hadoop2.7.2 集群搭建详解(单机)

这里的 words.txt 就是我们上传的 words.txt

配置启动 YARN

Hadoop2.7.2 集群搭建详解(单机)

从上图看看出我们的 MapReduce 是运行在 YARN 上的,而 YARN 是运行在 HDFS 之上的,我们已经安装了 HDFS 现在来配置启动 YARN,然后运行一个 WordCount 程序。

1、配置 etc/hadoop/mapred-site.xml:

mv mapred-site.xml.template mapred-site.xml

<configuration>
    <!-- 通知框架 MR 使用 YARN -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

2、配置 etc/hadoop/yarn-site.xml:

<configuration>
    <!-- reducer 取数据的方式是 mapreduce_shuffle -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

3、YARN 的启动与停止

启动

./sbin/start-yarn.sh

如下:

Hadoop2.7.2 集群搭建详解(单机)

测试用浏览器访问:(如果没响应,则开发 8088 端口)

Hadoop2.7.2 集群搭建详解(单机)

停止

sbin/stop-yarn.sh

现在我们的 hdfs 和 yarn 都运行成功了,我们开始运行一个 WordCount 的 MP 程序来测试我们的单机模式集群是否可以正常工作。

运行一个简单的 MP 程序

我们的 MapperReduce 将会跑在 YARN 上,结果将存在 HDFS 上:

./bin/hadoop jar /opt/soft/hadoop-2.7.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar  wordcount hdfs://localhost:9000/words.txt hdfs://localhost:9000/out

用 hadoop 执行一个叫 hadoop-mapreduce-examples.jar 的 wordcount 方法,其中输入参数为 hdfs 上根目录的 words.txt 文件,而输出路径为 hdfs 跟目录下的 out 目录,运行过程如下:

Hadoop2.7.2 集群搭建详解(单机)

我们通过浏览器访问和下载查看结果:

Hadoop2.7.2 集群搭建详解(单机)

这里下载的时候会跳转到另一个地址如下:

http://singlenode:50075/webhdfs/v1/out/part-r-00000?op=OPEN&namenoderpcaddress=localhost:9000&offset=0

1、需把 singlenode 换成 192.168.2.100 或是在 hosts 里加入 192.168.2.100 singlenode 隐射关系

2、需开放 50075 端口。

下载下来结果如下:

Bye 1
Hadoop  2
Hello   4
Jack    1
Tom 1
World   1

说明我们已经计算出了,单词出现的次数。

至此,我们 Hadoop 的单机模式搭建成功。

下面关于 Hadoop 的文章您也可能喜欢,不妨看看:

Ubuntu14.04 下 Hadoop2.4.1 单机 / 伪分布式安装配置教程  http://www.linuxidc.com/Linux/2015-02/113487.htm

CentOS 6.3 下 Hadoop 伪分布式平台搭建  http://www.linuxidc.com/Linux/2016-11/136789.htm

Ubuntu 14.04 LTS 下安装 Hadoop 1.2.1(伪分布模式)http://www.linuxidc.com/Linux/2016-09/135406.htm

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

实战 CentOS 系统部署 Hadoop 集群服务 http://www.linuxidc.com/Linux/2016-11/137246.htm

Hadoop 2.6.0 HA 高可用集群配置详解  http://www.linuxidc.com/Linux/2016-08/134180.htm

Spark 1.5、Hadoop 2.7 集群环境搭建  http://www.linuxidc.com/Linux/2016-09/135067.htm

在 Ubuntu X64 上编译安装 Hadoop http://www.linuxidc.com/Linux/2016-12/138568.htm

CentOS 6.7 安装 Hadoop 2.7.3  http://www.linuxidc.com/Linux/2017-01/139089.htm

CentOS7+Hadoop2.5.2+Spark1.5.2 环境搭建  http://www.linuxidc.com/Linux/2017-01/139364.htm

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

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-03/142050.htm

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