Hadoop集群搭建过程

集群所有机器新建统一用户组与用户名,JDK与Hadoop安装路径一致。
 

1.安装JAVA

检查系统版本lsb_release -a
查看32位还是64位 uname -a,包含x86_64为64位
新建/usr/java目录
切换到/usr/java目录
wget http://download.oracle.com/otn-pub/java/jdk/6u31-b04/jdk-6u31-linux-x64-rpm.bin
下载完
chmod a+x jdk-6u31-linux-x64-rpm.bin
./jdk-6u31-linux-x64-rpm.bin
 
设置环境变量
vi /etc/profile加到最后
export JAVA_HOME=/usr/java/jdk1.6.0_31/
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
source /etc/profile生效
 
2.配置SSH无密码登录(在master机器上)
集群搭建机器按三种情况划分为两种角色
主从关系:一台机器作为masters,余下机器为slaves
hdfs分布式文件系统:一台机器作为namenode,余下机器作为datanode
mapreduce框架:一台机器作为jobtracker,余下机器作为tasktracker
本次测试搭建使用两台机器
192.168.1.175同时作为master,namenode,jobtracker
192.168.1.147同时作为slave,datanode,tasktracker
 
在192.168.1.175执行
 
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa(生成公钥和私钥)
 
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys(本机无密码登录)
 
chmod 600 authorized_keys
 
把当前生成的公钥拷贝到192.168.1.147的.ssh目录下
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
 
chmod 600 authorized_keys
 
由于现有机器端口不是默认22,所以需要配置hadoop(以下再作说明)
 
 
 
 
3.配置 hadoop
 
进入hadoop目录
 
修改conf/masters
 
192.168.1.175
 
修改conf/slaves
192.168.1.147
 
 
修改conf/hadoop-env.sh
 
设置JAVA路径
 
export JAVA_HOME=/usr/java/jdk1.6.0_31
 
设置SSH连接参数(由于机器上SSH不是使用默认端口,所以这里要改)
 
export HADOOP_SSH_OPTS="-p 12345"
 
 
 
修改conf/core-site.xml
 
 
<configuration>
        <property>  
          <name>hadoop.tmp.dir</name>  
          <value>/home/hadoop/hadoop/tmp</value>
          <description>A base for other temporary directories.</description>
        </property>
 
        <property>  
          <name>fs.default.name</name>  
          <value>hdfs://61.146.192.175:9000</value>
          <description>The name of the default file system.</description>
        </property>
</configuration>
 
修改conf/hdfs-site.xml
 
<configuration>
<property>
  <name>dfs.replication</name>
  <value>2</value>
  <description>Default block replication.</description>
</property>
 
<property>
  <name>dfs.data.dir</name>
  <value>/home/hadoop/hadoop/data</value>
  <description>Determines where on the local filesystem an DFS data node should store its blocks. </description>
</property>
 
<property>
  <name>dfs.name.dir</name>
  <value>/home/hadoop/hadoop/name</value>
  <description>Determines where on the local filesystem the DFS name node should store the name table(fsimage).</description>
</property>
</configuration>
 
修改conf/mapred-site.xml
 
 
<configuration>
<property>
  <name>mapred.job.tracker</name>
  <value>61.146.192.175:9001</value>
  <description>The host and port that the MapReduce job tracker runs at.</description>
</property>
</configuration>
 
 
 
4.在各机器上面设置HADOOP_HOME环境变量
 
vi /etc/profile
 
添加以下到文件最后
 
export HADOOP_HOME=/home/hadoop/hadoop/
export PATH=$HADOOP_HOME/bin:$PATH
 
source /etc/profile
 
 
 
5.在master机上打包当前hadoop目录,然后分发到slave机上
 
tar -cvf hadoop.tar hadoop
 
scp -P 12345 -C hadoop@***.***.***.***:/home/hadoop
 
 
6.启动hadoop
 
在master机上切换至hadoop_home目录下进行以下操作
 
./bin/hadoop namenode -format(格式化HDFS命名空间)
 
 
查看HDFS命名空间
 
./bin/hadoop fs -ls /
 
启动hadoop
 
./bin/start-all.sh
 
停止hadoop
 
./bin/stop-all.sh
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
posted @ 2012-07-25 11:25  deaconx  阅读(117)  评论(0编辑  收藏  举报