Hadoop伪分布式集群搭建

0.545字数 1371阅读 3261

所谓的伪分布式集群搭建指的是单主机的环境,所以我的暂时只需要一台虚拟机即可
本次使用的是hadoop-2.8.0版本

1.配置主机环境

Hadoop的搭建依赖于JDK 所以在搭建之前需要将JDK安装完毕

1.1 修改主机名称 本次我会使用使用 hadooop-alone 的名称
`vim /etc/hostname` 
1.2 在hosts文件中进行主机的注册(tips:如果不注册在启动Hadoop时候报错)

vim /etc/hosts

主机注册

网络编辑器的模式建议使用 <NAT模式> 以避免ip的重复带来的不便

1.3 配置SSH免登陆连接
  • 删除现在已经有的ssh配置 rm -r ~/.ssh (tips:如果之前没有配置过 会显示No such file or directory)
  • 生成新的 ssh-key : ssh-keygen -t rsa (生成新的ssh-key 以rsa加密的方式)
    显示这样的时候 公钥生成成功
  • 为本机进行公钥的注册写入 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    在配置完后可以用 cat ~/.ssh/authorized_keys查看公钥
    公钥配置结果显示
1.4测试SSH连接

ssh root@hadoop-alone (@后为需要SSH连接的主机名称) <测试后可以用exit退出>

成功时的显示结果

2.进行 Hadoop的安装

我们可以选择将安装包下载到本地上传到系统之中 或者可以选择用wget命令直接通过服务器获取 wget http://apache.fayea.com/hadoop/common/hadoop-2.8.0/hadoop-2.8.0.tar.gz (本次我选择从本地上传) <利用FTP工具>

2.1 将hadoop的开发包上传到Linux系统中,并将其解压

tar xzvf /srv/ftp/hadoop-2.8.0.tar.gz -C /usr/local/
x : 从 tar 包中把文件提取出来
z : 表示 tar 包是被 gzip 压缩过的,所以解压时需要用 gunzip 解压
v : 显示详细信息
f xxx.tar.gz : 指定被处理的文件是 xxx.tar.gz

2.2 文件夹的更名操作

由于解压后的文件名称过于冗长还会包括到版本的名称 所以将文件夹进行更名
mv /usr/local/hadoop-2.8.0/ /usr/local/hadoop
mv命令具有移动和更名的作用

2.3 修改profile配置文件 追加配置路径
  • 打开profile配置文件 vim /etc/profile 在最后追加导入操作
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
追加操作
  • 保存后使其配置文件生效 source /etc/profile
2.4手工配置JDK

Hadoop是基于JAVA的开发包,但是有时候他会找不到profile里配置的JAVA_HOME,所以我们需要手工配置下JDK以保证Hadoop的正确运行
vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh
找到其里面的JAVA_HOME的配置 将其改为
export JAVA_HOME=/usr/local/jdk

2.5测试Hadoop

Hadoop 安装完成之后有一个测试的环境命令 用于单词的统计

  • 设置输入的路径 在此进行统计的普通文本文件
    mkdir -p /usr/test/hadoop/input
  • 将Hadoop下的README.txt文件拷贝到此路径下
    cp /usr/local/hadoop/README.txt /usr/test/hadoop/input/
2.6进行统计操作
  • 路径: /usr/local/hadoop/share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.8.0-sources.jar
    程序类 : org.apache.hadoop.examples.WordCount
  • 使用Hadoop命令进行统计测试
    hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.8.0-sources.jar org.apache.hadoop.examples.WordCount /usr/test/hadoop/input /usr/test/hadoop/output
结果显示

可以使用cat /usr/test/hadoop/output/part-r-00000 查看输出目录

3. 搭建Hadoop伪分布式集群

  • 伪分布式集群中有三个核心的配置文件 core-site.xml , hdfs-site.xml , yarn-site.xml
  • 其所有的配置文件都保存在 /usr/local/hadoop/etc/hadoop 目录下
3.1 修改core-site.xml的配置文件 <是Hadoop在运行时候的核心文件>
  • 建立一个保存临时目录的路径 : mkdir -p /usr/data/hadoop/tmp
    Hadoop默认启动的时候使用的是系统下的 /temp 目录下,但是在每一次重启的时候系统都会将其自动清空 ,如果没有临时的储存目录有可能会在下一次启动Hadoop的时候出现问题
  • 编辑core-site.xml配置文件 vim /usr/local/hadoop/etc/hadoop/core-site.xml
<configuration>
   <property>
      <name>hadoop.tmp.dir</name>
      <value>/usr/data/hadoop/tmp</value>
   </property>
   <property>
    <name>fs.defaultFS</name>
    <value>hdfs://hadoop-alone:9000</value>
   </property>
</configuration>
3.2 修改hdfs-site.xml的配置文件 <进行HDFS 分布式储存的配置>
  • 建立 namenode 进程的保存路径 : mkdir -p /usr/data/hadoop/dfs/name
  • 建立 datanode 进程的保存路径 : mkdir -p /usr/data/hadoop/dfs/data
    如果此时Hadoop网络环境发生了变化,两个目录需要清空 否则启动不了
  • 编辑配置文件 : vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml
<configuration>
   <property>
    <name>dfs.replication</name>
    <value>1</value>
   </property>
   <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:///usr/data/hadoop/dfs/name</value>
   </property>
   <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:///usr/data/hadoop/dfs/data</value>
   </property>
   <property>
    <name>dfs.permissions</name>
    <value>false</value>
   </property>
</configuration>
3.3 修改yarn-site.xml的配置文件 <进行yarn 分析结构使用>
  • 修改配置文件 vim /usr/local/hadoop/etc/hadoop/yarn-site.xml
<configuration>
   <property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>hadoop-alone:8033</value>
   </property>
   <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
   </property>
   <property>
    <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
   </property>
   <property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>hadoop-alone:8025</value>
   </property>
   <property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>hadoop-alone:8030</value>
   </property>
   <property>
    <name>yarn.resourcemanager.address</name>
    <value>hadoop-alone:8050</value>
   </property>
   <property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>hadoop-alone:8030</value>
   </property>
   <property>
     <name>yarn.resourcemanager.webapp.address</name>
     <value>hadoop-alone:8088</value>
   </property>
   <property>
    <name>yarn.resourcemanager.webapp.https.address</name>
    <value>hadoop-alone:8090</value>
   </property>
</configuration>
3.4修改从节点的配置文件
  • 修改配置文件 vim /usr/local/hadoop/etc/hadoop/slaves
    将其修改为与主机名称一致 hadoop-alone
3.5将数据目录格式化
  • 现在的数据保存在了/usr/data/hadoop/{name,data}目录下,如果想使用,就必须将目录格式化操作 --> hdfs namenode -format
在最后显示status 0 则为配置成功
3.6启动Hadoop所有进程 start-all.sh
启动后的显示界面
3.7 使用jps命令 查看Java的进程信息
jps结果显示
3.8 可使用netstat -nptl查看其端口
3.9 修改windows主机的hosts配置
  • 文件路径 C:\Windows\System32\drivers\etc\hosts
    添加此操作 192.168.5.130 hadoop-alone
    随后访问 http://hadoop-alone:50070/
恭喜 配置成功啦!

推荐阅读更多精彩内容