安装hadoop

---恢复内容开始---

一.CentOS的设置:

1.用户名:hadoop

2.密码:123456

3.root密码:123456

4.ip地址:192.168.119.180

5.本机目录:

/opt   --    父目录
         /pt/softwares   --    存放软件安装包目录
         /opt/modules     --    存放软件的安装目录
         /opt/tools           --    存储工具目录(Eclipse等)
         /opt/data            --    存储一些测试数据
/home/hadoop     --  存储工具盒数据目录

二.CentOS安装jdk(安装目录是:/usr/java)

1.查看系统java

[root@hadoop hadoop]$ java –version:

java version "1.7.0_09-icedtea"
OpenJDK Runtime Environment (rhel-2.3.4.1.el6_3-x86_64)
OpenJDK 64-Bit Server VM (build 23.2-b09, mixed mode)

2.进一步查看jdk信息 

[root@hadoop hadoop]:[root@hadoop hadoop]# rpm -qa | grep java:

tzdata-java-2012j-1.el6.noarch
java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64
java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64

3.卸载OpenJDK:

[root@hadoop hadoop]# rpm -e --nodeps tzdata-java-2012j-1.el6.noarch
[root@hadoop hadoop]# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64
[root@hadoop hadoop]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64

4.上传新的jdk-6u45-linux-x64.bin软件到/home/hadoop/opt/modules:

[root@hadoop local]# chmod u+x jdk-6u45-linux-x64.bin

[root@hadoop local]# ./jdk-6u45-linux-x64.bin

5.配置环境变量

[root@hadoop hadoop]#vim + /etc/profile:

在文件最后加:{    JAVA_HOME=/usr/java/jdk1.7.0
                           JRE_HOME=/usr/java/jdk1.7.0/jre
                           PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
                           CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
                           export JAVA_HOME JRE_HOME PATH CLASSPATH 

  }
  [root@admin local]# source /etc/profile   //使修改立即生效

6.验证jdk安装成功

[root@hadoop hadoop]# java –version:

java version "1.7.0_15"
Java(TM) SE Runtime Environment (build 1.7.0_15-b03)
Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)   

 

 

三.hadoop单机模式的安装(安装目录:/home/hadoop/opt/modules)

1.hadoop1.2.1的解压

  [root@hadoop softwares]# tar zxvf hadoop-1.2.1.tar.gz

2.移动到modules文件夹内

[root@hadoop softwares]# mv hadoop-1.2.1.tar.gz /home/hadoop/opt/modules

3.修改环境变量

[root@hadoop modules]# vim /etc/profile

在文件最后加:{   ##HADOOP

                          export HADOOP_HOEM=/home/hadoop/opt/modules/hadoop-1.2.1

                          export PATH=$PATH:/home/hadoop/opt/modules/hadoop-1.2.1/bin

}

[root@hadoop modules]# source /etc/profile

4.测试  [root@hadoop ~]# hadoop:

Usage: hadoop [--config confdir] COMMAND
where COMMAND is one of:

5.配置hadoop:

[root@hadoop modules]# cd /home/hadoop/opt/modules/hadoop-1.2.1/conf

[root@hadoop conf]# vim hadoop-env.sh

把java路径改为{ export JAVA_HOEM=/usr/java/jdk1.7.0_15 }

6.hadoop测试程序(程序为:在input目录中.xml文件名中的【a-z】的个数):

(1).创建input目录:[root@hadoop data]# mkdir input

(2).复制一些文件在input中:[root@hadoop data]# cp /home/hadoop/opt/modules/hadoop-1.2.1/conf/*.xml /home/hadoop/opt/data/input

(3).运行程序:[root@hadoop hadoop-1.2.1]# hadoop jar hadoop-examples-1.2.1.jar grep /home/hadoop/opt/data/input/ /home/hadoop/opt/data/output/ 'dfs[a-z.]+'

出现:

 

 

 

 

 

 

814473-20151013204117319-1021533538

(4).查看/hadoop/opt/data/output/中part-00000文件:[root@hadoop output]# more part-00000

出现: 1    dfsadmin(就运行成功了)。

运行程序中出现的错误:
java.ioExcption 原因:自己创建了output目录

