前期准备工作:
1.改动Linux主机名:/etc/hostname
ubuntu系统:vi /etc/hostname
将ubuntu默认的主机名ubuntu改为suh01
2.改动IP:/etc/network/interfaces
改动配置文件/etc/network/interfaces
vi /etc/network/interfaces
#将原来的内容凝视掉:
#auto lo
#iface lo inet loopback
#然后加入下面内容:
auto eth0 #设置自己主动启动eth0接口
iface eth0 inet static #配置静态IP
address 192.168.1.101 #IP地址
netmask 255.255.255.0 #子网掩码
gateway 192.168.1.1 #默认网关
3.改动主机名和IP的映射关系:/etc/hosts
vi /etc/hosts
#127.0.0.1 localhost
192.168.1.201 suh01
192.168.1.202 suh02
192.168.1.203 suh03
4.查看防火墙状态、关闭防火墙:ufw status 、ufw disable
5.安装JDK,配置环境变量等。
5.1上传:使用ftp工具上传jdk安装文件
#创建文件夹,将安装文件上传至此文件夹下
mkdir /usr/java
5.2解压jdk
tar -zxvf jdk-7u76-linux-x64.tar.gz
5.3将java加入到环境变量中
vi /etc/profile
#在文件最后加入
export JAVA_HOME=/usr/java/jdk1.7.0_76
export PATH=$PATH:$JAVA_HOME/bin
#刷新配置
source /etc/profile
6.ssh免登陆:
6.1在suh01上运行:
ssh-keygen -t rsa (直接回车)
运行完这个命令后。会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
6.2然后将公钥复制到要免登陆的机器上
ssh-copy-id suh01 (最好也给自己设置免登陆)
ssh-copy-id suh02
ssh-copy-id suh03
集群规划:
主机名 IP 安装的软件 执行的进程
suh01 192.168.1.201 jdk、hadoop NameNode、JobTracker、SecondaryNameNode
suh02 192.168.1.202 jdk、hadoop DataNode、TaskTracker
suh03 192.168.1.203 jdk、hadoop DataNode、TaskTracker
IP与主机名映射关系
-----------------------
192.168.1.201 suh01
192.168.1.202 suh02
192.168.1.203 suh03
-----------------------
安装步骤:
1.安装配置hadoop集群(总共改动了六个配置文件:hadoo-env.sh、core-site.xml、hdfs-site.xml、slaves、yarn-site.xml、mapred-site.xml )
1.1上传并解压hadoop安装包解压
tar -zxvf hadoop-1.2.1.tar.gz
1.2配置相关文件(hadoop1.2.1全部的配置文件都在hadoop1.2.1/conf文件夹下)
cd /home/suh/hadoop-1.2.1/conf
1.2.1改动hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_76
1.2.2改动core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://suh01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/suh/hadoop-1.2.1/tmp</value>
</property>
</configuration>
1.2.3改动hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
1.2.4 改动mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>suh01:9001</value>
</property>
</configuration>
1.2.5改动masters 文件,加入例如以下内容:
suh01
1.2.6改动slaves 文件,加入例如以下内容:
suh02
suh03
1.3将配置好的hadoop复制到其它节点(为了拷贝更高速,建议把/home/hadoop-2.2.0/share 下的doc文件夹删掉:rm -rf doc)
scp -r /home/suh/hadoop-1.2.1/ suh@suh02:/home/suh/
scp -r /home/suh/hadoop-1.2.1/ suh@suh03:/home/suh/
======開始启动集群=======
2.1格式化HDFS
在hdfs的NameNode机器(suh01)上运行命令:
./bin/hadoop namenode -format
2.2启动HDFS(在suh01上运行,这里最好先配置好免登录,不然会提示输入password。免登陆配置在下文有配置步骤)
./bin/start-all.sh
运行成功后进行相关检验:
(1)、suh01上多了NameNode、JobTracker、SecondaryNameNode进程。
(2)、接着分别进入到suh02、suh03机器,执行jps命令查看,发现它也启动好了DataNode、TaskTracker进程。
======hadoop集群启动成功后。进行測试======
3.1到此,hadoop1.2.1配置完成,能够进行浏览器訪问:
http://192.168.1.201:50070
3.2执行wordcount測试
hdfs上创建文件夹:
./bin/hadoop fs -mkdir /in
从linux上传測试数据文件到hdfs上:
./bin/hadoop fs -put /home/suh/test1 /in
运行測试样例:
./bin/hadoop jar hadoop-examples-1.2.1.jar wordcount /in/ /out