Ubuntu 14.04 编译安装 husky
简介
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 版本查看

编译安装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
数据文件(每一行为节点,该节点的邻居节点数,邻居点编号(多个))

conf文件

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

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

exec.sh文件

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

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


Ubuntu 14.04 编译安装 husky的更多相关文章
- ubuntu 14.04编译安装xen4.4总结
1. 安装环境 操作系统:ubuntu14.04 xen版本:xen4.4 2. 依赖包的安装 在安装xen之前先进行依赖包的安装,在不停得尝试之后,总结出以下需要安装的依赖包. sudo apt-g ...
- Ubuntu 14.04 编译安装 boost 1.58
简介 Boost is a set of libraries for the C++ programming language that provide support for tasks and s ...
- ubuntu 14.04 编译安装 nginx
下载源码包 nginx 地址:http://nginx.org/en/download.html 下载nginx 1.4.7 编译前先安装两个包: 直接编译安装会碰到缺少pcre等问题,这时候只要到 ...
- 分布式进阶(二)Ubuntu 14.04下安装Dockr图文教程(一)
当前,完全硬件虚拟化技术(KVM.Xen.Hyper-V 等)能在一个物理主机上很好地运行多个互相独立的操作系统,但这也带来一些问题:性能不佳,资源浪费,系统反应迟缓等.有时候对用户来说,完全的硬件虚 ...
- 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 ...
- Ubuntu 14.04 LTS 安装和配置Bochs
Ubuntu 14.04 LTS 安装和配置Bochs 系统是:Ubuntu 14.04 LTS 64位 安装的是:bochs-2.6.8 Bochs 需要在 X11 环境下运行,因此你的 ...
- [Ubuntu] 14.04版本安装JDK8失败
系统:Ubuntu 14.04 编译 Android 7.1 系统需要 JDK 8,但是安装时失败, $ -jdk Reading package lists... Done Building dep ...
- Ubuntu 14.04 中 安装elasticsearch2.*+logstash2.*+kibana
在Ubuntu 14.04 上安装单机版ELK 2.*(脚本化) 1.判断是否为root权限 if [ "${UID}" -ne 0 ]; then echo "You ...
- Ubuntu 14.04中安装最新版Eclipse
Ubuntu 14.04中安装最新版Eclipse 来源:Linux社区 作者:Linux 1.安装OpenJDK Java 7 如果你的系统中没有安装Java,我们需要按照如下步骤事先安装好 ...
随机推荐
- iOS文件类型判断
最近在做的东西有下载zip,只是服务器发送过来的是二进制,需要根据二进制来判断是什么类型的文件,从而进行保存操作.起初很不理解,到后来发现可以通过二进制的前2位的ascii码来进行判断.如下: // ...
- [LeetCode] Reverse Linked List
Reverse a singly linked list. 这题因为palindrome linked list 的时候需要就顺便做了一下.利用三个指针:prev, now, next 相互倒腾就行. ...
- iOS APP提交上架最新流程(转)
时隔1年又让我鼓捣iOS,刚接手就是上架,经验值为0的我,虽然内心是拒绝的,但还是要接受这项任务滴!也就是在被拒后重新审核,再改在提交...这样 反复的过程中也对上架流程熟悉了好多,写篇帖子送给同为菜 ...
- 三言两语之js面向对象初探1
http://www.cnblogs.com/54td/p/5580994.htm 先是有了这个比较简短但是内容比较丰盈的上篇,现在时间比较充沛,所以详细写来.搞前端的同学经常被其他程序员bs, ...
- Linux学习笔记(2)-开机
今天开始学习Linux系统. 打开虚拟机,输入密码后,令人激动的画面就蹦出来了-- Ubuntu的主要基调是橙色,给人一种蠢萌蠢萌的感觉,和Windows不同,它只在左边有一条任务栏,上面有些东西,搜 ...
- WebForm增删改查
最基本的,拼接字符串在Literal里面显示表,IsPostBack,增删改查基本,?传值 Request接收 LinQ to SQL类 在Default主页里面拖入Literal控件再加入一个按钮, ...
- Spring+SpringMvc+Mybatis整合注意事项
1.web.xml代码如下 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi ...
- wampserver的安装以及使用
一.点击wampserver.exe默认安装 二.安装成功之后测试 (1)测试基本配置 浏览器地址栏输入http://localhost/index.php ...
- DB2数据库参数建议(Linux)
内核参数配置: kernel.shmall=<物理内存的90%,以页为单位> kernel.shmax=<实际的物理内存> kernel.shmmni= kernel.msgm ...
- Java_动态重新加载Class机制
Java动态重新加载Class 项目中使用到了动态重新加载Class的机制,作用是让一些代码上线之前可以在线上环境测试一下,当然,这是非常不好的测试机制,我刚来的时候也为这种机制感到惊讶—怎么可以在线 ...