初学hadoop2.7.1(二)配置伪集群

来源:互联网 发布:淘宝入驻费用多少钱 编辑:程序博客网 时间:2024/04/28 17:32

操作系统:在windows7下使用ubuntu-14.04.3-desktop-amd64
hadoop版本:hadoop-2.7.1

jdk版本:jdk-7u79-linux-x64.tar.gz

1.     修改主机名为master

$ sudo vim /etc/hostname

编辑hostname文件,在文件中输入master并保存该文件即可。重启系统。

注:值的指出的是,在其它Linux发行版中,并非都存在/etc/hostname文件。如Fedora发行版将主机名存放在/etc/sysconfig/network文件中。所以,修改主机名时应注意区分是哪种Linux发行版。

2.     修改hosts

$ sudo vim /etc/hosts

修改内容: 127.0.0.1 master

3.     配置SSH

此处不再讲述,请参考 初学hadoop2.7.1(一)配置单点模式

4.      安装配置hadoop-2.7.1

此处不再讲述,请参考 初学hadoop2.7.1(一)配置单点模式

5.     在hadoop目录创建文件

$ mkdir dfs

$ mkdir dfs/name

$ mkdir dfs/data

6.     修改hadoop配置文件

1)     修改配置文件hadoop-env.sh,

$ sudo vim etc/hadoop/hadoop-env.sh

修改JAVA_HOME为我们安装的JAVA_HOME,

export JAVA_HOME=/usr/lib/java/jdk1.7.0_79

2)      修改配置文件yarn-env.sh,

$ sudo wimetc/hadoop/yarn-env.sh

修改JAVA_HOME为我们安装的JAVA_HOME,

export JAVA_HOME=/usr/lib/java/jdk1.7.0_79

3)      修改配置文件mapred-env.sh

$ sudo wimetc/hadoop/mapred-env.sh

修改JAVA_HOME为我们安装的JAVA_HOME,

exportJAVA_HOME=/usr/lib/java/jdk1.7.0_79

4)      修改slaves文件

$ sudo vimetc/hadoop/slaves

修改 localhost为master

5)      修改配置文件core-site.xml

$ sudo vimetc/hadoop/core-site.xml

修改内容为:

<configuration>

   <property>

        <name>fs.defaultFS</name>

       <value>hdfs://master:9000</value>

    </property>

    <property>

        <name>hadoop.tmp.dir</name>

        <value>/home/tongwei/Work/Dev/Hadoop/hadoop-2.7.1/tmp</value>

        <description>A base of othertemporary directories</description>

   </property>

</configuration>

core-site.xml各项配置可参考:http://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-common/core-default.xml

6)      修改配置文件 hdfs-site.xml

$ sudo vimetc/hadoop/hdfs-site.xml

修改内容为:

<configuration>

   <property>

       <name>dfs.replication</name>

        <value>1</value>

   </property>

   <property>

       <name>dfs.namenode.name.dir</name>

        <value>/home/tongwei/Work/Dev/Hadoop/hadoop-2.7.1/dfs/name</value>

    </property>

    <property>

       <name>dfs.datanode.data.dir</name>

       <value>/home/tongwei/Work/Dev/Hadoop/hadoop-2.7.1/dfs/data</value>

   </property>

</configuration>

hdfs-site.xml各项配置可参考:http://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml

7)      修改配置文件 mapred-site.xml

$ sudo vimetc/hadoop/mapred-site.xml

修改内容为:

<configuration>

    <property>

       <name>mapreduce.framework.name</name>

        <value>yarn</value>

    </property>

</configuration>

mapred-site.xml各项配置可参考:http://hadoop.apache.org/docs/r2.7.1/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml

8)      配置文件yarn-site.xml

$ sudo vimetc/hadoop/yarn-site.xml

修改内容为:

<configuration>

    <property>

       <name>yarn.resourcemanager.hostname</name>

        <value>master</value>

   </property>

    <property>

        <name>yarn.nodemanager.aux-services</name>

       <value>mapreduce_shuffle</value>

    </property>

</configuration>

yarn-site文件配置的各项内容可参考:http://hadoop.apache.org/docs/r2.7.1/hadoop-yarn/hadoop-yarn-common/yarn-default.xml

注:

也可以增加spark_shuffle,配置如下

<property>

 <name>yarn.nodemanager.aux-services</name>

 <value>mapreduce_shuffle,spark_shuffle</value>

</property>

<property>

  <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>

 <value>org.apache.hadoop.mapred.ShuffleHandler</value>

</property>

<property>

 <name>yarn.nodemanager.aux-services.spark_shuffle.class</name>

 <value>org.apache.spark.network.yarn.YarnShuffleService</value>

</property>

个人认为 当提交hadoop MR 就启用,mapreduce_shuffle,当提交spark作业 就使用spark_shuffle,但个人感觉spark_shuffle 效率一般,shuffle是很大瓶颈,还有 如果你使用spark_shuffle 你需要把spark-yarn_2.10-1.4.1.jar 这个jar copy 到HADOOP_HOME/share/hadoop/lib下 ,否则 hadoop 运行报错 class not find exeception.

7.     启动并验证hadoop伪分布式

1)     格式化hdfs文件系统

$ bin/hadoop namenode –format

2)     启动hdfs

$ sbin/start-dfs.sh

此刻我们发现在master上启动了NameNode、DataNode、SecondaryNameNode

此刻通过web控制台查看hdfs,http://master:50070/

3)     启动yarn

$ sbin/start-yarn.sh

使用jps命令可以发现master机器启动了ResourceManager进程

5081 Jps

5049 NodeManager

4388 NameNode

4509 DataNode

4926 ResourceManager

4712 SecondaryNameNode

PS:我们上传一个文件到hdfs吧:

$ bin/hadoop fs -mkdir -p dfs/data/test

$ bin/hadoop fs -put README.txt dfs/data/test

$ bin/hadoop fs -text dfs/data/test/README.txt

$ bin/hadoop fs命令参考

http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/FileSystemShell.html

hadoop web控制台页面的端口整理:

50070:hdfs文件管理

8088:ResourceManager

8042:NodeManager

19888:JobHistory(使用“mr-jobhistory-daemon.sh”来启动JobHistoryServer)

 

0 0