大数据入门(一)Hadoop伪分布式安装

1、前言

1.1 大数据的定义

大数据(Big Data)是一种规模大到在获取、存储、管理、分析方面大大超出传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征(4V特征)。IBM公司提出大数据具有5V特点:Volume(大量化)、Velocity(快速化)、Variety(多样化)、Value(价值低)、Veracity(真实性)。

1.2 Hadoop生态圈简介

2、Hadoop伪分布式安装

2.1 VMwear安装Centos7

网上虚拟机的安装教程挺多的,本文就不赘述了。这里贴一个我当时看的博客:VMwear安装Centos7超详细过程

2.2 前期准备

2.2.1 设置虚拟机IP地址

因为虚拟机的IP地址默认是自动获取的,因此可能随着网络环境的改变而改变。为此,我们需要先设置下固定IP地址。

点击桌面右上角网络图标 --> Wired --> Wired Settings --> Setting,然后选择IPv4,在Addresses栏中输入IP地址(注:该IP地址最好与主机处于同一网段)。

2.2.2 修改主机名

要永久修改主机名,可以使用如下shell命令,修改主机名为hadoop0.

hostnamectl set-hostname hadoop0

然后将本机IP地址配置进hosts文件

vim /etc/hosts

# 在文件末尾加上一行
192.168.1.11 hadoop0

2.2.3 ssh连接虚拟机

在通过ssh连接虚拟机之前,要先查看下22端口是否开启。如果没有开启的话,可以参考网上教程。

netstat -tunlp | grep 22
# 或者以下方式
service ssh status
service sshd status

推荐使用ssh软件进行连接,如WinSCPMobaXterm

2.2.4 安装JDK

从官网下载jdk-8u291-linux-x64.tar.gz,然后使用WinSCP或者MobaXterm将其上传到CentOS7的 /usr/local 目录下。接着使用cd命令切换到 /usr/local 目录,并使用tar命令进行解压缩。

cd /usr/local/
tar -xvf jdk-8u291-linux-x64.tar.gz

解压缩完成后,可安装如下命令配置环境变量。

# 将解压缩后的文件重命名为jdk
mv jdk1.8.0_152/ jdk

# 然后将JDK的安装目录 /usr/local/jdk 配置到 /etc/profile 的PATH环境变量中
vim /etc/profile
export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$JAVA_HOME/bin

# 使环境变量生效
source /etc/profile

 使用java -version命令查看JDK的版本号,测试JDK是否配置成功。

2.3 安装Hadoop

2.3.1 下载Hadoop

从官网下载hadoop-3.0.0.tar.gz,使用WinSCP或者MobaXterm将其上传到CentOS7的 /usr/local 目录下,准备进行安装。

cd /usr/local/
tar -xvf hadoop-3.0.0.tar.gz
mv hadoop-3.0.0 hadoop

2.3.2 配置环境变量

vim /etc/profile

# 配置环境变量
export JAVA_HOME=/usr/local/jdk
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

# 配置hadoop五个进程的账号
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root


# 使环境变量立即生效
source /etc/profile

2.3.3 配置hadoop-env.sh

hadoop-env.sh文件存储了所有Hadoop Shell命令使用的全局设置,比如JAVA_HOME、hadoopconfdir和运行时变量:hadoop栈大小、java运行内存大小等等。

切换到Hadoop配置文件所在目录 /usr/local/hadoop/etc/hadoop/,然后修改hadoop-env.sh的JDK路径。

cd /usr/local/hadoop/etc/hadoop/

vim hadoop-env.sh

# 将37行的 #JAVA_HOME=/usr/Java/testing hdfs dfs -ls 改成如下
JAVA_HOME=/usr/local/jdk

2.3.4 配置core-site.xml

vim core-site.xml

# 配置HDFS的访问URL
<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://hadoop0:9000/</value>
                <description>NameNode URI</description>
        </property>
</configuration>

更多配置信息见core-default.xml

2.3.5 配置hdfs-site.xml

配置访问NameNode和DataNode的元数据存储路径,以及NameNode和SecondaryNameNode的访问端口。

<configuration>
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>file:///usr/local/hadoop/data/datanode</value>
        </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>file:///usr/local/hadoop/data/namenode</value>
        </property>
        <property>
                <name>dfs.namenode.http-address</name>
                <value>hadoop0:50070</value>
        </property>
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>hadoop0:50090</value>
        </property>
</configuration>

更多配置信息见hdfs-default.xml

2.3.6 配置yarn-site.xml

配置yarn的nodemanager和resourcemanager的访问端口等信息。

<configuration>

<!-- Site specific YARN configuration properties -->
        <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>hadoop0:8025</value>
        </property>
        <property>
                <name>yarn.resourcemanager.scheduler.address</name>
                <value>hadoop0:8030</value>
        </property>
        <property>
                <name>yarn.resourcemanager.address</name>
                <value>hadoop0:8050</value>
        </property>

</configuration>

更多配置信息见yarn-default.xml

2.3.7 格式化并启动Hadoop

到这里Hadoop相关配置已经完成了,但是我们在启动Hadoop之前需要先对其进行格式化。

hadoop namenode -format

如果没有报错,则表示格式化成功。

注意:如果在使用Hadoop的过程中出错,或者Hadoop启动不了,可能需要重新格式化。重新格式化可以参照停止Hadoop,删除Hadoop下的data和logs文件夹进行格式化的步骤进行。

stop-all.sh
cd /usr/local/hadoop/
rm -rf data/ logs/
hadoop namenode -format

使用start-all.sh命令来启动Hadoop的所有进程,同理stop-all.sh是关闭Hadoop的所有进程。

2.3.8 验证Hadoop

我们可以使用jps命令查看Hadoop相关进程(jps是JDK提供的一个查看当前java进程的小工具,可以看做是JavaVirtual Machine Process Status Tool的缩写)

可以使用Hadoop命令查看HDFS上的文件

hadoop fs -ls /

目前HDFS上面还没有任何文件,HDFS的相关内容将在下一节进行介绍。

也可以浏览器访问的方式查看Hadoop运行相关信息 。

2.3.9 结语

贴一个Hadoop官方文档: hadoop3.0官方文档

猜你喜欢

转载自blog.csdn.net/qq_37771475/article/details/116462272