一、Hadoop 2.7分布式集群环境搭建
见博客:Hadoop 2.7分布式集群环境搭建
二、G++安装
Ubuntu:
sudo apt-get install g++
Centos:
yum install gcc-c++
三、MPI安装
tar xzf mpich-3.1.tar.gz
cd mpich-3.1
./configure --prefix=/usr/local/mpich --disable-fortran
make
make install
- 配置环境变量
export MPICH_HOME=/usr/local/mpich
export PATH=$PATH:$MPICH_HOME/bin
四、运行pregel+程序
- 下载system.zip,解压至文件夹如/usr/local/graphd
- 下载SSSP.cpp,将文件名修改为run.cpp,新建/usr/local/graphdsssp,并复制至该文件夹下
- 创建toy.txt,并上传至hdfs
1 0
2 2 3 4
3 2 2 4
4 4 2 3 5 6
5 2 4 6
6 2 4 5
7 3 8 9 10
8 3 7 9 10
9 3 7 8 10
10 3 7 8 9
hadoop fs -mkdir /toyFolder
hadoop fs -put toy.txt /toyFolder
- 进入sssp解压文件夹/usr/local/sssp,创建Makefile
CCOMPILE=mpic++
PLATFORM=Linux-amd64-64
CPPFLAGS= -I$(HADOOP_HOME)/include -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux -I/usr/local/graphd
LIB = -L$(JAVA_HOME)/lib -L$(HADOOP_HOME)/lib/native
LDFLAGS =-lhdfs -Wno-deprecated -O2
all: run
run: run.cpp
$(CCOMPILE) -std=c++11 run.cpp $(CPPFLAGS) $(LIB) $(LDFLAGS) -o run
clean:
-rm run
- 编译之后得到run文件
make
- 创建文件conf
master:1
slave1:4
slave2:4
......
slaveN:4
- 在各个节点分别创建/usr/local/graphdsssp,然后将run拷贝到各个节点
scp run slave1:/usr/local/graphdsssp
scp run slave2:/usr/local/graphdsssp
......
- 运行程序
mpiexec -n 31 -f ./conf ./run /toyFolder /toyOutput 2
五、错误日志
- error while loading shared libraries: libhdfs.so.0.0.0:cannot open shared object file: No such file or directory
解决方法:在/etc/ld.so.conf中加入一行
/usr/local/hadoop-2.7.6/lib/native/
保存退出后,执行ldconfig -v使其生效
- 出现xmanager弹窗
解决方法:删除ssh配置失败的节点 - hdfsBuilderConnect(forceNewInstance=0, nn=hadoop-master, port=9000, kerbTicketCachePath=(NULL), userName=(NULL)) error:
java.lang.IllegalArgumentException: java.net.UnknownHostException: hadoop-master
解决方法:修改graphd中的ydhdfs2.h中第25行为
hdfsBuilderSetNameNode(bld, "master");
,重新编译
本文详细介绍了Hadoop2.7分布式集群的搭建步骤,包括G++和MPI的安装配置,以及如何运行pregel+程序。通过具体实例展示了在Ubuntu和Centos系统上操作的方法,涉及环境变量配置、Makefile编写、错误日志排查等关键环节。
3480

被折叠的 条评论
为什么被折叠?



