Flume是一个分布式、可靠、和高可用的海量日志聚合的系统,支持在系统中定制各类数据发送方,用于收集数据;
同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。
Flume是一个专门设计用来从大量的源,推送数据到Hadoop生态系统中各种各样存储系统中去的,例如HDFS和HBase。
Flume是一个分布式、可靠、和高可用的海量日志聚合的系统,支持在系统中定制各类数据发送方,用于收集数据;
同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。
Flume是一个专门设计用来从大量的源,推送数据到Hadoop生态系统中各种各样存储系统中去的,例如HDFS和HBase。
到elasticsearch网站下载最新版本的elasticsearch 6.2.1
1 | https://www.elastic.co/downloads/elasticsearch |
其他版本
1 | https://www.elastic.co/cn/downloads/past-releases/elasticsearch-6-4-2 |
嫌弃官方下载速度慢的可以去华为的镜像站去
1 | https://mirrors.huaweicloud.com/elasticsearch/6.4.2/ |
中文文档请参考
1 | https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html |
英文文档及其Java API使用方法请参考,官方文档比任何博客都可信
1 | https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/index.html |
Python API使用方法
1 | http://elasticsearch-py.readthedocs.io/en/master/ |
下载tar包,然后解压到/usr/local目录下,修改一下用户和组之后可以使用非root用户启动,启动命令
1 | ./bin/elasticsearch |
如果需要让外网访问Elasticsearch的9200端口的话,需要将es的host绑定到外网
修改 /configs/elasticsearch.yml文件,添加如下
1 | network.host: 0.0.0.0 |
然后重启,如果遇到下面问题的话
1 | [2018-01-28T23:51:35,204][INFO ][o.e.b.BootstrapChecks ] [qR5cyzh] bound or publishing to a non-loopback address, enforcing bootstrap checks |
解决方法
第一个ERROR,
在文件中添加 sudo vim /etc/security/limits.conf,然后重新登录
1 | * soft nofile 65536 |
如果你是用supervisor启动es的话,需要修改文件 vim /etc/supervisor/supervisord.conf,然后重启supervisor
1 | [supervisord] |
学习的资料是官网的Programming Guide
1 | https://spark.apache.org/docs/latest/graphx-programming-guide.html |
首先自己造了一份简单的社交关系的图
第一份是人物数据,id和姓名,person.txt
1 | 1 孙俪 |
使用gephi对图数据进行可视化操作,下面网址是gephi的说明文档
1 | https://seinecle.github.io/gephi-tutorials/generated-pdf/semantic-web-importer-en.pdf |
使用的gephi版本号:0.9.1
系统:Ubuntu 16.04
内存:8G
1.下载mysql的repo源
1 | wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm |
2.安装mysql-community-release-el7-5.noarch.rpm包
1 | sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm |
安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。
3.安装mysql
1 | sudo yum install mysql-server |
根据提示安装就可以了,不过安装完成后没有密码,需要重置密码
4.重置mysql密码
1 | mysql -u root |
登录时有可能报这样的错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:
1 | sudo chown -R root:root /var/lib/mysql |
重启mysql服务
1 | service mysqld restart |
接下来登录重置密码:
1 | $ mysql -u root //直接回车进入mysql控制台 |
如果mysql -u root遇到/var/lib/mysql/mysql.sock错误的时候
1 | ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock |
远程使用workbench登录MySQL
1 | mysql -u root -p #登录MySQL |
服务器使用的是centos系统,需要安装好pip和setuptools,同时注意更新安装的版本
接下来参考安装好Airflow
1 | Airflow 1.8 工作流平台搭建 http://blog.csdn.net/kk185800961/article/details/78431484 |
以mysql作为数据库,airflow默认使用sqlite作为数据库
1.建表
1 | # 创建相关数据库及账号 |
2.安装airflow,需要环境隔离的时候请使用virtualenv ./env创建隔离环境
1 | sudo pip install apache-airflow==1.8.0 |
3.使用pip来安装,安装的路径在python路径下site-packages文件夹,在使用上述命令一遍就能看到
1 | ~/anaconda2/lib/python2.7/site-packages/airflow |
4.在/etc/proofile中添加,之后source一下
1 | #Airflow |
5.创建数据库,这一步会创建上面路径的airflow文件夹,以及文件夹中的一些文件
1 | airflow initdb |
安装的过程请参考 Ubuntu14.04下同时安装Anaconda2与Anaconda3
启动的时候cd到$HOME/anaconda2/envs/py3k/bin下
1 | source activate py3k #启动 |
然后记得在/etc/profile中加上
1 | # added by Anaconda2 4.3.1 installer |
1.首先需要安装Hadoop和Hive
安装的时候参考 http://blog.csdn.net/jdplus/article/details/46493553
安装的版本是apache-hive-2.1.1-bin.tar.gz,解压到/usr/local目录下
然后在/etc/profile文件中添加
1 | export HIVE_HOME=/usr/local/hive |
2.修改配置文件
在bin/hive-config.sh文件中添加
1 | export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_121 |
添加hive-env.sh文件
1 | cp hive-env.sh.template hive-env.sh |
修改conf目录下的hive-site.xml的内容,该模式是本地模式,且使用JDBC连接元数据,本地模式可以查看Hive编程指南P24-27
实际数据还是存放在HDFS中,MySQL中存放的是元数据表,即schema信息
1 | <configuration> |
注意/usr/local/hive/tmp/local , /usr/local/hive/tmp/downloaded , /usr/local/hive/tmp/location , /usr/local/hive/tmp/operation_logs 这四个文件夹需要自己创建
修改hive-log4j.properties
1 | #cp hive-log4j.properties.template hive-log4j.properties |
在HDFS上建立/tmp和/user/hive/warehouse目录,并赋予组用户写权限
注意这里面的/user/hive/warehouse是由hive-site.xml中的${hive.metastore.warehouse.dir}指定的数据仓库的目录
1 | hadoop fs -mkdir /tmp |