Hadoop基础组件学习–伪分布式环境搭建

本文的目的

    Hadoop在大数据技术体系中的地位至关重要,Hadoop是大数据技术的基础,对Hadoop基础知识的掌握的扎实程度,会决定在大数据技术道路上走多远。首先我们要搭建一个适用于个人学习、和使用各组件的开发环境,一般采用伪分布式的方式,接下来就是我们的搭建方法和过程。

    

一、准备

    vmware14

    centos7.2

    jdk1.8

    hadoop2.x


二、安装基础环境

1.安装vmware并设置内存、磁盘、cpu等配置

2.新建虚拟机安装Centos系统

3.基础环境配置

①虚拟机网络设置NAT模式


②静态化IP地址和网络设置

    设置主机名称:

hostnamectl set-hostname master

    

    静态化IP: vi /etc/sysconfig/network-scripts/ifcfg-eno16777736

                BOOTPROTO=static #dhcp改为static

                IPADDR=192.168.8.20 #静态IP

                GATEWAY=192.168.8.2 #默认网关

                NETMASK=255.255.255.0 #子网掩码

                DNS1=10.30.20.254  #DNS 配置

                DNS2=192.168.31.1

     配置hosts文件:  vi /etc/hosts

192.168.8.20 hadoop


③关闭防火墙等操作

     systemctl stop firewalld 

     systemctl disable firewalld     

    查看状态:systemctl status firewalld 

   

     vi /etc/selinux/config 

    把SELINUX=enforcing 改成 SELINUX=disabled 

    重启电脑就可以了


4.jdk安装

    由于centos自带为openjdk,在运行过程中会遇到一些问题和错误,因此需要卸载安装oracle的jdk,方法如下,并配置相关变量。

linux版本:http://www.oracle.com/technetwork/java/javase/downloads/index.htm

查看:rpm -qa | grep java

卸载openjdk:

     rpm -e –nodeps tzdata-java-2015g-1.el7.noarch

     rpm -e –nodeps java-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64

     rpm -e –nodeps java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64

     rpm -e –nodeps java-1.7.0-openjdk-1.7.0.91-2.6.2.3.el7.x86_64

     rpm -e –nodeps java-1.7.0-openjdk-headless-1.7.0.91-2.6.2.3.el7.x86_64


上传java安装文件。

   执行权限:

        chmod +x jdk-8u121-linux-x64.rpm

   安装:

        rpm -ivh jdk-8u121-linux-x64.rpm

配置环境变量:

vim /etc/profile

#set java environment

JAVA_HOME=/usr/java/jdk1.8.0_121

JRE_HOME=/usr/java/jdk1.8.0_121/jre

PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH              

CLASSPATH=.:$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME JRE_HOME PATH CLASSPATH

使配置文件生效:source /etc/profile


三、安装配置Hadoop

1.从官网下载发布版本的tar文件,并上传到/usr/local/hadoop目录下

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


2.解压hadoop

tar -zxvf ./hadoop/hadoop-2.8.4.tar.gz

3.环境变量配置

vim /etc/profile

export HADOOP_HOME="/usr/local/hadoop-2.8.4"

export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

使配置文件生效:source /etc/profile

并验证:echo $HADOOP_HOME


4.配置 hadoop-env.sh、mapred-env.sh、yarn-env.sh文件的JAVA_HOME参数

sudo vim  ${HADOOP_HOME}/etc/hadoop/hadoop-env.sh


5.配置core-site.xml

<configuration>  

  <property>  

    <!– 用于设置Hadoop的文件系统,由URI指定 –>

    <name>fs.default.name</name>  

    <value>hdfs://localhost:9000</value>  

  </property>  

  <property>

<!– 配置Hadoop的临时目录,默认在/tmp目录下,但是/tmp上面可能会被系统自动清理掉。–>

<name>hadoop.tmp.dir</name>

<!– 目录如果不存在,需要手动创建 –>

    <value>/usr/local/hadoop_tmp</value>

    <description>A base for other temperary directory</description>

  </property>

</configuration>  

创建目录:sudo mkdir -p /usr/local/hadoop_tmp


6.配置hdfs,格式化,启动hdfs

①配置hdfs

<property>

    <name>dfs.replication</name>

    <value>1</value>

</property>

②格式化

hdfs namenode -format

制定的目录下有dfs文件夹,证明初始化成功

查看ll ./dfs/name/current

fsimage是NameNode元数据在内存满了后,持久化保存到的文件。

fsimage*.md5 是校验文件,用于校验fsimage的完整性。

seen_txid 是hadoop的版本

vession文件里保存:

  • namespaceID:NameNode的唯一ID。

  • clusterID:集群ID,NameNode和DataNode的集群ID应该一致,表明是一个集群。

③启动

可以单独启动namenode、datanode、secondarynamenode

在sbin目录下,是所有课执行的命令操作

启动namenode:${HADOOP_HOME}/sbin/hadoop-daemon.sh start namenode

启动datanode:hadoop-daemon.sh start datanode

启动secondarynamenode:

hadoop-daemon.sh start secondarynamenode

验证启动jps,如下启动成功。


7.接下来我们可以验证hdfs读写、上传、下载等功能

hadoop fs -ls /    #显示根目录下所有的hdfs文件

hadoop fs -mkdir /test # 创建test目录

hadoop fs -put /**    /**   #上传文件到对应路径下

hadoop fs -cat /**  #读取文件内容

hadoop fs 


总结

    Hadoop的HDFS环境已配置成功,接下来我们会深入理解hdfs的原理和工作机制,并会学习Mapreduce、yarn等组件。









Leave a Comment

电子邮件地址不会被公开。 必填项已用*标注