忘记错误情况了,解决方法:修改 /etc/hosts文件([root@hadoop output]# vim /etc/hosts):

QQ截图20150927174424

 

 

 

四.hadoop伪分布式安装

1.关闭防火墙及SElinux:

(1).查看防火墙:[root@hadoop hadoop]# service iptables status

(2).永久关闭防火墙:[root@hadoop hadoop]# chkconfig --level 35 iptables off

(3).暂时关闭防火墙:[root@hadoop hadoop]# service iptables stop

(4).暂时打开防火墙:[root@hadoop hadoop]# service iptables start

(5).配置selinux::[root@hadoop hadoop]# vim /etc/sysconfig/selinux:修改后如下图:

2

2.设置静态ip地址:

[root@hadoop output]# more /etc/sysconfig/network-scripts/ifcfg-eth0

3.修改hostname与本地DNS配置(修改host文件):

[root@hadoop output]# hostname hadoop

编辑 /etc/hosts文件:[root@hadoop hadoop]# vim /etc/hosts 修改后如下图所示:

3

4.设置ssh自动登录:

首先配置ssh:[hadoop@hadoop ~]$ ssh-keygen -t rsassh-keygen -t rsa(若已经配置过,则需要先删除: [hadoop@hadoop ~]$ rm -rf .ssh/)

4

进入.ssh/文件夹内:[hadoop@hadoop ~]$ cd .ssh/

由于其权限太高,所以:[hadoop@hadoop .ssh]$ cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

然后配置用户:[hadoop@hadoop .ssh]$ ssh localhost

5

如上依次配置 hadoop    hadoop.dragon.org  用户:

[hadoop@hadoop .ssh]$ ssh hadoop.dragon.org

[hadoop@hadoop .ssh]$ ssh hadoop

之后查看 ./ssh 中 known_hosts 文件:[hadoop@hadoop .ssh]$ more known_hosts

6

6.安装hadoop:

(1).hadoop的解压,安装和配置环境变量和上面hadoop单机模式一样。

 

在进行(2)时,使用UE的FTP模式:最先发现不能保存文件?
解决问题方法:
1.网上搜索发现ftp(文本传输协议),发现要在centos下配置ftp权限:于是根据   http://www.cnblogs.com/xiongpq/p/3384759.html   配置了ftp
2.第一步完成后发现还是不能保存,后来发现UE添加ftp帐号用的用户名是:Hadoop,而要修改文件权限不够,后来把UE中ftp帐号改为:root ,然后就好了。

 

(2).让Hadoop用户通过sudo命令执行root用户相关命令(修改/etc/sudoers文件):

      1.修改/etc/sudoers/文件必须使用 visudo 命令进行修改。(visudo命令可以修改文件并且查看你是否有语法错误。之前未使用该命令修改,结果使得文件有语法错误,最后无法改掉。只得重新装了一次系统。)

          [root@hadoop bin]# visudo /etc/sudoers

          在

                ## Allow root to run any commands anywhere

                root    ALL=(ALL)     ALL

           后 添加:

               Hadoop   ALL=(ALL)   ALL

       如下图:

      18

 

(3).修改 hadoop-1.2.1中conf目录下的一些文件(使用UE修改):core-size.xml    hdfs-site.xml    mapred-site.xml    hadoop-env.sh

          1. hadoop-env.sh文件(修改hadoop中默认java目录,和单机模式一样):

7

          2. core-size.xml文件:

8

代码解释:

     <property>                                                      --指定NameNode主机名与端口号                             
        <name>fs.default.name</name>
        <value>hdfs://hadoop.dragon.org:9000</value>
    </property>

    <property>                                                       --Hadoop.tmp目录
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/opt/data/tmp</value>
    </property>

 

           3.hdfs-site.xml文件:

9

    

     

 代码解释:

     <property>                                                           --设置HDFS副本数
        <name>dfs.replication</name>
        <value>1</value>
    </property>

    <property>                                                           --是否进行权限检查
        <name>dfs.permissions</name>
        <value>false</value>
    </property>

       4.mapred-site.xml文件:

10

代码解释:

<property>                                                           --设置JobTracker的主机名与端口号
        <name>mapred.job.tracker</name>
        <value>hadoop.dragon.org:9001</value>
  </property>

       5.slaves文件(DataNode的主机名):

11

      6.masters文件(SecondaryNameNode的主机名):

12

(4).格式化一些文件(使用 $  hadoop namenode -format命令):

出现错误:

14

 

Google后解决方法:

刚才使用UE修改文件时编码格式有误,后来用UE转换编码格式为UTF-8后好了

15

好了后再次输入命令:[hadoop@hadoop bin]$ hadoop namenode –format   出现:

14

(5).使用一些命令:

   1.[hadoop@hadoop bin]$ start-dfs.sh  

    出现错误:

16
错误原因:

权限不够

Google后解决方法:修改权限

1.修改hadoop目录的权限:

[root@hadoop modules]# sudo chown -R hadoop /home/hadoop/opt/modules/hadoop-1.2.1

[root@hadoop modules]# sudo chmod -R 755 /home/hadoop/opt/modules/hadoop-1.2.1

2.修改hdfs的权限:

[root@hadoop modules]# sudo /home/hadoop/opt/modules/hadoop-1.2.1/bin/hadoop dfs -chmod -R 755

[root@hadoop modules]# sudo /home/hadoop/opt/modules/hadoop-1.2.1/bin/hadoop dfs –ls

 

改好后输入命令:[hadoop@hadoop bin]$ start-dfs.sh    出现:

17

 

在浏览器中输入:192.168.119.180:50070   查看namenode及整个分布式文件系统的状态:

20

 

也可以输入:hadoop.dragon.org:50070 查看:这样就必须修改 windows的hosts文件,使得IP地址:192.168.119.180 指向 hadoop.dragon.org :

21

---恢复内容结束---

posted @ 2015-10-23 17:23  默默的看雨下  阅读(250)  评论(0编辑  收藏  举报