序言:
安装环境:
Ubuntu8+jdk1.6.0_33+hadoop-1.0.3
实体机:
机器名 IP 作用
hadoop1 10.8.1.19 namenode、master、jobTracker
hadoop2 10.8.1.20 dataNode、slave、taskTracker
1.安装ubuntu
1.1 安装过程:
(1) 将光盘放入光驱
(2) 长按del键,进入语言选择页面
(3) 选中English,回车
(4) 选择Install Ubuntu Server,回车
(5) 选择English,回车
(6) 选择所在位置,选中Hong Kong,回车
(7) 配置键盘,选中No,回车
(8) 配置键盘,选中English(US),回车
(9) 配置键盘布局,选中English(US),回车
(10) 配置网络界面,选中eth0
(11) 如果出现Network autoconfiguration failed,continue需要手动配网络
(12) 选择configure network manually,回车
(13) 输入ip->continue; netmask(掩码)->continue; gateway(网关)->continue;name server address->continue;
(14) Hostname输入主机名后continue
(15) Domain name域名直接跳过,continue
(16) Full name for the new user输入用户名:后continue
(17) Username for your account:后continue
(18) Choose apassword for the new user输入登陆密码后,continue
(19) Re-enter password to verify重复输入密码后,continue
(20) Encrypt your home directory?是否加密home目录选No
(21) Partitioning method选择默认的分区方法,回车
(22) Select disk to partition选择默认的磁盘,回车
(23) Remove existing logical volume data是否删除已经存在的分区数据,选yes,回车
(24) Write the changes to disks and configure LVM?将配置写入选yes,回车
(25) Amount of volume group to use for guided partitioning默认大小,continue
(26) Write the changes to disks?选yes将配置写入磁盘
(27) HTTP proxy information :代理信息默认空,continue
(28) How do you ant to manage upgrades on this system?选择No automatic updates不自动更新,回车
(29) Choose software to install,按esc
(30) Install the Grub boot loader to the master boot record?选yes
(31) Installation complete,取出光盘,continue重启
(32) 重启后输入用户名,密码登陆
2.安装apache
3.安装jdk:
两种方法如下:
3.1安装:
3.1.1 Sudo vi /etc/apt/sources.list
文件末尾追加deb http://us.archive.ubuntu.com/ubuntu/ hardy multiverse
更新apt源 sudo apt-get update
安装sun-java6-jdk: sudo apt-get install sun-java6-jdk
3.1.2 直接下载jdk安装,这里jdk-6u33-linux-i586.bin为例安装,安装目录为 /usr/lib/java
# Chmod a+x jdk-6u33-linux-i586.bin ←使之有执行权限
# ./jdk-6u33-linux-i586.bin ←选择yes直接安装完毕
3.2.配置环境变量
sudo vi /etc/environment
PATH="......:/usr/lib/java/jdk1.6.0_33/bin"
CLASSPATH=".:/usr/lib/java/jdk1.6.0_33/lib:/usr/lib/hazelcast-2.1.2/lib/hazelcast-2.1.2.j ar"
JAVA_HOME="/usr/lib/java/jdk1.6.0_33"
配置好后reboot简单的用echo $PATH测试下是否配置成功
3.3可以输入java -version 测试下jdk是否安装成功
4.安装hdoop
4.1下载hadoop-1.0.3.tar.gz
解压:tar -zxvf hadoop-1.0.3.tar.gz
4.2 配置hadoop(nameNode和dataNode配置必需一样)
Hadoop的配置文件都在hadoop-1.0.3/conf下
4.2.1在conf/hadoop-env.sh中配置java环境(namenode与datanode的配置相同)
$sudo -i ←切换为root用户
#vi hadoop-env.sh
修改为:export JAVA_HOME=/usr/lib/java/jdk1.6.0_33
4.2.2 配置conf/core-site.xml,conf/hdfs-site.xml以及conf/mapred-site.xml(datanode配 置相同)
Core-site.xml:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://10.8.1.19:9000</value>
</property>
</configuration>
Hdfs-site.xml:
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/usr/lib/hadoop-1.0.3/hdfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/usr/lib/hadoop-1.0.3/hdfs/data</value>
</property>
<property>
<name>dfs.append.support</name>
<value>true</value>
</property>
Mapred-site.xml
<property>
<name>mapred.job.tracker</name>
<value>10.8.1.19:9001</value>
</property>
4.2.3 配置masters slaves(ip或机器名一行一个),nameNode,DataNode配置相同
Masters配置:
hadoop1
Slavers配置:
hadoop1
hadoop2
4.3修改机器名
在/etc/hosts中添加机器名和相应的ip
127.0.0.1 localhost
10.8.1.19 hadoop1
10.8.1.20 hadoop2
4.4 开启ssh服务
4.4.1 安装ssh(如没有安装ssh服务)
$sudo apt-get install ssh
$sudo spt-get install rsync
4.4.2 免密码ssh设置
现在确认能否不输入口令就能用ssh登陆localhost:
$ssh localhost
如果不输入口令就无法用ssh登陆localhost,执行下面的命令:
$ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
4.4.3 实现nameNode无密码登陆其他DataNode(hadoop2)
登陆hadoop2
xyx@hadoop2:~$sudo mkdir .ssh
拷贝hadoop1的authorized_keys到hadoop2上
xyx@hadoop1:~/.ssh$scp authorized_keys hadoop2:/home/xyx/.ssh
修改hadoop2上authorized_keys权限
xyx@hadoop2:~/.ssh# chmod 640 authorized_keys
关闭防火墙
$sudo ufw disable
至此,namenode可以无需密码验证登陆datanode了
ssh hadoop2
4.5 运行hdoop
进入hadoop-1.0.3目录
格式或一个新的分布式文件系统:$bin/hadoop namenode -format
启动hadoop守护进程:$bin/start-all.sh
关闭hadoop:bin/stop-all.sh
4.6浏览NameNode和DataNode:
Web查看方式为:
命令方式:jps
查看集群状态:$hadoop dfsadmin -report
5.安装hazelcast
5.1下载hazelcast
从www.hazelcast.com,这里以hazelcast-2.1.2.zip为例
解压:unzip hazelcast-2.1.2.zip
5.2 配置环境变量CLASSPATH
在/etc/envirment里修改CLASSPATH变量,设置如下
CLASSPATH="....:/usr/lib/hazelcast-2.1.2/lib/hazelcast-2.1.2.jar"
5.3 配置hazelcast
配置文件在hazelcast-2.1.2/bin/hazelcast.xml
<multicast enabled="false"> ---关闭广播方式
<tcp-ip enabled="true"> ----列出所有集群ip
<interface>10.8.1.19</interface>
<interface>10.8.1.20</interface>
</tcp-ip>
5.4 测试
5.4.1 运行hazelcast(所有集群机器运行hazelcast)
进入hazelcast-2.1.2/bin
Chmod 777 run.sh
$./run.sh
会看到如下信息:
Members [2] {
Member [10.8.1.19]:5701 this
Member [10.8.1.20]:5701
}
也可以通过输入who命令查看