美文网首页
大数据下:hadoop伪分布式的搭建

大数据下:hadoop伪分布式的搭建

作者: 大炮对着虫子 | 来源:发表于2018-06-14 13:49 被阅读12次

一、Hadoop启动模式

Hadoop集群有三种启动模式:

单机模式:默认情况下运行为一个单独机器上的独立Java进程,主要用于调试环境

伪分布模式:在单个机器上模拟成分布式多节点环境,每一个Hadoop守护进程都作为一个独立的Java进程运行

完全分布式模式:真实的生产环境,搭建在完全分布式的集群环境

下面介绍下伪分布式hadoop环境的搭建

二、分布式hadoop环境的搭建

2.1 安装jdk

查看jdk环境变量

  echo $JAVA_HOME
  /usr/java/jdk1.8.0_131

2.2 下载安装Hadoop

下载的版本为hadoop2.6

//下载安装包
$ wget wget http://labfile.oss.aliyuncs.com/hadoop-2.6.0.tar.gz
$ tar zxvf hadoop-2.6.0.tar.gz
$ rm -r /home/hadoop/hdfs  #删除原本目录中的hdfs文件夹
$ mv hadoop-2.6.0 /home/hadoop/hdfs
$ chmod 777 /home/hadoop/hdfs

如果出现解压失败,可能是下载hadoop-2.6.0.tar.gz的hadoop-2.6.0.tar.gz只是个链接(document text)。

$ file hadoop-2.6.0.tar.gz
hadoop-2.6.0.tar.gz: HTML document text

解决方案:通过浏览器去下载安装包后再上传文件到linux服务器再解压。

2.3 配置Hadoop

配置 .bashrc文件 ,在用户根目录下通过 ll -a 可以显示出.bashrc隐藏文件。

[hadoop@Hadoop ~]$ ll -a
-rw-r--r--.  1 hadoop hadoop       327 Jun 14 10:22 .bashrc

配置.bashrc文件

export HADOOP_HOME=/home/hadoop/hdfs/hadoop-2.6.0
export JAVA_HOME=/usr/java/jdk1.8.0_131
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

应用环境变量

source .bashrc

修改core-site.xml

vim /home/hadoop/hdfs/hadoop-2.6.0/etc/hadoop/core-site.xml


<configuration>
  <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/tmp</value>
   </property>
</configuration>


常用配置说明

fs.defaultFS这是默认的HDFS路径。当有多个HDFS集群同时工作时,用户在这里指定默认HDFS集群,该值来自于hdfs-site.xml中的配置。

fs.default.name这是一个描述集群中NameNode结点的URI(包括协议、主机名称、端口号),集群里面的每一台机器都需要知道NameNode的地址。DataNode结点会先在NameNode上注册,这样它们的数据才可以被使用。独立的客户端程序通过这个URI跟DataNode交互,以取得文件的块列表。

hadoop.tmp.dir 是hadoop文件系统依赖的基础配置,很多路径都依赖它。如果hdfs-site.xml中不配置namenode和datanode的存放位置,默认就放在/tmp/hadoop-${user.name}这个路径中。

修改hdfs-site.xml:

  vim /home/hadoop/hdfs/hadoop-2.6.0/etc/hadoop/hdfs-site.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>/home/hadoop/tmp/dfs/name</value>
        </property>
                <property>
                <name>dfs.datanode.data.dir</name>
                <value>/home/hadoop/tmp/dfs/data</value>
        </property>
</configuration>

dfs.replication它决定着系统里面的文件块的数据备份个数。对于一个实际的应用,它应该被设为3(这个数字并没有上限,但更多的备份可能并没有作用,而且会占用更多的空间)。少于三个的备份,可能会影响到数据的可靠性(系统故障时,也许会造成数据丢失)

dfs.data.dir这是DataNode结点被指定要存储数据的本地文件系统路径。DataNode结点上的这个路径没有必要完全相同,因为每台机器的环境很可能是不一样的。但如果每台机器上的这个路径都是统一配置的话,会使工作变得简单一些。默认的情况下,它的值为file://${hadoop.tmp.dir}/dfs/data这个路径只能用于测试的目的,因为它很可能会丢失掉一些数据。所以这个值最好还是被覆盖。

dfs.name.dir这是NameNode结点存储hadoop文件系统信息的本地系统路径。这个值只对NameNode有效,DataNode并不需要使用到它。上面对于/temp类型的警告,同样也适用于这里。在实际应用中,它最好被覆盖掉。

修改mapred-site.xml:

cp /home/hadoop/hdfs/hadoop-2.6.0/etc/hadoop/mapred-site.xml.template  /home/hadoop/hdfs/hadoop-2.6.0/etc/hadoop/mapred-site.xml
vim   /home/hadoop/hdfs/hadoop-2.6.0/etc/hadoop/mapred-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>


修改yarn-site.xml

vim   /home/hadoop/hdfs/hadoop-2.6.0/etc/hadoop/yarn-site.xml
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

</configuration>

修改hadoop-env.sh:

vim   /home/hadoop/hdfs/hadoop-2.6.0/etc/hadoop/hadoop-env.sh

#修改JAVA_HOME HADOOP_CONF_DIR
export JAVA_HOME=${JAVA_HOME}
export HADOOP_CONF_DIR=/home/hadoop/hdfs/hadoop-2.6.0/etc/hadoop


格式化HDFS文件系统

$ hadoop namenode -format

启动NameNode,DataNode

start-dfs.sh

启动yarn ResourceManager 和NodeManager

start-yarn.sh

通过指令 jps后能看到 进程 NameNode、DataNode、ResourceManager、NodeManager则表示hadoop启动成功。

jps

停止hadoop

stop-all.sh

启动hadoop

start-all.sh

查看java进程

jps

相关文章

网友评论

      本文标题:大数据下:hadoop伪分布式的搭建

      本文链接:https://www.haomeiwen.com/subject/thgeeftx.html