`

Redhat上Hadoop2.2.0安装配置说明

阅读更多

Redhat上Hadoop2.2.0安装配置说明
1. 建立用户,用户组都为hadoop
创建组:groupadd hadoop,
创建用户:useradd -g hadoop hadoop
设置用户密码:passwd hadoop
2. 修改主机名
# hostname Master
#vim /etc/sysconfig/network
HOSTNAME=Master
所有namenode和datanode都要配置主机名
3. 修改host文件
#vim /etc/hosts
在文件里面添加类似如下配置:
192.168.13.62 Master
192.168.13.63 Slave01
192.168.13.64 Slave02
并用scp命令复制到其他所有机器,即所有namenode和datanode做相同配置
4. 关闭防火墙
1) 查看防火墙是是否已关闭:
执行 chkconfig iptables status,如果得到哪下图所示,则表示防火墙已关闭,否则表示已启动防火墙


执行 Chkconfig --list | grep iptables,得到如下结果,如果3和5都为on,表示开机自动启动防火墙

2) 关闭防火墙方法:
永久性生效的方法: 
开启: chkconfig iptables on
关闭: chkconfig iptables off

即时生效,重启后失效的方法
开启: service iptables start
关闭: service iptables stop

Redhat 使用了Selinux来增强安全性,其关闭的办法为:
1) 永久有效:
Vi /etc/selinux/config 将其中SELINUX=”” 值 改为disabled
2) 即时生效
Set enforce 0
3) 查看selinux状态命令
Sestatus,如下图所示,则表示已关闭


5. 配置SSH无密码登陆
1) 登录到master机器,然后进入到/home/hadoop/目录,
2) 创建.ssh目录:mkdir .ssh
3) 进入.ssh目录,执行ssh-keygen –t rsa命令,生成密钥文件
4) 进入.ssh目录,执行ssh-keygen –t dsa命令,生成密钥文件
5) 在.ssh目录下生成了id_rsa  id_rsa.pub 和id_dsa  id_dsa.pub四个文件
6) 把 id_rsa.pub 和 id_dsa.pub追加到授权的 key 里面去。 执行命令 cat      /home/hadoop/.ssh/id_rsa.pub  >> /home/hadoop/.ssh/authorized_keys
7) 执行ssh localhost 如果不需要输入密码,则表示密钥生成成功
8) 修改权限: 执行 chmod 600  /home/hadoop/.ssh/authorized_keys
9) 将公钥复制到所有的 slave 机器上 :scp /home/hadoop/.ssh/authorized_keys hadoop@192.168.13.63:/home/hadoop/.ssh /   
然后 输入 yes ,最后 输入 Slave01机器的密码
10) 在master主机上执行: ssh Slave01 ,如果不需要输入密码,则表示配置成功
11) 进入所有datanode机器,然后从第3)步重复执行,即生成密钥文件,将id_rsa.pub,id_dsa.pub两个文件复制到master节点上,并将其追加到master节点的/home/hadoop/.ssh/authorized_keys文件中
12) 然后分别在datanode上使用ssh master命令,如果无需输入密码,则表示namenode与所有datanode节点相互通信都已打通,无需密码
6. 安装hadoop程序
1) 安装JDK,这里就省略具体安装说明
2) 上传hadoop安装程序hadoop-2.2.0.tar.gz到master服务器上的/home/hadoop/目录下
3) 执行tar –zxvf hadoop-2.2.0.tar.gz 解压,会在/home/hadoop/目录下生成hadoop-2.2.0目录
4) 修改hadoop-2.2.0/etc/hadoop/hadoop-env.sh
修改JAVA_HOME值(export JAVA_HOME=/home/hadoop/jdk1.6.0_06)
5) 修改hadoop-2.2.0/etc/hadoop/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://192.168.13.62:9000</value>
      </property>
     <property>
            <name>io.file.buffer.size</name>
             <value>131072</value>
        </property>
     <property>
            <name>hadoop.tmp.dir</name>
            <value>/home/hadoop/hadoop-2.2.0/hadoop_tmp</value>
     </property>
     <property>
           <name>hadoop.proxyuser.hadoop.hosts</name>

           <value>*</value>
    </property>
    <property>
           <name>hadoop.proxyuser.hadoop.groups</name>
           <value>*</value>
   </property>
</configuration>

配置该文件时,要在/home/hadoop/hadoop-2.2.0目录下建立临时目录hadoop_tmp
6) 修改hadoop-2.2.0/etc/hadoop/slaves,将datanode节点配置到该文件中,其内容如下:
Slave01
Slave02
7) 修改配置文件hadoop-2.2.0/etc/hadoop/hdfs-site.xml
<configuration>

<property>
   <name>dfs.namenode.secondary.http-address</name>
   <value>192.168.13.62:9001</value>
</property>

<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/hdfs/name</value>
</property>

    <property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/hdfs/data</value>
</property>

<property>
<name>dfs.replication</name>
<value>2</value>
</property>

<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>

</configuration>
8) 修改hadoop-2.2.0/etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>192.168.13.62:10020</value>
</property>
<property>
   <name>mapreduce.jobhistory.webapp.address</name>
   <value>192.168.13.62:19888</value>
   </property>
</configuration>
9) 修改hadoop-2.2.0/etc/hadoop/yarn-env.sh
export JAVA_HOME=/home/hadoop/jdk1.6.0_06/
10) 修改hadoop-2.2.0/etc/hadoop/yarn-site.xml
<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.address</name>
   <value>192.168.13.62:8032</value>
   </property>
   <property>
   <name>yarn.resourcemanager.scheduler.address</name>
   <value>192.168.13.62:8030</value>
   </property>
   <property>
   <name>yarn.resourcemanager.resource-tracker.address</name>
   <value>192.168.13.62:8031</value>
   </property>
   <property>
   <name>yarn.resourcemanager.admin.address</name>
   <value>192.168.13.62:8033</value>
   </property>
   <property>
   <name>yarn.resourcemanager.webapp.address</name>
   <value>192.168.13.62:8088</value>
   </property>
</configuration>
11) 复制hadoop-2.2.0目录到所有datanode机器上的/home/hadoop/目录下
scp -r /home/hadoop/hadoop-2.2.0 hadoop@Slave01: /home/hadoop/
scp -r /home/hadoop/hadoop-2.2.0 hadoop@Slave02: /home/hadoop/

后期如果要修改相关配置文件,可以写一个脚本,批量复制到各个节点服务器上,如下内容:
一、节点之间传递数据:
第一步:vi scp.sh
第二步:把下面内容放到里面(记得修改下面红字部分,改成自己的)
#!/bin/bash
#slave1
scp /home/hadoop/hadoop-2.2.0/etc/hadoop/core-site.xml hadoop@slave01:~/
scp /home/hadoop/hadoop-2.2.0/etc/hadoop/hdfs-site.xml hadoop@slave01:~/                     
#slave2
scp /home/hadoop/hadoop-2.2.0/etc/hadoop/core-site.xml hadoop@slave02:~/
scp /home/hadoop/hadoop-2.2.0/etc/hadoop/hdfs-site.xml hadoop@slave02:~/
第三步:保存scp.sh
第四步:bash scp.sh执行

12) 配置环境变量
登录master机器,在/home/hadoop/目录下,编辑.bash_profile文件,添加如下内容:
export PATH
export JAVA_HOME=/home/hadoop/jdk1.6.0_06
export CLASS_PATH=JAVA_HOME/lib;$JAVA_HOME/jre/lib
export JAVA_HOME CLASSPATH TOMCAT_HOME

export HADOOP_HOME=/home/hadoop/hadoop-2.2.0
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin:$JAVA_HOME/j

export HADOOP_DEV_HOME=/home/hadoop/hadoop-2.2.0
export PATH=$PATH:$HADOOP_DEV_HOME/bin
export PATH=$PATH:$HADOOP_DEV_HOME/sbin
export HADOOP_MAPARED_HOME=${HADOOP_DEV_HOME}
export HADOOP_COMMON_HOME=${HADOOP_DEV_HOME}
export HADOOP_HDFS_HOME=${HADOOP_DEV_HOME}
export YARN_HOME=${HADOOP_DEV_HOME}
export HADOOP_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop
export HDFS_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop
export YARN_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop
运行 source .bash_profile 使得环境变量立即生效
13) 在master机器格式化,hdfs必须先格式化才能用
hadoop namenode format
14) 启动hdfs:进入/home/hadoop/hadoop-2.2.0/sbin目录下,运行
./start-dfs.sh
15) 启动yarn
./start-yarn.sh
16) master有如下进程

17) slave01有如下进程


此时hadoop集群已全部配置完成!!!

7. 验证部署是否成功
1) 输入http://192.168.13.62:8088/cluster 查看yarn是否正常部署



2) 验证hdfs文件系统
hadoop fs -mkdir hdfs://192.168.13.62:9000/testfolder 创建testfolder目录

hadoop fs -ls hdfs://192.168.13.62:9000/  列出所有文件列表

3) http://192.168.13.62:50070/dfshealth.jsp 查看hdfs节点运行状态




 

  • 大小: 225.1 KB
  • 大小: 215.9 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics