Hadoop集群安装系列------伪分布式安装

1. 预备

简单理解hdfs的原理

hdfs的作用

2. 开始搭建

2.1 设置配置信息

修改hadoop-env.sh文件

将hadoop-env.sh文件中的 # The java implementation to use. 下 修改成:

export JAVA_HOME=${JAVA_HOME}

export JAVA_HOME=/root/bigdata/jdk

修改core-site.xml文件

#etc/hadoop/core-site.xml

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

修改hdfs-site.xml文件

#etc/hadoop/hdfs-site.xml

  <configuration>
  <!-- 副本数量 -->
  <property>
          <name>dfs.replication</name>
          <value>1</value>
  </property>
  <!-- 设置块儿的大小,单位字节,这里不能太小,会报错误 -->
  <property>
          <name>dfs.blocksize</name>
          <value>128m</value>
  </property>
  <!-- 访问namenode的地址 -->
  <property>
          <name>dfs.http.address</name>
          <value>master:50070</value>
  </property>
  <!-- 访问secondarynode的地址 -->
  <property>
          <name>dfs.secondary.http.address</name>
          <value>master:50090</value>
  </property>
  <!-- namenode数据的存放地址 -->
  <property>
          <name>dfs.namenode.name.dir</name>
          <value>file:///root/hadoopdata/dfs/name</value>
  </property>
  <!-- datanode的数据存放地址 -->
  <property>
          <name>dfs.datanode.data.dir</name>
          <value>file:///root/hadoopdata/dfs/data</value>
  </property>
  <!-- 日志的检测目录 -->
  <property>
          <name>fs.checkpoint.dir</name>
          <value>file:///root/hadoopdata/checkpoint/dfs/cname</value>
  </property>
  <!-- 日志的edits检测,目录 -->
  <property>
          <name>fs.checkpoint.edits.dir</name>
          <value>file:///root/hadoopdata/checkpoint/dfs/cname</value>
  </property>
  <!-- 是否开启hdfs的文件系统权限 -->
  <property>
          <name>dfs.permissions</name>
          <value>true</value>
  </property>
  </configuration>

2.2 格式化文件系统(安装Hadoop后只需执行一次格式化)

注意:配置的name.dir data.dir的路径不需要手动创建,而是由namenode的初始化程序去自动生成。

*初始化namenode: hdfs namenode -format

bin/hdfs namenode -format

2.3 开启NameNode进程和DataNode进程

sbin/start-dfs.sh

注意:如果机器换了IP,需要重启hdfs系统.否则无法访问namenode和datanode

2.4 检查Hadoop进程

#jps

通过浏览页面查看NameNode和Datanode

http://10.211.55.7:50070/

简单解释: Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。

Compiled:编译 hadoop是有jenkins集成的

Cluster ID:集群id

Block Pool ID:单个datanode节点的block池的id,每个datanode节点的都要一样

2.5 创建运行MapReduce job所需的HDFS目录

#bin/hdfs dfs -mkdir /user

2.6 拷贝输入文件到分布式文件系统(上传)

注意:将数据导入hdfs方法 hdfs dfs -put 本地路径 hdfs路径(写绝对路径)

# bin/hdfs dfs -put etc/hadoop input

  注意:1.hdfs dfs -put /usr/local/hadoop-2.7.1/etc/hadoop/*.xml  /wordcount/input/
  将数据导入到伪分布式的hdfs中报错:put: Specified block size is less than configured minimum value (dfs.namenode.fs-limits.min-block-size): 1280 < 1048576
  ​
  原因:首先hdfs中默认是以块为单位进行数据存储的.我们在设置块的大小是hadoop2.0之前默认是64M,之后是128M.
  (注意如果不加单位的话,默认单位是字节).当前我们设置的分块大小的最小值为1280字节时(如:
  <property><name>dfs.blocksize</name><value>1280</value></property>
  ),小于规定的最小值,所以提示错误.默认单位是字节

//运行一些提供的示例:

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar grep /input /output 'dfs[a-z.]+'

2.7 检查输出文件(下载)

从分布式文件系统拷贝输出文件到本地文件系统并检查它们

# in/hdfs dfs -get /hadoopdata/output /root/output

# cat output/*

2.8 在分布式系统上查看输出文件的内容

# bin/hdfs dfs -cat output/*

2.9 当你完成操作后,使用下列命令关闭进程

#sbin/stop-dfs.sh

发布了412 篇原创文章 · 获赞 262 · 访问量 90万+

猜你喜欢

转载自blog.csdn.net/GUDUzhongliang/article/details/105632172
今日推荐