Hadoop1.2.1稳定版安装__全分布式模式__Hadoop1.0入门学习一

来源:互联网 发布:windows 性能监视器 编辑:程序博客网 时间:2024/04/29 08:57

1:机器准备(可以是虚拟机)

     

准备三台linux机器10.33.250.185和10.33.250.186以及10.33.250.187。

操作系统:Redhat Linux6。

10.33.250.185作为namenode(master)机器,10.33.250.186和10.33.250.187作为datanode(slave)机器。首先个两台服务器定义别名:hadoop185、hadooop186、hadoop187。

定义别名规则:hadoop+IP地址的最后一个区间的数字

1:分别到各机器上使用命令hostname hadoop185、hostname186、hadoop187

2:分别到各机器上修改/etc/sysconfig/network

HOSTNAME=hadoop185

HOSTNAME=hadoop186

HOSTNAME=hadoop187

3:修改/etc/hosts文件

10.33.250.185 hadoop185
10.33.250.186 hadoop186

10.33.250.187 hadoop187


2:SSH设置

 

hadoop需要namenode到datanode的无密码SSH,所以需要设置namenode到其他datanode的无密码公钥认证方式的SSH。

用root用户登陆namenode节点hadoop185,键入ssh-keygen -t rsa后,之后一直回车即可。此时已在root/.ssh/目录下建了两个文件id_rsa和id_rsa.pub。

首先在每个服务器的root 目录下创建.ssh文件加,然后将id_rsa.pub的内容复制到每个机器(包括本机)的/root/.ssh/authorized_keys文件中,使用如下命令。

cp /root/.ssh/id_rsa.pub   /root/.ssh/authorized_keys 复制到本机

scp /root/.ssh/authorized_keys hadoop186:/root/.ssh 复制到186的机器

scp /root/.ssh/authorized_keys hadoop187:/root/.ssh 复制到187的机器

最后测试ssh hadoop186如果不需要输入密码就说明已经配置成功。


3:安装JDK

  3.1 卸载LINUX自带的JDK

    

1:输入rpm –qa|grep gcj查看已安装的jdk

2:输入yum –y remove libgcj-4.1.2-48.el5即可删除。

  3.2 安装新的JDK

  

1:下载JDK的rpm包jdk-6u6-linux-i586-rpm.bin

2:授权chmod 755./jdk-6u6-linux-i586-rpm.bin

3: 直接键入命令./jdk-6u6-linux-i586-rpm.bin安装软件会将JDK自动安装到/usr/java/jdk1.6.0_25目录下。


  3.3 设置环境变量

  

修改/etc/profile文件

export JAVA_HOME=/usr/java/jdk1.6.0_25
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin




4:新建目录并安装hadoop

  

4.1 新建目录并解压安装包

    

1:在/home目录新建目录/home/hadoop/HadoopInstall/,目录下存放hadoop的安装包,用命令tar zxvf  hadoop-1.2.1.tar.gz解压缩。考虑到今后升级以及其他操作的方便性,建议建一个名称为hadoop的链接,指向 hadoop-1.2.1目录。ln -s hadoop-1.2.1  hadoop

2:配置环境变量

    在/etc/profile文件中加入

export HADOOP_HOME=/home/hadoop/HadoopInstall/hadoop

export PATH=$PATH:$HADOOP_HOME/bin



4.2 配置文件修改

  

1:core-site.xml

<property>

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

   <value>hdfs://hadoop185:9000</value>

   <description>The name and URI of thedefault FS.</description>

 </property>

2:hadoop-env.sh

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

3:hdfs-site.xml

 <property>

   <name>dfs.replication</name>

   <value>3</value>

   <description>Default blockreplication</description>

 </property>

 

<property>

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

  <value>/home/hadoop/HadoopInstall/namenode/</value>

 </property>

 

<property>

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

  <value>/home/hadoop/HadoopInstall/datanode/</value>

 </property>

 

4:mapred-site.xml

<property>

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

   <value>hadoop185:9001</value>

   <description>Map Reducejobtracker</description>

 </property>

 5:masters

  设置namenode节点:

hadoop185

 6:slaves

  设置datanode节点

  hadoop185

  hadoop186

  hadoop187


4.3 部署datanode节点

  

将namenode上安装配置完成的hadoop文件拷贝到所有datanode

scp -r/home/hadoop/HadoopInstall hadoop186:/home/hadoop/

scp -r/home/hadoop/HadoopInstall hadoop187:/home/hadoop/ 



4.3 启动hadoop

 

格式化namenode
$HADOOP_HOME/bin/hadoop namenode -format
在$HADOOP_HOME/bin/下面有很多启动脚本,可以根据自己的需要来启动:
* start-all.sh 启动所有的Hadoop守护。包括namenode,datanode, jobtracker, tasktrack
* stop-all.sh 停止所有的Hadoop。
* start-mapred.sh 启动Map/Reduce守护。包括Jobtracker和Tasktrack。
* stop-mapred.sh 停止Map/Reduce守护
* start-dfs.sh 启动Hadoop DFS守护.Namenode和Datanode
* stop-dfs.sh 停止DFS守护

在这里,简单启动所有守护
bin/start-all.sh
同样,如果要停止hadoop,则
bin/stop-all.sh


通过查看http://hadoop185:500070可以查看hdfs的界面

通过查看http://hadoop185:50030可以查看mapreduce的作业界面。


 



0 0