`

hadoop集群配置

阅读更多
有三台机子:

192.168.1.100   node1   master

192.168.1.101   node2   slaves

192.168.1.102   node3   slaves

这是我配置hadoop分布式集群的步骤,如有问题,请指正。

一. 开通ssh,开机自启动,因为hadoop通过SSH通信

root用户:service sshd start

chkconfig sshd on

reboot 重启

二.添加用户组和用户  hadoop

groupadd hadoop
adduser -g hadoop hadoop

三.修改HOST

修改2个文件:

1./etc/hosts

192.168.1.100   node1

192.168.1.101   node2 
192.168.1.102   node3

2./etc/sysconfig/network,修改

四.配置SSH无密码登陆各机器

我们现在要实现在node1上用hadoop用户可以ssh不输密码直接连通 node2,node3。

切换到hadoop用户  # su hadoop

然后写命令:# ssh-keygen -t rsa,一直回车,

这样就会在当前用户的根目录/.ssh/下生成一对密钥,

# cp id_rsa.pub authorized_keys

# ssh localhost 看是否能连通本机。第一次登陆会提示Are you sure you want to continue connecting (yes/no)? 回答yes

# scp  authorized_keys  hadoop@node2:~/.ssh/

# scp  authorized_keys  hadoop@node3:~/.ssh/

# ssh node2

# ssh node3

注:有时候把公钥copy过去也无效,老是让输入密码,这个的原因之一是处于安全问题,需要改变下权限:
到node2和node3的hadoop目录下  //usr/hadop/.ssh/

chmod 600 authorized_keys
chmod 700 -R .ssh

五.安装JAVA

# mkdir /usr/local/java

# cd /usr/local/java

# cp jdk-6u22-linux-i586.bin  ./

# chmod +x jdk-6u22-linux-i586.bin

# ./jdk-6u22-linux-i586.bin

# vim /etc/profile,在这个文件末尾配置java的环境变量

export JAVA_HOME=/usr/home/jdk1.6.0_13
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

立即生效

# source /etc/profile

# java -version

java version "1.6.0_13"
Java(TM) SE Runtime Environment (build 1.6.0_13-b03)
Java HotSpot(TM) Client VM (build 11.3-b02, mixed mode, sharing),提示这些信息,java安装成功

六.安装hadoop

下载hadoop-0.20.203.0rc1.tar.gz

# tar zxvf hadoop-0.20.203.0rc1.tar.gz

在当前目录生成 hadoop-0.20.203.0 目录

配置环境变量:

# vi /etc/profile

export HADOOP_HOME=/usr/home/hadoop/hadoop-0.20.203.0

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

修改目录权限:

chgrp hadoop hadoop-0.20.203.0

chown -R hadoop:hadoop hadoop-0.20.203.0

# cd hadoop-0.20.203.0/conf目录

开始配置hadoop

# vi master

node1

# vi slaves

node2

node3

# vi hadoop-env.sh

export JAVA_HOME=/usr/home/jdk1.6.0_13

# vi core-site.xml

<property>
                <name>fs.default.name</name>
                <value>hdfs://node1:9000</value>
        </property>
        <property>
                <name>webinterface.private.actions</name>
                <value>false</value>
                <final>true</final>
                <desc>这个参数实际上就是为了方便测试用。允许在web页面上对任务设置优先级以及kill任务</desc>
        </property>
<property>
        <name>fs.trash.interval</name>
        <value>1440</value>
        <final>true</final>

        <desc>trash机制,当你删除DFS上的文件或目录时,会自动mv到当前用户的.Trash目录,保留时长1440分钟</desc>
</property>

# vi hdfs-site.xml

<property>
        <name>dfs.name.dir</name>
        <value>/home/hadoop/NameData</value>

        <desc>数据存放目录</desc>
     </property>
     <property>
        <name>dfs.permissions</name>
        <value>true</value>

       <desc>操作dfs文件时,权限验证</desc>

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

        <desc>数据备份数</desc>

    </property>

# vi mapred-site.xml

 <property>
                <name>mapred.job.tracker</name>
                <value>192.168.239.132:9001</value>
        </property>

# hadoop namenode -format 格式化

# bin/start-all.sh 启动

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics