hadoop 配置安装

1.   下载hadoop 压缩包,   拷贝到 /usr/hadoop目录下   tar -zxvf  hadoop-2.7.1.tar.gz,     

  比如: 

  127.0.0.1       localhost

  192.168.31.129  hadoop2   
  192.168.31.246  hadoop3
2.   进入  /usr/hadoop/hadoop-2.7.1/etc/hadoop      修改hadoop配置文件    hadoop-env.sh  

   1)    找到   export JAVA_HOME= ${JAVA_HOME}     ,   在底行模式输入(带:),     :echo   $JAVA_HOME     或命令模式下输入 echo $JAVA_HOME 查看当前

     JAVA_HOME变量具体值,   然后将查看结果替换成如下:   

 export JAVA_HOME= /usr/java/jdk1.7.0_71

     2)  配置SSH无密码登陆 ,

1. 在hadoop1中使用root用户输入以下命令设置本地无密码登陆
  $ ssh-keygen  一路回车即可   $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 这样就可以本机对本机进行ssh时免密了
2. 将公钥拷贝到其他机器上(hadoop2,hadoop3),
  $ scp id_rsa.pub root@hadoop2:~/.ssh/
3. 在hadoop2中将拷贝过来的公钥追加到 authorized_keys 文件中, 就可以实现 root 免密登录了

   $ cat id_rsa.pub >> ~/.ssh/authorized_keys

  这样就可以在hadoop1中免密码登陆到hadoop2 和Hadoop3 中了

  4. 如果要普通用户之间可以进行免密登录,执行一下步骤

    4.1  在hadoop1 中切换成普通用户登录,  如cmcc用户登录

    4.2  执行 ssh-keygen  一路回车  这样就会在用户根目录中创建一个 .ssh 文件夹,  如:  /home/cmcc/.ssh

    4.3  进入目录 /home/cmcc/.ssh ,  同样将id_rsa.pub 追加到本机 authorized_keys

       $ cat id_rsa.pub >> authorized_keys
   4.4 拷贝到其他机器上, 只不过这次不能使用 root 拷贝
       $ scp id_dsa.pub cmcc@hadoop2:/home/cmcc/.ssh
   4.5 进入 hadoop2 中,进入目录 /home/cmcc/.ssh
   4.6 追加公钥到 authorized_keys 中
      $ cat id_rsa.pub >> ~/.ssh/authorized_keys
 

3. 修改 slaves

hadoop2
hadoop3

3.  如2.   修改core-site.xml文件

<configuration>
     <property> <name>fs.defaultFS</name> <value>hdfs://127.0.0.1:9000</value> </property>
     <property> <name>hadoop.tmp.dir</name> <value>/usr/hadoop/tmp</value> </property> </configuration>

4. 修SecondaryNameNode 在那台机器上启动

1.  修改 masters 文件(添加主机名列表),  添加 hadoop2  (如果没有这个文件就新建)
2.  修改 hdfs-site.xml 文件  添加:
    <property>
      <name>dfs.namenode.secondary.http-address</name>
       <value>hadoop2:50090</value>
    </property>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
   </property>

5.  如2.    修改hdfs-site.xml

<configuration>
     <!-- 配副本的数量, 如果副本是3 那么包括自己共3份 --> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>

6.  如2.  修改 mapred-site.xml  ,   当前文件夹中没有 这个文件  但是有 mapred-site.xml.template,   所以拷贝一份,  进行修改  cp mapred-site.xml.template mapred-site.xml

<configuration>
     <!-- 告诉 hadoop 以后MR 运行在yarn 上-->
     <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

7.  如2.   修改yarn-site.xml

<configuration>
      <!-- NodeManger 获取数据的方式是 shuffle 方式 -->
        <property>
                 <name>yarn.nodemanager.aux-services</name>
                 <value>mapreduce_shuffle</value>
        </property>
     <!-- 指定(resourcemanager) 的地址-->
     <property>
           <name>yarn.resourcemanager.webapp.address</name>
           <value>127.0.0.1</value>
     </property>
</configuration>

8.  将 hadoop 添加到环境变量, 运行  vim /etc/profile   添加 HADOOP_HOME 变量,  并且将它加入  path 中    如下: 

export HADOOP_HOME=/usr/hadoop/hadoop-2.7.1

 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

9.  运行  source /etc/profile   ,   使环境变量生效

10.   初始化 HDFS (格式化文件系统)  ,  本命令会出现namenode进程无法启动,   查询了好多资料也不能启动,  最后使用  hadoop namenode -format (已过时)来

  进行格式化,成功启动!!(进入bin目录下,   执行  ./hadoop namenode -format  进行格式化)

hdfs namenode –format

11.  将hadoop1 中的配置文件拷贝到 hadoop2   hadoop3 机器上,(进入 /home/hadoop/hadoop-2.7.1/etc/hadoop )下,执行  

scp ./* root@hadoop3:/home/hadoop/hadoop-2.7.1/etc/hadoop

12.  进入  /usr/hadoop/hadoop-2.7.1/sbin   目录中,启动 HDFS和YARN   执行  ./start-all.sh    等待执行完毕,    再执行   jps  出现如下结果,  说明安装成功(确实启动项,

  查看  /usr/hadoop/hadoop-2.7.1/logs  中日志)

29162 NodeManager
28845 SecondaryNameNode
29025 ResourceManager
29492 Jps
28581 DataNode
28435 NameNode

 13.   但是当前 ./start-all.sh  已经过时,  使用   ./start-dfs.sh    ./start-yarn.sh   分开启动,

 14.   在浏览器中输入如下地址进行验证 (192.168.88.128 为本机地址)

http://192.168.88.128:50070  (hdfs 管理界面)   
  1)如果看不到活着的 datanode, 可以试图关闭防火墙:
  
  2) 设置host, vi /etc/hosts, 将所有主机名和ip地址都写好
http://192.168.88.128:8088 (yarn 管理界面)

 15.  修改 hadoop 中 ssh 链接端口 vi hadoop-env.sh

  export HADOOP_SSH_OPTS="-p 16022"


16.参考: https://segmentfault.com/a/1190000009580427
原文地址:https://www.cnblogs.com/redhat0019/p/8568519.html