Hadoop伪分布式集群搭建
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop伪分布式集群搭建相关的知识,希望对你有一定的参考价值。
一. HDFS安装及配置
- 更改主机名称
[root@localhost ~]# hostname node1 (可选)
[root@localhost ~]# vim /etc/hostname (必选)
[root@localhost ~]# vim /etc/sysconfig/network (可选)
[root@localhost ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=node1
- 配置静态ip和主机的映射
[root@localhost ~]# vim /etc/hosts
添加如下IP与主机名映射关系
192.168.100.11 node1
[root@localhost ~]# cat /etc/hosts
- 在/opt目录下建立三个文件夹
- modules(负责放解压后的文件)
- software(负责放软件安装包)
- tools(负责存放工具)
cd /opt
mkdir modules
mkdir software
mkdir
- 使用Xftp将jdk上传到software中并且解压到modules(其中事先要安装Xshell与Xftp)
#tar -xzvf解压文件所在目录 -C 解压到的目录
tar -xzvf /opt/software/jdk-8u191-linux-x64.tar.gz -C /opt/modules/
cd /opt/modules
mv jdk1.8.0_191 jdk #重命名为 jdk,有利于升级后的替换(环境变量没有版本号,这样不用更改配置的环境变量,只需替换程序即可)
- 配置java环境变量
vim /etc/profile # 在此文件后追加以下两句
export JAVA_HOME=/opt/modules/jdk
export PATH=$PATH:$JAVA_HOME/bin
- 保存配置文件使其生效
source
- 检测
我们会发现此时安装的jdk是Linux自带的(OpenJDK),我们必须将它删除
a: 我们先找到之前安装的版本按照java找
rpm -qa|grep java (若没有则跳到c步骤)
b: 删除
rpm -e --nodeps (jdk版本)
c: source /etc/profile
[root@localhostjdk]# java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
- 配置ssh
A: 在主机创建秘钥:ssh-keygen-t rsa(依次回车直到生成密钥)
[root@node1 ~]# ssh-keygen -t rsa
- 开始安装hadoop
A: 将本地hadoop-2.9.2.tar.gz上传到/opt/software
B: 解压hadoop到/opt/modules
tar -xzvf /opt/software/hadoop-2.9.2.tar.gz -C /opt/modules
cd /opt/modules
C:将解压后的文件名改为hadoop(去掉版本号,便于升级)
mv
- 配置hadoop环境变量
vim /etc/profile
export HADOOP_HOME=/opt/modules/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
- 刷新配置文件
source
- 配置core-site.xml(
默认在/modules/hadoop/etc/hadoop下
,将以下内容添加到configration中间)
[root@node1 opt]# cd /opt
[root@node1 opt]# cd modules
[root@node1 modules]# cd hadoop
[root@node1 hadoop]# cd etc
[root@node1 etc]# cd hadoop
[root@node1 etc]# vim core-site.xml
(将以下内容添加到configration中间)
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:9000/</value>
</property>
</configuration>
- 配置hdfs-site.xml
配置hdfs-site.xml
cd
(将以下内容添加到configration中间)
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
</configuration>
14.配置yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node1</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
- 配置mapred-site.xml.template
mv
然后将以下内容添加到configration中间
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
- 配置slaves文件
vim slaves
# 一台主机一行
- 配置hadoop-env.sh (设置java的环境变量)
export JAVA_HOME=/opt/modules/jdk
- 格式化namenode
source
- 启动hdfs节点
start-dfs.sh
- 启动yarn节点
start-yarn.sh
查看各服务是否启动,搭建成功
- hadoop成功安装测试
- 在各节点上输入下面的指令若出现hadoop版本信息则安装hadoop成功
hadoop version
- 通过浏览器可以访问 http://192.168.100.3:50070
- 浏览器输入 http://172.16.11.17:8088/
- 创建文件目录并查看目录下文件
- 上传文件
- 下载文件并查看文件
- 通过UI查看块存储的位置
二. 简单应用
- 统计一下某个文件当中的每个单词出现的次数。
把hadoop目录下的README.txt文件上传到HDFS系统根目录下,上传的命令是:
hdfs dfs -put /opt/modules/hadoop/README.txt /words
接下来我们该执行wordcount命令:
cd
执行成功之后我们再来看一下HDFS系统根目录下的文件列表,发现多了一个wcout文件,如下图所示。我们再进入这个wcout文件夹当中看里面都有哪些东西:
我们发现它的里面有两个文件,其中/wcout/part-r-00000这个文件中保存了我们计算的结果。我们再具体看看这个part-r-00000文件当中的具体内容是什么:
发现这个文件里面记录着每个单词出现的次数。
以上是关于Hadoop伪分布式集群搭建的主要内容,如果未能解决你的问题,请参考以下文章