您的位置:首页 > 运维架构

hadoop搭建教程之二(安装hadoop)

2013-03-14 20:46 316 查看
伪分布式模式的安装和配置步骤

1、下载并解压Hadoop安装包,这里我们使用hadoop-1.0.4.tar版本

这里是下载地址:http://apache.dataguru.cn/hadoop/common/hadoop-1.0.4/

2、添加用户和组

添加组

groupadd hadoop


添加用户

useradd hadoop -g hadoop


添加新的用户和组的作用为,使用独立的帐号保护hadoop文件,防止被其他用户修改。同时,还能防止程序修改其它账户的文件。

3、Hosts的配置

Hadoop通过域名来进行互相访问,通过修改/etc/hosts文件可配置本地域名映射关系,在hosts文件中添加计算机的域名(或叫别名)

和IP的对应关系,如在本机中添加slave101的主机(假设IP为192.168.154.101),在末尾添加内容为:

192.168.154.1 master


注意,这三个别名在完全分布式时,将会使用三个IP来替换,分别对应元数据节点、数据节点、辅助元数据节点。

修改/etc/sysconfig/network文件,将主机名改为master。

HOSTNAME=master


当系统重启后,主机名便会生效。也可运行如下命令设置主机名,无须重启:

hostname master


4、SSH和无密码登录

安装SSH客户端

yum -y install openssh-clients


生成无密码的“公私钥”对:

su hadoop

ssh -keygen -t dsa -P '' -f ~/.ssh/id_dsa

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized-keys

chmod 600 ~/.ssh/authorized_keys

确认是否成功:

ssh localhost


5、JDK的安装与配置

运行Hadoop需要JDK1.6(也叫JDK6.0)以上,到www.oracle.com上进行下载。笔者在这里使用的是jdk-7u17-linux-i586.tar.gz

下面讲解JDK的安装与配置步骤

一、安装

mkdir /usr/java

tar -zxvf jdk-7u17-linux-i586.tar.gz -C /usr/java


二、配置

为了使用方便,我们对JDK的安装目录进行了链接

ln -s /usr/java/jdk1.7.0_17 /usr/java/jdk


然后,修改环境变量,在/etc/profile文件夹中添加下面的内容:

JAVA_HOME=/usr/java/jdk

PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME CLASSPATH PATH

在命令行下输入source /etc/profile使用修改生效。

6、Hadoop的下载与解压

到hadoop.apache.org 上下载Hadoop的安装文件,笔者使用的是“hadoop-1.0.4.tar”。

在发布式安装模式下,所有服务器Hadoop的安装目录需要一样。笔者安装的位置为/opt/hadoop,使用解压命令如下:

tar -zxvf hadoop-1.0.4.tar.gz -C /opt/

mv /opt/hadoop-1.0.4 /opt/hadoop

chown -R hadoop:hadoop /opt/hadoop

su hadoop


7、配置Hadoop

修改hadoop目录下conf/hadoop-env.sh的环境变量,在末尾添加:

export JAVA_HOME=/usr/java/jdk

export HADOOP_HEAPSIZE=256

export HADOOP_PID_DIR=/home/$USER/pids


修改hadoop目录下conf/core-site.xml的配配置在<configuration>标签中添加如下内容:

<property>

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

<value>hdfs://master:9000</value>

</property>

<property>

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

<value>/home/${user.name}/tmp</value>

</property>


修改hadoop目录下conf/hdfs-site.xml的配置文件,在<configuration>标签中添加如下内容:
<property>

<name>dfs.replication</name>

<value>1</value>

</property>

<property>

<name>dfs.name.dir</name>

<value>/home/${user.name}/dfs_name</value>

</property>

<property>

<name>dfs.data.dir</name>

<value>/home/${user.name}/dfs_data</value>

</property>

修改hadoop目录下conf/mapred-site.xml的配置文件,在<configuration>标签中添加如下内容:

<property>

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

<value>master:9001</value>

</property>

<property>

<name>mapred/system.dir</name>

<value>/home/${user.name}/mapred/system</value>

</property>

<property>

<name>mapred.local.dir</name>

<value>/home/${user.name}/mapred/local</value>

</property>
注:属性名为mapred.job.tracker来配置job tracker交互端口,

配置辅助名称节点:修改hadoop目录conf/masters的配置文件,修改内容为:

master


配置子节点:修改hadoop目录conf/slaves文件,每行一个节点,伪分布式修改内容为:

master


8、执行

在使用一个分布式文件系统前需要对其进行格式

./bin/hadoop namenode -format


启动Hadoop守护进程

./bin/start-all.sh


Hadoop守护进程的日志写入到${HADOOP_LOG_DIR}目录(默认为logs下)。

浏览NameNode和JobTracker的网络借口,他们的地址默认为:

NameNode - http://localhost:50070/
JobTracker - http://localhost:50030/
注:笔者测试时需要关闭防火墙(service iptables stop)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: