yangyang12138

导航

hadoop集群搭建

从周日一直到周三,一有空就搞,终于在周三完成了集群的搭建,

先说下基本过程,

第一步当然是下载hadoop,官网上都有,这个就不多说了,下载完后解压,解压时要特别注意,最后不要在root用户下操作,因为后续要配置无密码 ssh登录,root下配置 无密码ssh登录有点麻烦

命令:tar -zxf hadoop.tar.gz

第二步配置无密码ssh登录,如果不配置的话,每次启动hadoop都要输入密码,而且集群根本没法实现

切换到当前用户目录

命令: cd 

cd .ssh

keygen-rsa

创建完成后把公钥里的内容拷贝到一个新文件authorized_keys中,即可完成,把上述文件拷贝到集群的其他机器上

第三步 配置环境变量 

  1. export HADOOP_HOME=/usr/local/hadoop
  2. export HADOOP_INSTALL=$HADOOP_HOME
  3. export HADOOP_MAPRED_HOME=$HADOOP_HOME
  4. export HADOOP_COMMON_HOME=$HADOOP_HOME
  5. export HADOOP_HDFS_HOME=$HADOOP_HOME
  6. export YARN_HOME=$HADOOP_HOME
  7. export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
  8. export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

第四步配置必要的参数

文件core-site.xml

<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://Master:9000</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>file:/usr/local/hadoop/tmp</value>
                <description>Abase for other temporary directories.</description>
        </property>
</configuration>
文件hdfs-site.xml
<configuration>
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>Master:50090</value>
        </property>
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>file:/usr/local/hadoop/tmp/dfs/name</value>
        </property>
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>file:/usr/local/hadoop/tmp/dfs/data</value>
        </property>
</configuration>

文件 mapred-site.xml (可能需要先重命名,默认文件名为 mapred-site.xml.template),然后配置修改如下:

复制代码
<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>
复制代码

文件 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>

第五步格式化namenode

 hdfs namenode -format 


第六步集群配置

在slaves文件中加入所有机器的ip地址

第七步配置hosts

这一步其实很重要,因为hadoop集群用的是hostname而不是ip,所以必须配置hosts

vi /etc/hosts

XXX.XXX.XXX.XXX 主机名

如果集群内有hostname相同的两台机器,就会有一台机器的datanode无法正常显示,

start-all.sh

 

posted on 2018-05-10 00:55  杨杨09265  阅读(140)  评论(0编辑  收藏  举报