玩转大数据计算之Hadoop

Hadoop版本:我们采用目前主流的版本:2.7.3

Hadoop介绍:目前最流行的分布式计算平台。

Hadoop安装
Hadoop官方文档提供了3种安装模式:

1.配置ssh无密登录本机

执行如下命令:

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

最后执行:

ssh localhost

如果没有提示输入密码就成功了,ssh原理自己google一下吧。
2.准备安装包

tar zxvf hadoop-2.7.3.tar.gz

3.创建hadoop相关目录

  • tmp目录:mkdir -p /Users/****/apps/data/hadoop/tmp
  • 数据块目录: mkdir -p /Users/****/apps/data/hadoop/hdfs/data
  • namenode元文件目录:mkdir -p /Users/**** /apps/data/hadoop/hdfs/namenode

4.配置环境变量

vim ~/.bash_profile
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_71.jdk/Contents/Home/"
export M2_HOME=/Users/****/apps/apache-maven-3.3.9
export HADOOP_HOME=/Users/****/apps/hadoop-2.7.3
export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin:$HADOOP_HOME/bin

执行source使bash_profile文件修改立即生效:

source ~/.bash_profile

5.配置Hadoop相关文件

  • 配置hadoop-env.sh的JAVA_HOME
vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh

注释源文件中的:

#export JAVA_HOME=${JAVA_HOME}

添加:

export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_71.jdk/Contents/Home/"
  • 配置yarn-env.sh的JAVA_HOME
vim $HADOOP_HOME/etc/hadoop/yarn-env.sh

在文件最末尾添加:

export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_71.jdk/Contents/Home/"
  • 配置core-site.xml
vim $HADOOP_HOME/etc/hadoop/core-site.xml

修改内容为:

      <configuration>
        <property>
          <name>fs.default.name</name>
          <value>hdfs://localhost:9000</value>
          <description>HDFA的URI</description>
        </property>

       <property>
         <name>hadoop.tmp.dir</name>
        <value>/Users/****/apps/data/hadoop/tmp</value>
        <description>namenode临时文件夹</description>
        </property>
     </configuration>
  • 配置hdfs-site.xml
vim $HADOOP_HOME/etc/hadoop/hdfs-site.xml

修改内容为:

      <configuration>
        <property>
          <name>dfs.name.dir</name>
          <value>/Users/****/apps/data/hadoop/hdfs/namenode
          </value>
         <description>namenode名字空间元数据存储目录
         </description>
        </property>

        <property>
         <name>dfs.data.dir</name>
          <value>/Users/****/apps/data/hadoop/hdfs/data</value>
          <description>datanode数据块的存储目录</description>
        </property>

        <property>
          <name>dfs.replication</name>
          <value>1</value>
          <description>数据块副本个数,单机部署修改为1</description>
      </property>
      </configuration>
  • 配置yarn-site.xml
vim $HADOOP_HOME/etc/hadoop/yarn-site.xml

修改内容为:

<configuration>
<property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
</property>
 </configuration>
  • 配置mapred-site.xml
cp $HADOOP_HOME/etc/hadoop/mapred-site.xml.template $HADOOP_HOME/etc/hadoop/mapred-site.xml
vim $HADOOP_HOME/etc/hadoop/mapred-site.xml

修改内容为:

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

      </configuration>

6.启动Hadoop

  • 进入Hadoop安装目录:


    hadoop-1.png
  • 格式化namenode
bin/hdfs namenode -format
  • 启动NameNode和DataNode服务
sbin/start-dfs.sh &
  • 启动ResourceManager 和 NodeManager服务
sbin/start-yarn.sh &

我们也可以通过:

sbin/start-all.sh &

一次启动NameNode、DataNode、ResourceManager和NodeManager。

最后我们执行jps命令查询Hadoop相关服务是否正确启动:

hadoop-2.png

如果看到上图的5个进程就代表安装成功了

  • 使用hdfs和mapreduce
    查看hdfs目录结构:
bin/hdfs dfs -ls /

hadoop-3.png
  • 创建一个hdfs目录:
bin/hdfs dfs -mkdir /ad_log/
hadoop-4.png
  • 再查看一下hdfs目录:
bin/hdfs dfs -ls /
hadoop-5.png

7.Hadoop的几个Web服务

hadoop-6.png

在这个页面的最后一个菜单下可以进入到HDFS:

hadoop-7.png

点击Browse the filesystem就进入了HDFS:

hadoop-8.png

我们可以看到刚才所创建的目录ad_log

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容