一、配置hadoop集群

一共有7个文件要修改:
hadoop-2.7.1/etc/hadoop/hadoop-env.sh
hadoop-2.7.1/etc/hadoop/yarn-env.sh
hadoop-2.7.1/etc/hadoop/core-site.xml
hadoop-2.7.1/etc/hadoop/hdfs-site.xml
hadoop-2.7.1/etc/hadoop/mapred-site.xml
hadoop-2.7.1/etc/hadoop/yarn-site.xml
hadoop-2.7.1/etc/hadoop/slaves

(1)hadoop-env.sh 、yarn-env.sh

这二个文件主要是修改JAVA_HOME改成实际本机jdk所在目录位置
执行命令
$gedit  etc/hadoop/hadoop-env.sh (及 vi etc/hadoop/yarn-env.sh)
 
打开文件找到下面这行的位置,改成(jdk目录位置,大家根据实际情况修改) 
export JAVA_HOME=/home/hadoop/jdk_1.8.0_45 
在 hadoop-env.sh中加上这句: 
export HADOOP_PREFIX=/home/hadoop/hadoop-2.7.1

(2) core-site.xml

参考下面的内容修改:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
 <property>
   <name>fs.defaultFS</name>
   <value>hdfs://master:9000</value>       
 </property>
 <property>
     <name>hadoop.tmp.dir</name>
     <value>/home/hadoop/tmp</value>
 </property> 
</configuration> 
注:/home/hadoop/tmp 目录如不存在,则先mkdir手动创建
core-site.xml的完整参数请参考 
http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-common/core-default.xml

(3)hdfs-site.xml

参考下面的内容修改:
<?xml version="1.0" encoding="UTF-8"?>
   <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
   <configuration>
     <property>
       <name>dfs.datanode.ipc.address</name>
       <value>0.0.0.0:50020</value>
     </property>
     <property>
       <name>dfs.datanode.http.address</name>
      <value>0.0.0.0:50075</value>
    </property>  
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoop/data/datanode</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>slave1:9001</value>
</property>    
    <property>
      <name>dfs.replication</name>
      <value>1</value>
    </property>
  <property> 
   <name>dfs.permissions</name> 
     <value>false</value> 
  </property>
 </configuration>


hdfs-site.xml的完整参数请参考
http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml

(4)mapred-site.xml

参考下面的内容修改:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
</property>
<property>
        <name>mapreduce.jobhistory.address</name>
        <value>master:10020</value>
</property>
<property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>master:19888</value>
 </property>
 </configuration>
mapred-site.xml的完整参数请参考
http://hadoop.apache.org/docs/r2.6.0/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml

(5)yarn-site.xml

<?xml version="1.0"?>
<configuration> 
<property> 
<name>yarn.nodemanager.aux-services</name> 
<value>mapreduce_shuffle</value> 
</property> 
<property> 
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> 
<value>org.apache.hadoop.mapred.ShuffleHandler</value> 
</property> 
<property>
<name>yarn.resourcemanager.scheduler.address</name> 
<value>master:8030</value> 
</property>
<property> 
<name>yarn.resourcemanager.resource-tracker.address</name> 
<value>master:8025</value> 
</property>
<property> 
<name>yarn.resourcemanager.address</name>
<value>master:8040</value>
 </property> 
</configuration>
 
 
yarn-site.xml的完整参数请参考
http://hadoop.apache.org/docs/r2.6.0/hadoop-yarn/hadoop-yarn-common/yarn-default.xml

(6)slaves

vim slaves
修改为: master
              slave1

这样master和slave1上就有datanode进程



把hadoop-2.7.1文件夹拷贝到其他机器上覆盖。

二、测试hadoop配置

在master主机上
执行命令:
hdfs namenode -format

出现has been successfully formatted 表示格式化成功,否则按照错误提示修改配置文件。

如果命令不能执行 检查/etc/profile文件,配置正确的环境变量,保存退出并且执行命令:source /etc/profile

执行命令:
start-dfs.sh
使用jps查看
jps
显示进程NameNode、DataNode、说明成功
在slave1上用jps查看进程,显示进程DataNode、SecondaryNameNode说明成功
执行命令:
start-yarn.sh
查看进程,多了ResourceManager、NodeManager。
在slave1上查看进程,多了NodeManager说明成功。

停止命令:stop-dfs.sh stop-yarn.sh 记得重复测试的时候先停止服务再开启,保证准确性。

web界面检查hadoop

hdfs管理界面    http://master:50070/
yarn的管理界面不再是原来的50030端口而是8088  http://master:8088/
//不能访问的话就把主机名改成IP地址


查看hadoop状态
hdfs dfsadmin -report 查看hdfs的状态报告
yarn  node -list   查看yarn的基本信息


hadoop集群安装部署(二)
//配置文件的修改一定要仔细,一点点错误都会导致格式化错误或者之后的错误。
//如果start命令之后显示的进程不对,就把所有机子的用户目录下面的data目录下的文件都删除,然后在master主机上再执行hdfs namenode -format 格式化一次。

三、使用hadoop集群运行例子

运行自带mapreduce例子grep
执行命令
$hadoop fs -mkdir /input
$hadoop fs -put etc/hadoop/*.xml  /input  
$hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar grep input output 'dfs[a-z.]+'
$hadoop fs -get output  /home/hadoop/output
 
查看结果
$cat output/*
1 dfsadmin  
得到和单机一样的结果,'dfs'只出现一次

//运行hadoop fs命令 有时会提示安全模式而不能执行修改删除操作,可以退出安全模式,但是不推荐,进入安全模式可能是因为主机之间进程不同步,把所有主机停止服务,再开启,或者直接重启系统。
//关于hadoop fs 的各种shell命令:          http://hadoop.apache.org/docs/r2.5.2/hadoop-project-dist/hadoop-common/FileSystemShell.html

相关文章: