Ubuntu 下 Hadoop 1.0.3的分布式安装

1.说明:Master机的ip地址定为192.168.1.216.
        slaves1机的ip地址定为192.168.1.217
        slaves2机的ip地址定为192.168.1.218
1) 192.168.1.1 namenode作为 Namenode, JobTracker,SecondaryNameNode
2) 192.168.1.2 datenode1 作为 Datanode1, TaskTracker
3) 192.168.1.3 datanode2 作为 Datanode2, TaskTracker

前提JDK已经安装
首先,需要配置各个机器间的相互访问:
1、按照上面的设置修改各台机器的host文件和hostname文件,保证机器可正常通信。为:
1)修改三台机器的 /etc/hostname 分别为namenode datanode1 datanode2
2) 修改三台机器的/etc/hosts 为(三台机器写成一样的,确保可以互相用机器名访问)
192.168.1.216 namenode
192.168.1.217 datanode1
192.168.1.218 datanode2

2、 配置ssh的自动登陆(在master机上):
$ 在root目录下建立 .ssh文件夹
$ ssh-keygen -t rsa
完成后会在~/.ssh/生成两个文件:id_rsa 和id_rsa.pub。
再把id_rsa.pub 追加到授权key 里面(当前并没有authorized_keys文件,允许哪台机器ssh访问,就把公钥放到这个文件里):
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

3、把master上的authorized_keys拷贝到各个slave的.ssh目录并且授权
对该文件执行权限chmod 600 (如果不行就644)
注:(只需在主节点上运行ssh-kegen程序。其他节点的目录结构创建后,将刚才在主节点创建的keys拷贝到从节点的同样的目录上。)
之后可以在master上不输入密码直接SSH访问slaves1

4、 配置集群配置文件
在master机器(namenode, 192.168.1.216.)上完成

5、修改conf/目录下的master文件,内容如下:
namenode

6、修改conf/目录下的slaves文件,内容如下:
    datenode1
    datanode2

7、修改conf/hadoop-env.sh文件的环境变量:
     # The java implementation to use. Required.
     export JAVA_HOME=/usr/java/jdk1.7.0

8、修改conf/core-site.xml配置文件,内容如下:
   <?xml version=”1.0″?>
   <?xml-stylesheet type=”text/xsl” href=”configuration.xsl”?>
   <!– Put site-specific property overrides in this file. –>
   <configuration>
   <property>
   <name>hadoop.tmp.dir</name>
   <value>/home/gjx/hadoop1.0.3/tmp</value>
   <description>A base for other temporary directories.</description>
   </property>
   <property>
   <name>fs.default.name</name>
   <value>hdfs://namenode:9000</value>
   <property>
   </configuration>

9、修改conf/hdfs-site.xml配置文件,内容如下:
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>

<property>
<name>dfs.name.dir</name>
<value>/home/gjx/hadoop-1.0.3/nameNodeData</value>
</property>

<property>
<name>dfs.data.dir</name>
<value>/home/gjx/hadoop-1.0.3/hdfs/data</value>
</property>

<property>
<name>dfs.permissions</name>
<value>false</value>
</property>

<property>
<name>dfs.support.append</name>
<value>true</value>
<description>
    允许文件进行append操作
   </description>

</property>

<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
<description>
   允许文件以rest形式被访问
    </description>
</property>
10、修改conf/mapred-site.xml配置文件,内容如下:(注意: 这里没有配置这 个文件,如果用到MapReduce可能需要配置)
<?xml version=”1.0″?>
<?xml-stylesheet type=”text/xsl” href=”configuration.xsl”?>
<!– Put site-specific property overrides in this file. –>
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>namenode:9001</value>
</property>
</configuration>
11. 将hadoop打成tar包依次拷贝到各个slave相同目录,解压。然后在master bin目录执行命令 sh start-all.sh
12. 在浏览器 输入:http:192.168.1.216:50070 可以查看hdfs状态 

猜你喜欢

转载自benben1986-2006.iteye.com/blog/1617431