0


(详细)Hadoop配置实战-伪分布式

Hadoop集群配置-伪分布式

一、Hadoop相关简介及下载地址

  • Hadoop下载地址

Hadoop-2.7.7

  • jdk下载地址

JDK

  • Hadoop环境配置参考文档

Hadoop文档

  • Hive下载地址

Hive-2.3.6

  • windows系统增加地址映射修改hosts文件属性为可写后添加地址映射C:\Windows\System32\drivers\etc\hosts例:192.168.45.130 hadoop6
  • Hadoop 的三个基础应用模块:HDFS、MapReduce、YARN

HDFS集群:分布式文件系统,用来解决海量大文件的存储问题,由一个NameNode和多个DataNode组成

YARN集群:资源调度/管理系统,由一个ResourceManager和多个NodeManager组成

MapReduce:一套通用的用来解决海量大文件计算的编程模型API

  • Hadoop集群模式

伪分布式、分布式、高可用(HA)、联邦集群

  • 解压
tar -zxvf hadoop-2.7.7.tar.gz -C /root/install/
  • NameNode简介
NameNode服务管理了HDFS集群的命名空间和“inode table”

一个hdfs集群只有一个namenode(HA和联邦除外)

namenode管理两个关键表:
    文件和数据块序列之间 --关系表
    block(数据块) -> 机器列表(datanode)--映射表

二、配置步骤

1.配置环境变量

  • 目的:方便执行命令

vi /etc/profile

JAVA_HOME=  
HADOOP_HOME=
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/us
r/local/games:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin"
  • source /etc/profile 或 reboot 使之生效

vi /etc/hosts

  • 设置主机地址映射

ssh免密登入

  • 本机免密登入本机
# ssh localhost         --ssh本机
# exit                  --退出ssh
# cd ~/.shh             --进入.ssh目录
# ls -la                   --查看文件
# ssh-keygen -t rsa       --获取rsa密钥,有提示全部按回车即可
# cat ./id_rsa.pub >> ./authorized_keys      --将私钥钥加入到授权中
# ssh locallost       --无需登入密码则成功

2.配置集群相关参数

  • Hadoop相关配置文件的目录:hadoop-2.7.7/etc/hadoop/
  • 进入配置文件 按下Shift + g 可跳到文件末行
  • 在configuration中间配置参数

vi hadoop-env.sh

  • hadoop-env.sh 配置文件,添加jdk安装目录配置
export JAVA_HOME=/usr/local/jdk1.8.0_151 #你的jdk绝对路径

vi hdfs-site.xml

  • hdfs-site.xml 主要用来配置数据块的副本数,伪分布式中只有一个副本
<!--指定hdfs保存数据的副本数量-->
<property>
    <name>dfs.namenode.name.dir</name>
    <value>/root/install/hadoop-2.7.7/data/namenode</value>
    <description>namenode数据存放的地方</description>
</property>
<property>
    <name>dfs.datanode.data.dir</name>
    <value>/root/install/hadoop-2.7.7/data/datanode</value>
    <description>datanode数据存放的地方</description>
</property>
<property>
    <name>dfs.replication</name>
    <value>1</value>
    <description>数据保存在hdfs几份副本,默认值是3</description>
</property>

vi mapred-site.xml

  • 把mapred-site.xml.template 复制一份为 mapred-site.xml - cp mapred-site.xml.template mapred-site.xml
<!--告诉hadoop以后MR(Map/Reduce)运行在YARN上---->
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>

vi yarn-site.xml

<!--指定Yarn的老大(ResourceManager)的地址-->
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>hadoop5</value>
</property>
<!--NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序-->
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>

vi core-site.xml

  • core-site.xml中添加配置:指定tmp目录位置,hdfs默认节点和端口
<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/bigdata/data/hadoopdata</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://Hadoop101:9000</value>
    </property>
</configuration>

若是使用虚拟机,则修改IP为静态地址

1.点击Wmware的编辑,打开虚拟网络编辑器找到WMnet8
    1.1 点击NAT设置:
        网关IP:192.168.134.2
        
        
    1.2 ifconfig 查看IP,修改IP,修改IP参照自己 VMnet8的网段
        vi /etc/sysconfig/network-scripts/ifcfg-ens33
        TYPE="Ethernet"
        BOOTPROTO="static"
        IPADDR=?
        GATEWAY=?
        DNS1=?
        DNS2=8.8.8.8
        NETMASK=255.255.255.0
        DEFROUTE="yes"
        PEERDNS="yes"
        PEERROUTES="yes"
        IPV4_FAILURE_FATAL="no"
        IPV6INIT="yes"
        IPV6_AUTOCONF="yes"
        IPV6_DEFROUTE="yes"
        IPV6_PEERDNS="yes"
        IPV6_PEERROUTES="yes"
        IPV6_FAILURE_FATAL="no"
        IPV6_ADDR_GEN_MODE="stable-privacy"
        NAME="ens33"
        UUID="e869e05f-4fc4-4d35-a81d-fc2f35445d0c"
        DEVICE="ens33"
        ONBOOT="yes"
    
    1.3 DNS1就是网关地址
    1.4 重启网络服务 service network restart
    1.5 ifconfig,看看是否生效了
    1.6 在window ping一下
    1.7 可以ping通,就ok了。

Hadoop集群常用命令

  • HDFS文件系统格式化(配置完后只需执行一次) - hadoop namenode -format
  • 启动hadoop和停止hadoop start-dfs.sh #启动hdfs start-yarn.sh #启动yarn,就是启动mapreduce+yarn start-all.sh # start-dfs.sh + start-yarn.sh hdfs getconf -namenodes #获取namenode节点名称

官方HDFS命令大全

  • 常用HDFS命令
hdfs dfs -mkdir hdfs文件路径名 #创建一个目录
hdfs dfs -ls hdfs目录 #查看hdfs目录
hdfs dfs -put 本地文件路径 hdfs文件路径 #推送一个文件到hdfs
hdfs dfs -cat hdfs文件路径 [| head] #显示文件的头几行
hdfs dfs -get hdfs文件路径 #从hdfs获取一个文件到本地
hdfs dfs -rmdir hdfs文件路径
hdfs dfs -copyFromLocal 本地路径 hdfs://localhost+目的路径
hdfs dfs -copyToLocal hdfs文件路径 本地路径

总结

配置完后
#start-all.sh 启动集群
#jps 看到有以下进程则表示成功,若缺少进程,可查看相关日志排查问题。
NodeManager
ResourceManager
SecondaryNameNode
NameNode
DataNode


本文转载自: https://blog.csdn.net/m0_59025104/article/details/124530056
版权归原作者 m0_59025104 所有, 如有侵权,请联系我们删除。

“(详细)Hadoop配置实战-伪分布式”的评论:

还没有评论