|
/usr/local/hadoop/etc/hadoop/core-site.xml配置文件:
[iyunv@Hadoop
-Data01 soft]# tar -xf hadoop-2.7.3.tar.gz
[iyunv@Hadoop
-Data01 soft]# mv hadoop-2.7.3 /usr/local/
[iyunv@Hadoop
-Data01 soft]# cd /usr/local/
[iyunv@Hadoop
-Data01 local]# ln -s hadoop-2.7.3 hadoop
[iyunv@Hadoop
-Data01 hadoop]# vim core-site.xml
>>>>>
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.0.194:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>1024</value>
</property>
</configuration>
注:
<fs.defaultFS>:默认文件系统的名称,URI形式,uri的scheme需要由(fs.SCHEME.impl)指定文件系统实现类;uri的authority部分用来指定host、port等;默认是本地文件系统。HA方式,这里设置服务名,例如:hdfs:// 192.168.0.194:9000,HDFS的客户端访问HDFS需要此参数;
<hadoop.tmp.dir>:Hadoop的临时目录,其它目录会基于此路径,本地目录。只可以设置一个值;建议设置到一个足够空间的地方,而不是默认的/tmp下,服务端参数,修改需重启;
<io.file.buffer.size>:在读写文件时使用的缓存大小,这个大小应该是内存Page的倍数,建议1M。
----------
/usr/local/hadoop/etc/hadoop/hdfs-site.xml配置文件:
[iyunv@Hadoop-Data01 hadoop]# vim hdfs-site.xml
>>>>>
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>192.168.0.194:9001</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
注:
<dfs.namenode.name.dir>:本地磁盘目录,NN存储fsimage文件的地方;可以是按逗号分隔的目录列表,fsimage文件会存储在全部目录,冗余安全;这里多个目录设定,最好在多个磁盘,另外,如果其中一个磁盘故障,不会导致系统故障,会跳过坏磁盘。由于使用了HA,建议仅设置一个,如果特别在意安全,可以设置2个;
<dfs.datanode.data.dir>:本地磁盘目录,HDFS数据应该存储Block的地方。可以是逗号分隔的目录列表(典型的,每个目录在不同的磁盘),这些目录被轮流使用,一个块存储在这个目录,下一个块存储在下一个目录,依次循环;每个块在同一个机器上仅存储一份,不存在的目录被忽略;必须创建文件夹,否则被视为不存在;
<dfs.replication>:数据块副本数,此值可以在创建文件是设定,客户端可以只有设定,也可以在命令行修改;不同文件可以有不同的副本数,默认值用于未指定时。
<dfs.namenode.secondary.http-address>:SNN的http服务地址,如果是0,服务将随机选择一个空闲端口,使用了HA后,就不再使用SNN;
<dfs.webhdfs.enabled>:在NN和DN上开启WebHDFS (REST API)功能。
----------
/usr/local/hadoop/etc/hadoop/mapred-site.xml配置文件:
[iyunv@Hadoop-Data01 hadoop]# cp mapred-site.xml.template mapred-site.xml
[iyunv@Hadoop-Data01 hadoop]# vim mapred-site.xml
>>>>>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>192.168.0.194:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>192.168.0.194:19888</value>
</property>
</configuration>
/usr/local/hadoop/etc/hadoop/yarn-site.xml配置文件:
[iyunv@Hadoop-Data01 hadoop]# vim yarn-site.xml
>>>>>
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>192.168.0.194:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>192.168.0.194:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>192.168.0.194:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>192.168.0.194:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>192.168.0.194:8088</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>8192</value>
</property>
</configuration>
注:
<mapreduce.framework.name>:MapReduce按照任务大小和设置的不同,提供了两种任务模式:①本地模式(LocalJobRunner实现)mapreduce.framework.name设置为local,则不会使用YARN集群来分配资源,在本地节点执行。在本地模式运行的任务,无法发挥集群的优势。在web UI是查看不到本地模式运行的任务。②Yarn模式(YARNRunner实现)mapreduce.framework.name设置为yarn,当客户端配置mapreduce.framework.name为yarn时, 客户端会使用YARNRunner与服务端通信, 而YARNRunner真正的实现是通过ClientRMProtocol与RM交互, 包括提交Application, 查询状态等功能。
<mapreduce.jobhistory.address>和<mapreduce.jobhistory.webapp.address>:Hadoop自带了一个历史服务器,可以通过历史服务器查看已经运行完的Mapreduce作业记录,比如用了多少个Map、用了多少个Reduce、作业提交时间、作业启动时间、作业完成时间等信息。
----------
配置hadoop环境变量:
[iyunv@Hadoop-Data01 hadoop]# vim /etc/profile
>>>>>
export HADOOP_HOME=/usr/local/hadoop
export PATH=$HADOOP_HOME/bin:$PATH
[iyunv@Hadoop-Data01 hadoop]# vim hadoop-env.sh
>>>>>
export JAVA_HOME=/usr/local/jdk
添加从节点IP到Slave文件:
[iyunv@Hadoop-Data01 hadoop]# echo > slave && echo 192.168.0.195 > slave
拷贝hadoop服务目录到从主机:
[iyunv@Hadoop-Data01 local]# \scp -r hadoop-2.7.3 root@192.168.0.195:/usr/local/
进入Hadoop目录,启动Hadoop-Master主机上的服务:
①初始化:
[iyunv@Hadoop-Data01 bin]# sh /usr/local/hadoop/bin/hdfs namenode -format
②启动服务:
[iyunv@Hadoop-Data01 sbin]# sh /usr/local/hadoop/sbin/start-all.sh
③关闭服务:
[iyunv@Hadoop-Data01 sbin]# sh /usr/local/hadoop/sbin/stop-all.sh
④查看组件:
[iyunv@Hadoop-Data01 sbin]# jps
6517 SecondaryNameNode
6326 NameNode
6682 ResourceManager
6958 Jps |
|
|