大数据攻城狮之Hadoop伪分布式篇

对于初学大数据的萌新来讲,初次接触Hadoop伪分布式搭建的同窗多是一脸萌笔的,那么这一次小编就手把手的教你们在centos7下搭建Hadoop伪分布式。java


底层环境: VMware Workstation 15.0,centos7node

SSH工具: xshelllinux

软件包: hadoop-2.7.6.tar.gz jdk-8u201-linux-x64.tar.gzweb

因为对于大数据的学习初期的同窗,对于centos的安装应该很是熟练,故在这里不详述,这里咱们开始说具体的步骤:shell

 

这里给出你们一个思惟导图,方便你们对于伪分布式搭建的理解。vim

 

思惟导图
centos

 

 第一步:网络配置浏览器

 

     (1)查询主机名bash

 

查询命令: 网络

hostname 

 

修改命令:

 hostnamectl set-hostname 新的名字


示例图片 :
      

 

     (2) 查询IP 地址

 

查询命令:

ip add

注释: 

ip add 适用于centos7及之后的版本;

ifconfig 适用于centos6及其之前的版本;

那么问题来了,咱们怎么知道那个是咱们的IP地址呢? 

固然,小编,在这里给你们准备了具体的实例图片:


 

图例解释:

ip add 就是咱们上文提到的查询IP地址的命令;

172.17.54.7 就是咱们须要的IP地址。

 

     (3)设置/etc/hosts 文件

 

使用vim ,编辑/etc/hosts 文件;

相信你们对于编辑文件都是信手拈来,那么咱们看看具体哪一个是/etc/hosts 文件呢?

 


没错,这就是传说中的/etc/hosts 文件.

在这里咱们须要把咱们查到的具体ip 地址输入到咱们的第三行,也就是红线的地方;

背后咱们须要加上空格输入本身的主机名;

举个栗子就是:192.168.255.230 你的主机名

 

 (二)环境变量的配置

 

咱们使用xshell将个人hadoop和jdk上传到目录下后,解压。就能够开始配置环境变量了,咱们在环境变量配置这一块有不少个地

方,好比说/etc/profile和~/.bashrc。这两个地方都是能够配置环境变量的。

为了方便咱们的后期的使用,咱们这里将hadoop和jdk进行了更名,由于他们的名字很是的长,不容易记忆。
因此咱们须要对它进行简单化操做,咱们将其更名为hadoop和jdk1.8,方便咱们的后期的配置,
为后文埋下伏笔。

这里咱们先看看具体的图片,环境变量的文件究竟是何方神圣:

 

 


没错,这就是传说中的环境变量。

在这里咱们须要设置咱们的jdk和hadoop的环境变量。

在小编红线圈起来的地方,我来给你们具体详解一下咱们须要输入的内容。

export JAVA_HOME=你的jdk所在的路径精确到jdk1.8

// 此处咱们设置Java的home

 

export HADOOP_HOME=你的hadoop所在的路径精确到咱们更名后的hadoop 

// 此处咱们设置hadoop的home

 

export PATH=.:$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH 

// 此处咱们将咱们设置好的两个jdk和hadoop的home导入环境变量 

// ------/bin 这个目录下存放的是经常使用的环境变量。

 

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native 

// 此处咱们具体设置咱们hadoop经常使用的命令,也将他导入进来。

 

exportPATH=.:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_COMMON_LIB_NATIVE_DIR:$PATH 

// 此处咱们将全部的配置都导入环境变量之中。


配到这里咱们距离成功已经很近了,这是后咱们须要重启环境变量才能开始使用

source /etc/profile 

// 重启环境变量

若是重启环境变量,没有报错。咱们就能够开始查看咱们是否配置成功了

查看jdk的版本号

java -version


那么咱们怎么知道是否是对的·呢?

小编在这里给你们准备了具体的示例图片:


 


若是查询到的版本号和你下载的版本好相符,那么咱们的环境变量就大功告成了!!

这样的话咱们的配置差很少就走了二分之一了,接下来咱们具体看Hadoop的配置如何走呢?


环境变量测试成功


 (三)Hadoop的配置


对于Hadoop的文件配置,咱们须要配置大约有五个文件,分别是:

(1) core-site.xml (2)hdfs-site.xml (3)hadoop-env.sh (4)yarn-env.sh (5)slaves

 

     (1)core-site.xml

 

首先,给你们看看具体core-site.xml文件的具体内容:


 

而后咱们开始上手编辑内容,切记咱们多有的内容都必须写在

