Hadoop 1.0安装配置

1部署介绍

1.1环境说明

         集群中包括4个节点:1Master3Salve,节点之间局域网连接,可以相互ping通。节点IP地址分布如下:

机器名称

IP地址

Master

192.168.1.2

Salve1

192.168.1.3 

Salve2 

192.168.1.4 

Salve3

192.168.1.5 

Master机器主要配置NameNodeJobTracker的角色,负责总管分布式数据和分解任务的执行;3Salve机器配置DataNodeTaskTracker的角色,负责分布式数据存储以及任务的执行。

1.2网络配置

1)查看当前机器名称

用下面命令进行显示机器名称,如果跟规划的不一致,要按照下面进行修改。

hostname

2)修改机器名

1. 打开/etc/hostname文件;

 

sudo gedit /etc/hostname

 

2. /etc/hostname文件中的ubuntu改为你想取的机器名。重启系统后才会生效。

3)配置hosts文件(必须)

"/etc/hosts"这个文件是用来配置主机将用的DNS服务器信息,是记载LAN内接续的各主机的对应[HostNameIP]用的。当用户在进行网络连接时,首先查找该文件,寻找对应主机名(或域名)对应的IP地址。

sudo gedit /etc/hosts

2.创建hadoop用户组和用户

2.1. 创建hadoop用户组;

sudo addgroup hadoop

2.2. 创建hadoop用户;

sudo adduser -ingroup hadoop hadoop

2.3. hadoop用户添加权限;

sudo gedit /etc/sudoers

 

按回车键后就会打开/etc/sudoers文件了,给hadoop用户赋予root用户同样的权限。

root   ALL=(ALL:ALL)   ALL下添加hadoop   ALL=(ALL:ALL)  ALL

3. SSH无密码验证配置

3.1安装SSH

sudo apt-get install ssh安装SSH协议

sudo apt-get install rsync rsync是一个远程数据同步工具)

3.2配置节点间无密码登录

1、转换成hadoop用户

su hadoop

2、生成无密码密钥对

ssh-keygen –t rsa –P “”

3、把id_rsa.pub追加到授权的key里面去

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

4修改文件"authorized_keys"权限

chmod 600 ~/.ssh/authorized_keys

5、用root用户登录服务器修改SSH配置文件"/etc/ssh/sshd_config"的下列内容

RSAAuthentication yes # 启用 RSA 认证

PubkeyAuthentication yes # 启用公钥私钥配对认证方式

AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)

 

6、退出root登录,使用hadoop普通用户验证是否成功。

 ssh localhost

7、接下来的事儿是把公钥复制所有需要无密码访问的机器上。使用下面的命令格式进行复制公钥:

 scp ~/.ssh/id_rsa.pub 远程用户名@远程服务器IP:~/

8、然后将公钥追加到该节点的授权文件"authorized_keys"中去

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

9最后记得把"/home/hadoop/"目录下的"id_rsa.pub"文件删除掉。

rm –r ~/id_rsa.pub

4Java环境安装

所有的机器上都要安装JDK,现在就先在Master服务器安装,然后其他服务器按照步骤重复进行即可。安装JDK以及配置环境变量,需要以"root"的身份进行。

4.1安装jdk

1首先用root身份登录"Master.Hadoop"后在"/usr"下创建"java"文件夹

mkdir /usr/java

2、把相应的安装包复制到/usr/java目录下

cp /home/hadoop/ jdk-6u31-linux-i586.bin /usr/java

3接着进入"/usr/java"目录通过下面命令使其JDK获得可执行权限,并安装JDK

chmod   +x   jdk-6u31-linux-i586.bin(修改权限)

./jdk-6u31-linux-i586.bin(运行)

4、该过程可以直接下载jdk*.tar.gz包解压之后移动到/usr/java目录下,然后修改所属用户和组。

chown -R root:root  /usr/java

4.2配置环境变量

编辑"/etc/profile"文件,在后面添加Java"JAVA_HOME""CLASSPATH"以及"PATH"内容。

# set java environment

export JAVA_HOME=/usr/java/jdk1.6.0_31

export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

 

4.3生效并验证

source /etc/profile

java -version

5 hadoop集群安装

5.1安装hadoop

1、下载hadoop并解压,然后将解压后的文件夹移动到合适的目录下,并把读权限分配给hadoop用户(非常重要

 

chown –R hadoop:hadoop hadoop-1.2.1

 

2Hadoop的安装路径添加到"/etc/profile"中,修改"/etc/profile"文件(配置java环境变量的文件),将以下语句添加到末尾,并使其有效:

# set hadoop path

export HADOOP_HOME_WARN_SUPPRESS=1

export HADOOP_HOME=#####

export PATH=$PATH :$HADOOP_HOME/bin

5.2配置hadoop

1)配置hadoop-env.sh

"hadoop-env.sh"文件位于"~/conf"目录下。

export JAVA_HOME=/usr/java/jdk1.6.0_31

2)配置core-site.xml文件

<configuration>

    <property>

        <name>hadoop.tmp.dir</name>

        <value>$HADOOP_HOME/tmp</value>

        备注:请先在 /usr/hadoop 目录下建立 tmp 文件夹)

        <description>A base for other temporary directories.</description>

    </property>

<!-- file system properties -->

    <property>

        <name>fs.default.name</name>

        <value>hdfs://192.168.1.2:9000</value>

    </property>

</configuration>

3)配置hdfs-site.xml文件

<configuration>

    <property>

        <name>dfs.replication</name>

        <value>1</value>

        (备注:replication 是数据副本数量,默认为3salve少于3台就会报错)

    </property>

<configuration>

4)配置mapred-site.xml文件

<configuration>

    <property>

        <name>mapred.job.tracker</name>

        <value>http://192.168.1.2:9001</value>

    </property>

</configuration>

5)配置masters文件

去掉"localhost",加入Master机器的IP192.168.1.

sudo gedit masters

6)配置slaves文件(Master主机特有

去掉"localhost",加入集群中所有Slave机器的IP,也是每行一个。

sudo gedit slaves

7)克隆hadoop

Master上配置好的hadoop所在文件夹复制到所有的Slave的对应目录下(实际上Slave机器上的slavers文件是不必要的,复制了也没问题)。(备注:此时用户可以为hadoop也可以为root),修改权限,配置/etc/profile

5.3启动

1)格式化HDFS文件系统

  在"Master "上使用普通用户hadoop进行操作。(备注:只需一次,下次启动不再需要格式化,只需 start-all.sh

 hadoop namenode –format

2)启动hadoop

start-all.sh

 

 

你可能感兴趣的:(hadoop,ssh,hdfs)