环境:Win7 + VM + Ubuntu
1、分别在3台虚拟Ubuntu机器上设置root用户密码,以后每次登录就用root
sudo -s 进入root权限模式
vim /etc/lightdm/lightdm.conf
[SeatDefaults]
user-session=ubuntu
greeter-session=unity-greeter
greeter-show-manual-login=true
allow-guest=false
启动root账号
sudo passwd root
三台机器修改后,再次用root用户登录
2、配置/etc/hosts和/etc/hostname
其中一台hostname为SparkMaster,另外俩台分别为SparkWorker1,SparkWorker2
并同步3台机器的hosts
3、配置无密登录
参考http://blog.csdn.net/korder/article/details/39541625
4、安装java环境
这个...就不废话了
5、去官网下载hadoop-2.6.0.tar.gz并安装
把下载下来的hadoop放在/usr/local/hadoop目录并解压
tar -xzvf hadoop-2.6.0.tar.gz 解压到当前目录
6、修改系统配置文件
vim ~/.bashrc
添加
export JAVA_HOME=/usr/lib/java/jdk1.7.0_71
export HADOOP_HOME=/usr/local/hadoop/hadoop-2.6.0
export JRE_HOME=${JAVA_HOME}/jre
export CLASS_PATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:${HADOOP_HOME}/bin:$PATH
7、在hadoop目录创建相关文件夹
创建tmp和dfs文件夹
dfs文件夹下 创建 name和data文件夹
8、修改hadoop配置文件
cd /usr/local/hadoop/hadoop-2.6.0/etc
a)
hadoop-env.sh
JAVA_HOME=${JAVA_HOME}
--->
JAVA_HOME=/usr/lib/java/jdk1.7.0_71
b)
yarn-env.sh
export JAVA_HOME=/usr/lib/java/jdk1.7.0_71
c)
mapred-env.sh
export JAVA_HOME=/usr/lib/java/jdk1.7.0_71
d)
slaves
SparkWorker1
SparkWorker2
e)
core-site.xml
f)
hdfs-site.xml
g)
mapred-site.xml
mv mapred-site.xml.template mapred-site.xml
h)
yarn-site.xml
9、把修改的所有配置文件拷贝到SparkWorker1、SparkWorker2
scp -r /usr/local/hadoop root@SparkWorker1:/usr/local/hadoop
scp -r /usr/local/hadoop root@SparkWorker2:/usr/local/hadoop
scp ~/.bashrc roo@SparkWorker1:~/.bashrc
scp ~/.bashrc roo@SparkWorker2:~/.bashrc
10、启动并验证hadoop集群
a)
在SparkMaster机器上,格式化namenode
hadoop namenode -format
b) 进入sbin、启动hdfs
cd /usr/local/hadoop/hadoop-2.6.0/sbin
./start-dfs.sh
当jps发现SparkMastr有NameNode、SecondaryNameNode;
SparkWorker1、SparkWorker2分别都有DataNode;
说明启动成功了。
此时访问Web:
http://SparkMaster:50070可以查看HDFS集群状况
c) 启动yarn集群
cd /usr/local/hadoop/hadoop-2.6.0/sbin
./start-yarn.sh
当jps发现SparkMaster多出了ResourceManager;
SparkWorker1、SparkWorker2分别增加了NodeManager;
说明OK了。
此时访问Web:
http://SparkMaster:8088可以查看ResourceManager运行状态
http://SparkWorker1:8042查看SparkWorker1的NodeManager运行状态
http://SparkWorker2:8042查看SparkWorker2的NodeManager运行状态
d) 启动job history server
cd /usr/local/hadoop/hadoop-2.6.0/sbin
./mr-jobhistory-daemon.sh start historyserver
启动后可以通过
http://SparkMaster:19888在Web控制台查看job执行历史信息
结束history
./mr-jobhistory-daemon.sh stop historyserver
e) 验证hadoop集群
不多说了,自己在hdfs上准备好测试目录以及数据
运行hadoop自带的wordcount:
hadoop jar ../hadoop/mapreduce/share/hadoop-mapreduce-example-2.6.9.jar wordcount /data/wordcount /output/lwordcount
也可以通过Web页面观察一下运行状态