2、Hadoop配置
2.1 配置参数
我们任选一个节点,比如说就hdnode1吧,使用grid用户登录,而后修改配置文件,详细如下。
配置hadoop的基础环境变量,如JDK位置,hadoop一些配置、文件及日志的路径,这些配置都在hadoop-env.sh文件中:
[grid@hdnode1 ~]$ vi /usr/local/hadoop-0.20.2/conf/hadoop-env.sh
这里我们先仅修改JAVA_HOME变量值,指定到JDK目录:
export JAVA_HOME=/usr/local/jdk1.7.0_09
提示,本步也可以不做修改,而将JAVA_HOME加到用户的环境变量中。
修改核心站点配置,主要指定NameNode服务器的地址:
[grid@hdnode1 ~]$ vi /usr/local/hadoop-0.20.2/conf/core-site.xml
修改内容如下:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hdnode1:9000/</value>
<final>true</final>
</property>
</configuration>
这样我们就将hdnode1定义为NameNode。注意一个hadoop集群中不管master还是slave,fs.default.name的值必须相同,也就是说一个hadoop只能有一个NameNode。
指定HDFS相关的配置:
[grid@hdnode1 ~]$ vi /usr/local/hadoop-0.20.2/conf/hdfs-site.xml
修改内容如下:
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/data2/hadoop/name</value>
<final>true</final>
</property>
<property>
<name>dfs.data.dir</name>
<value>/data2/hadoop/data</value>
<final>true</final>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
那么这几个参数又都是什么意思呢?别的咱不讲,说一说上文提到的这哥仨:
- dfs.name.dir:指定namenode存储元数据的路径;
- dfs.data.dir:指定datanode存储数据的路径;
- dfs.replication:设置副本的数量,我们这里仨节点,设置再大没意义,就设置成3
除了这仨,别的参数还多着呢,后面咱们接触到了再介绍。
接下来配置mapreduce服务相关的参数,修改mapred-site.xml文件:
[grid@hdnode1 ~]$ vi /usr/local/hadoop-0.20.2/conf/mapred-site.xml
修改内容如下:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hdnode1:9001</value>
<final>true</final>
</property>
</configuration>
指定JobTracker进程运行的位置,这里指定在hdnode1节点上执行。
指定运行SecondaryNameNode服务的节点:
提示:注意哟,这里说的是运行SecondaryNameNode服务的节点,并不是指身份为master角色的节点哟。如果希望SecondaryNameNode运行在非namenode节点上的话,可以在这里指定另外的节点。
指定运行datanode和tasktracker的节点:
剩下的俩节点呗。
这样第一个节点就配置好了,第二和第三个节点怎么处理呢?直接将这些文件复制到第二第三节点即可。 |