操作方法
环境变量配置 设置正确的 JAVA_HOME 环境变量,比如 export JAVA_HOME=JDK conf/hadoop-env.sh 某些 Hadoop 版本在配置了 IPv6 的计算机上会监听错网络地址,所以需要增加如下一行以屏蔽 java 的 IPv6 功能: export HADOOP_OPTS=-Djava.net.preferIPv4Stack=true
配置数据目录和namenode服务地址 编辑 conf/core-site.xml <configuration> <property> <name>hadoop.tmp.dir</name> <value>/hadoop/data/hadoop-${user.name}</value> </property> <property> <name>fs.default.name</name> <value>hdfs://192.168.0.10:9000</value> </property> </configuration> 第一段设置数据的储存位置(相应的目录当前用户应该有全权限),第二段设置 namenode 服务地址,用于跟其他计算机交流。
设置JobTracker 服务地址 编辑 conf/mapred-site.xml <configuration> <property> <name>mapred.job.tracker</name> <value>192.168.0.10:9001</value> </property> </configuration>
设置分布式数据备份数 编辑 conf/hdfs-site.xml <configuration> <property> <name>dfs.replication</name> <value>3</value> </property> <!-- Configuring the SecondaryNameNode on a remote host --> <property> <name>dfs.http.address</name> <value>namenode.host.address:50070</value> <description> The address and the base port where the dfs namenode web ui will listen on. If the port is 0 then the server will start on a free port. </description> </property> </configuration> 这段设置一个文件数据在 Hadoop 系统里冗余多少份,一般设置为3。 这样一旦有新的文件数据写入 Hadoop,系统会随机将文件分别写入到3台datanode, 这样一旦系统中的某一台 datanode 坏掉了(比如硬盘烧了)只需要将这台计算机整台卸下,再换上一台新的计算机到网络即可,数据会自动复制以保证始终有3份数据。这也是分布式储存系统维护方便的原因。
配置主机hosts 编辑 /etc/hosts , 由于 Hadoop 有时会使用 hostname 访问系统中的其他计算机,而 hostname 有时会解析错误,所以比较笨的方法是在 /etc/hosts 里增加每一台计算机的名称和IP地址。比如: 192.168.0.10 master 192.168.0.100 data001 192.168.0.101 data002 192.168.0.102 data003