首页 » 大数据 » Hadoop » Hadoop学习笔记(4)--安装

Hadoop学习笔记(4)--安装

 

安装模式

环境准备

su  # 上述提到的以 root 用户登录
useradd -m hadoop -s /bin/bash   # 创建新用户hadoop
passwd hadoop

visudo

添加hadoop ALL=(ALL) ALL

#安装java,ssh,配置无密码登陆。这些本博客都有。
mkdir -p /opt/hadoop/
cd /opt/hadoop/

sudo wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.2/hadoop-2.7.2.tar.gz

sudo tar -zxf hadoop-2.7.2.tar.gz

sudo chown -R hadoop:hadoop ./hadoop-2.7.2        # 修改文件权限

cd /opt/hadoop/hadoop-2.7.2
./bin/hadoop version  #验证hadoop版本

(1)单机模式配置方式

安装单机模式的Hadoop无须配置,在这种方式下,Hadoop被认为是一个单独的Java进程,这种方式经常用来调试。

以下是运行官方的例子:

#验证单机模式
cd /opt/hadoop/hadoop-2.7.2
mkdir ./input
cp ./etc/hadoop/*.xml ./input   # 将配置文件作为输入文件
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep ./input ./output 'dfs[a-z.]+'
cat ./output/*          # 查看运行结果

(2)伪分布式Hadoop配置

可以把伪分布式的Hadoop看做只有一个节点的集群,在这个集群中,这个节点既是Master,也是Slave;既是NameNode,也是DataNode;既是JobTracker,也是TaskTracker。

伪分布式的配置过程也很简单,只需要修改几个文件。

这里以Yarn为配置

etc/hadoop/hadoop-env.sh
添加JAVA_HOME、HADOOP_COMMON_HOME

这是Hadoop核心的配置文件,这里配置的是HDFS(Hadoop的分布式文件系统)的地址及端口号。

修改etc/hadoop/core-site.xml:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9005</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name><!--临时目录,其他临时目录的父目录-->
        <value>/home/hadoop/hadoop_tmp</value><!--需要创建此目录-->
        <description>A base for other temporary directories.</description>
    </property>
</configuration>

以下是Hadoop中HDFS的配置,配置的备份方式默认为3,在单机版的Hadoop中,需要将其改为1。

修改etc/hadoop/hdfs-site.xml:
<configuration>
    <property>
        <name>dfs.replication</name><!--文件副本数-->
        <value>1</value>
    </property>
    <property>
       <name>dfs.namenode.name.dir</name><!--HDFS文件系统的元信息保存,Yarn的方式 -->
       <value>file:/tmp/hadoop/dfs/datalog1,file:/tmp/hadoop/dfs/datalog2</value>
    </property>
    <property>
       <name>dfs.datanode.data.dir</name><!--data node的数据目录,Yarn的方式 -->
       <value>/tmp/hadoop/dfs/data1,/tmp/hadoop/dfs/data2</value>
    </property>
    <property>
      <name>dfs.webhdfs.enabled</name>
      <value>true</value>
    </property>
</configuration>

以下是Hadoop中MapReduce的配置文件,配置JobTracker的地址及端口。

conf/mapred-site.xml:
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value><!--使用Yarn-->
    </property>
</configuration>
yarn-site.xml

<configuration>
  <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

接下来,在启动Hadoop前,需要格式化Hadoop的文件系统HDFS。进入Hadoop文件夹,输入命令:

bin/hdfs namenode -format

格式化文件系统,接下来启动Hadoop。

输入命令,启动所有进程:

启动namenode和datanode
sbin/start-dfs.sh

最后,验证Hadoop是否安装成功。

打开浏览器,分别输入网址:

http://localhost:50070(HDFS的Web页面)

如果都能查看,说明Hadoop已经安装成功。

启动resourcemanager和nodemanager
sbin/start-yarn.sh

打开浏览器,查看配置Yarn是否成功:

http://localhost:8088/

测试WordCount

hdfs dfs -mkdir -p /test/input
hdfs dfs -ls /

cd ~

touch wc.input

//文件放到hdfs中
hdfs dfs -put ./wc.input /test/input/ 

//查看文件内容
hdfs dfs -text /test/input/wc.input

yarn jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount   /test/input/ /test/output/

//查看输出内容
hdfs dfs -ls /test/output/

//查看具体输出
hdfs dfs -text /test/output/part-r-00000

完全分布式

待补充



原文链接:Hadoop学习笔记(4)--安装,转载请注明来源!

0