Ubuntu 14.04 编译安装 husky

时间:2022-12-06 12:34:41

简介

Husky是一个大数据分布式开发框架,用C++开发,因为粗粒度(coarse-grained)平台(如Spark,Hadoop,Flink)MR耗时太大,然后细粒度(fine-grained)平台(GraphX等)编程难度较大,同时细粒度在数据平台之间转移会很耗时。Husky就是在粗粒度和细粒度之间做一个权衡,在PageRank上,他的性能是Spark的30+倍。

Husky主页:http://www.husky-project.com/

升级gcc到5.3

参见博客 http://www.cnblogs.com/loadofleaf/p/5667989.html

安装必要的基础库

 apt-get update -y
apt-get install software-properties-common -y
apt-get install build-essential libgoogle-perftools-dev libboost-dev git -y

编译安装cmake 3.x

 wget https://cmake.org/files/v3.6/cmake-3.6.0.tar.gz
tar xf cmake-3.6..tar.gz
cd cmake-3.6./
./bootstrap
make -j4
sudo make install

cmake 版本查看

Ubuntu 14.04 编译安装 husky

编译安装boost1.58

查看博客 http://www.cnblogs.com/loadofleaf/p/5668109.html

编译安装zeromq4.1.5(Husky一定要zeromq4以上,3版本无法运行)

 sh autogen.sh
./configure
#cp /usr/bin/libtool .
make
sudo make install
6 sudo ldconfig

git cppzmp(Husky底层通信机制是采用zeromq的)

 mkdir tmp
cd tmp
git clone https://github.com/zeromq/cppzmq
cd cppzmq
sudo cp zmq.hpp /usr/local/include
cd ../..

安装pssh(运行husky命令所需)

 wget http://parallel-ssh.googlecode.com/files/pssh-2.3.1.tar.gz
tar zxvf pssh-2.3..tar.gz
cd pssh-2.3./
sudo python setup.py install

编译安装husky

 unzip husky-0.2.zip
cd husky/
mkdir release
cd release
cmake ..
make -j4 Master
make -j4 PageRank
make -j4 SVM-DC
make -j4 Daemon

编译安装libhdfs

 echo "deb https://dl.bintray.com/wangzw/deb trusty contrib" | sudo tee /etc/apt/sources.list.d/bintray-wangzw-deb.list
sudo apt-get install -y apt-transport-https
sudo apt-get update
sudo apt-get install libhdfs3 libhdfs3-dev

参考:https://github.com/Pivotal-Data-Attic/pivotalrd-libhdfs3/releases

运行

单机版:

./Master path/to/your/conf

./PageRank path/to/your/conf

多机版

./Master path/to/your/conf

./exe.sh  pageRank path/to/your/conf

conf文件自动生成:(事先建好conf文件夹)

python scripts/gen_config.py

参数配置(在conf文件中)如(两台机器,最后两行为参数输入)

hadoop@master:~/share_directory/husky/husky$ cat conf/two-node.conf
master_host:master
master_port:
comm_port:
hdfs_namenode:master
hdfs_namenode_port:
socket_file:two-node-socket.txt
# list your own parameters here:
input:/husky/1000_data/husky_relationship.adj
num_iters:

如果是要读取hdfs文件,要配置libhdfs,参见 http://www.cnblogs.com/loadofleaf/p/5694717.html(如果没有配置hdfs,默认读本地文件)

测试:

debug模式:

mkdir debug && cd debug && cmake .. -DCMAKE_BUILD_TYPE=Debug

数据文件(每一行为节点,该节点的邻居节点数,邻居点编号(多个))

Ubuntu 14.04 编译安装 husky

conf文件

Ubuntu 14.04 编译安装 husky

conf文件对应的socket文件(自动生成conf脚本里,会自动生成有conf文件和socket文件)

Ubuntu 14.04 编译安装 husky

启动Master(每次启动应用,都要先启动Master)

Ubuntu 14.04 编译安装 husky

exec.sh文件

Ubuntu 14.04 编译安装 husky

节点列表(exec.sh文件里的变量)

Ubuntu 14.04 编译安装 husky

多机运行PageRankWorkflow(注:我的这个目录是NFS共享的,意思是每个slave也能直接用,相对路径也一样)

Ubuntu 14.04 编译安装 husky

Ubuntu 14.04 编译安装 husky