<configuration>

这里写咱们编辑的内容

</configuration>

  

那么咱们须要写什么配置信息呢?

这里咱们须要写上咱们的配置信息先给你们看看模板:

 


那么下来咱们具体说一下这些代码都是啥意思

<property>

            <name>hadoop.tmp.dir</name> // 设置存储name,data文件的存放文件

            <value>file:/usr/local/hadoop/tmp</value> // 设置此文件的绝对路径

            <description>zhushi</description>	//添加注释,无关紧要

</property>

<property>

            <name>fs.defaultFS</name>	// 设置访问此集群的端口

            <value>hdfs://hadoop:9000</value> //设置具体的IP,具体的端口,此处能够写本身的主机名

</property>                                

  

      (2) hdfs-site.xml


接下来咱们具体设置hdfs-site.xml文件:
一样的道理咱们须要在

<configuration>

    这里写咱们编辑的内容

</configuration>    

  

这里我也给出你们一个模板:


 


做为第一次发文章的我考虑到你们对这个不是很了解,继续给你们讲讲具体的内容

<property>
                <name>dfs.replication</name> //须要设置的数据块

                <value>1</value> // 这里伪分布式为1

</property>
<property>

                <name>dfs.namenode.name.dir</name>	// 设置namenode的存放文件

                <value>file:/usr/local/hadoop/tmp/dfs/name</value> //namenode文件存放的绝对路径

</property>

<property>

                <name>dfs.datanode.data.dir</name>	//	设置datanode的存放文件

                <value>file:/usr/local/hadoop/tmp/dfs/data</value>	// 设置datanode文件存放的绝对路径

</property>    

  

 

      (3) hadoop-env.sh


为了保证文件的正确性,这是具体的文件图片:


 

export JAVA_HOME=/你的jdk存放路径	能够参考你的环境变量的路径

# The jsvc implementation to use. Jsvc is required to run secure datanodes
# that bind to privileged ports to provide authentication of data transfer
# protocol. Jsvc is not required if SASL is configured for authentication of
# data transfer protocol using non-privileged ports.
#export JSVC_HOME=${JSVC_HOME}

export HADOOP_CONF_DIR=/你更名后的hadoop文件的存放路径/etc/hadoop // 用来寻找你的hadoop的配置文件

  

 

      (4) yarn-env.sh


这里的yarn-env.sh文件配置很是的简单,咱们距离成功共能够说是近在咫尺了。


 

 

export YARN_CONF_DIR="${YARN_CONF_DIR:-$HADOOP_YARN_HOME/conf}"

# some Java parameters
# export JAVA_HOME=/home/y/libexec/jdk1.6.0/
if [ "$JAVA_HOME" != "" ]; then

#echo "run java in $JAVA_HOME"

JAVA_HOME=/usr/local/jdk1.8 // 这一行是咱们须要配置的,咱们j这里须要加入jdk的文件存放的路径;
fi

if [ "$JAVA_HOME" = "" ]; then
echo "Error: JAVA_HOME is not set."
exit 1
fi

  

     (5) slaves


这一块咱们须要插入具体的主机名,就是咱们刚才的写在/etc/hosts里,IP地址以后的名字。


 


(四)配置免密操做 


执行以下命令:

ssh-keygen -t rsa // 进行免密操做

 

发送密钥到指定文件夹

ssh-copy-id -i .ssh/id_rsa.pub 用户名字@192.168.x.xxx


(五)格式化hdfs


### 格式化命令

hdfs namenode -format


(六)集群成功与否校验

 

start-all.sh	// 启动hdfs


 

start-yarn.sh // 启动守护进程

 

 


最后、咱们使用jps查看本身的节点,这里给你们配上图片

jps	查看集群节点



没错,若是到了这里,你成功了,你就很是牛逼了,你就是万中无一的建站奇才,升职加薪,走上人生巅峰,
指日可待。

# (七)集群web访问


若是你但愿经过web浏览器访问集群的华,那咱们小编就来教你怎么作
(1)关闭防火墙

systemctl stop firewalld.service


(2)关闭开机自启

systemctl disable firewalld.service


(3)输入你的ip地址加端口号

http://hostname:50070


这样给你们看看最后的结果:


 

若是是这样:那么咱们访问差很少就成功了,确认是否有对应数据,没有的话,就是存在问题,继续检查本身的代码数据,这是第一次写博客,若是有什么问题,请你们指正,有什么问题,你们能够在下方留言评论。谢谢你们

相关文章
相关标签/搜索