天天看点

在CentOS6.4 下以单机伪分布式模式安装hadoop2.7.1在CentOS6.4 下以单机伪分布式模式安装hadoop2.7.1

在CentOS6.4 下以单机伪分布式模式安装hadoop2.7.1

本文记录了我在Centos6.4 下以单机伪分布式模式安装hadoop2.7.1的详细过程,适合于hadoop入门使用。本文主要参考步骤来源自http://dblab.xmu.edu.cn/blog/install-hadoop/

  1. 安装CentOS-6.4-x86_64(略)
  2. hadoop增加管理员操作权限
  3. 安装java
  4. 安装hadoop
  5. 配置ssh
  6. 设置防火墙
  7. 修改HOST映射

安装CentOS-6.4-x86_64

安装过程略,我是用vmware进行安装,用户名设置为hadoop

hadoop增加管理员操作权限

如遇到 “is not in the sudoers file”的问题,解决方案如下:

1、切换到root用户

$ su -
$ visudo
           

2、移动光标,到最后一行

3、按a,进入append模式

4、输入

5、按Esc

6、输入“:w”(保存文件)

7、输入“:q”(退出)

这样就把自己加入了sudo组,可以使用sudo命令了。

安装java

将jdk-7u76-linux-x64.tar.gz拷贝到CentOS中去,如桌面。将java安装在/usr/java中

$ cd /home/hadoop/Desktop
$ sudo sudo tar -zxvf ./jdk-u76-linux-x64.tar.gz -C /usr
$ cd /usr/
$ sudo mv ./jdk-u76-linux-x64/ ./java
$ sudo chown -R hadoop:hadoop ./java
           

java解压缩后可以使用,输入以下命令判断java是否可用:

$ cd ./java
$ ./bin/java
           

在~/.bashrc 中配置java运行环境变量

在文件最前面添加如下单独一行(注意 = 号前后不能有空格),并保存:

export JAVA_HOME=/usr/java
           

让该环境变量生效,需要执行以下代码,看能否正确输出JAVA_HOME的值

$ source ~/.bashrc
$ echo $JAVA_HOME
           

安装hadoop

将下载好的hadoop-2.7.1.tar.gz拷贝到CentOS系统中(如桌面),然后执行安装。

$ cd /home/hadoop/Desktop
$ sudo tar -zxvf ./hadoop-..tar.gz -C /usr/local
$ cd /usr/local/
$ sudo mv ./hadoop-./ ./hadoop
$ sudo chown -R hadoop:hadoop ./hadoop
           

Hadoop解压后即可使用。输入如下命令来检查 Hadoop 是否可用,成功则会显示命令用法

$ cd ./hadoop
$ ./bin/hadoop
           

配置环境变量PATH

在文件最前面加入如下单独一行

让该环境变量生效,需要执行以下代码

$ source ~/.bashrc
           

Hadoop伪分布式配置

伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。

修改配置文件 core-site.xml

修改成如下配置:

<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/usr/local/hadoop/tmp</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>
           

同样的,修改配置文件 hdfs-site.xml:

<configuration>
    <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>
           

配置ssh免密码登陆

$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
$ export HADOOP\_PREFIX=/usr/local/hadoop
           

按此方式设置后,仍然无法实现免密码登陆,需要再进行如下设置:

$ chown hadoop: /home/hadoop/.ssh  
$ chown hadoop: /home/hadoop/.ssh/*  
$ chmod  /home/hadoop/.ssh
$ chmod  /home/hadoop/.ssh/*  
           

安装后,可以使用如下命令登陆本机:

$ ssh localhost
$ exit
           

配置防火墙

如果我们要远程连接此台机器的话,需要保证9000端口开放。因此可以直接设置将防火墙关闭。

1) 永久性生效,重启后不会复原

开启: chkconfig iptables on

关闭: chkconfig iptables off

2) 即时生效,重启后复原

开启: service iptables start

关闭: service iptables stop

修改host映射

如果我们要远程连接此台机器的话,必须将hostname映射的IP地址改为本机的地址

$  sudo vi /etc/hosts
           

将127.0.0.1 改为本机实际IP地址

将::1 localhost ….这行注释掉

继续阅读