Ubuntu 14.04 编译安装 husky的更多相关文章

  1. ubuntu 14.04编译安装xen4.4总结

    1. 安装环境 操作系统:ubuntu14.04 xen版本:xen4.4 2. 依赖包的安装 在安装xen之前先进行依赖包的安装,在不停得尝试之后,总结出以下需要安装的依赖包. sudo apt-g ...

  2. Ubuntu 14.04 编译安装 boost 1.58

    简介 Boost is a set of libraries for the C++ programming language that provide support for tasks and s ...

  3. ubuntu 14.04 编译安装 nginx

    下载源码包 nginx 地址:http://nginx.org/en/download.html  下载nginx 1.4.7 编译前先安装两个包: 直接编译安装会碰到缺少pcre等问题,这时候只要到 ...

  4. 分布式进阶(二)Ubuntu 14.04下安装Dockr图文教程(一)

    当前,完全硬件虚拟化技术(KVM.Xen.Hyper-V 等)能在一个物理主机上很好地运行多个互相独立的操作系统,但这也带来一些问题:性能不佳,资源浪费,系统反应迟缓等.有时候对用户来说,完全的硬件虚 ...

  5. PHP7 学习笔记(一)Ubuntu 16.04 编译安装Nginx-1.10.3、 PHP7.0.9、Redis3.0 扩展、Phalcon3.1 扩展、Swoole1.9.8 扩展、ssh2扩展(全程编译安装)

    ==================== PHP 7.0 编译安装================== wget http://cn2.php.net/get/php-7.0.9.tar.bz2/fr ...

  6. Ubuntu 14.04 LTS 安装和配置Bochs

    Ubuntu 14.04 LTS 安装和配置Bochs       系统是:Ubuntu 14.04 LTS 64位 安装的是:bochs-2.6.8 Bochs 需要在 X11 环境下运行,因此你的 ...

  7. [Ubuntu] 14.04版本安装JDK8失败

    系统:Ubuntu 14.04 编译 Android 7.1 系统需要 JDK 8,但是安装时失败, $ -jdk Reading package lists... Done Building dep ...

  8. Ubuntu 14.04 中 安装elasticsearch2.*+logstash2.*+kibana

    在Ubuntu 14.04 上安装单机版ELK 2.*(脚本化) 1.判断是否为root权限 if [ "${UID}" -ne 0 ]; then echo "You ...

  9. Ubuntu 14.04中安装最新版Eclipse

    Ubuntu 14.04中安装最新版Eclipse 来源:Linux社区    作者:Linux 1.安装OpenJDK Java 7 如果你的系统中没有安装Java,我们需要按照如下步骤事先安装好 ...

随机推荐

  1. 查看struct或class的内存布局

    适用于VC编译器(Visual Studio) 附加选项: /d1 reportSingleClassLayout[foo] 例如CItem(注意后面没有空格) /d1 reportSingleCla ...

  2. windows服务器的DDOS防御,

    抵御 SYN 攻击 SYN 攻击利用了 TCP/IP 连接建立机制中的安全漏洞.要实施 SYN 洪水攻击,攻击者会使用程序发送大量 TCP SYN 请求来填满服务器上的挂起连接队列.这会禁止其他用户建 ...

  3. jQuery中的事件冒泡

    1.什么是冒泡 eg: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <he ...

  4. Chapter 5 Convert Image Set To LevelDB&sol;LMDB

    Caffe中convert_imageset projrct将图像数据转换成Caffe能读取的数据格式leveldb/lmdb 1.添加命令参数 在main函数中添加命令参数,内容和位置如下: #if ...

  5. Html5 js FileReader接口

    用来把文件读入内存,并且读取文件中的数据.FileReader接口提供了一个异步API,使用该API可以在浏览器主线程中异步访问文件系统,读取文件中的数据.到目前文职,只有FF3.6+和Chrome6 ...

  6. Spring中的接口BeanFactory和FactoryBean的学习

    BeanFactory: 相当于对象工厂,可以获取对象的实例以及相应的属性.BeanFactory定义了IOC容器的最基本形式,并提供了IOC容器应遵守的的最基本的接口,也就是Spring IOC所遵 ...

  7. Nginx详解六:Nginx基础篇之Nginx日志

    1.Nginx日志类型 error.log:记录Nginx处理http请求的错误的状态,以及Nginx服务本身服务运行的错误的状态 access_log:记录通过Nginx的http请求的访问状态,用 ...

  8. 利用ConcurrentHashMap来实现一个ConcurrentHashSet

    利用ConcurrentHashMap来实现一个ConcurrentHashSet package hashset; import java.io.Serializable; import java. ...

  9. Java面试基础知识&lpar;2&rpar;

    1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致.   2.说说& ...

  10. BZOJ2744&colon;&lbrack;HEOI2012&rsqb;朋友圈&lpar;最大团&comma;乱搞&rpar;

    Description 在很久很久以前,曾经有两个国家和睦相处,无忧无虑的生活着.一年一度的评比大会开始了,作为和平的两国,一个朋友圈数量最多的永远都是最值得他人的尊敬,所以现在就是需要你求朋友圈的最 ...