安装elasticsearch
CDH中没有官方提供Elastic的parce包,但是问题不大,CDH提供了一个编译工具可以自行打parcel包。对于其他的分布式工具大部分都可以通过这种方式进行CDH安装,由CDH进行统一的分配、配置管理。既然有CDH这个管理工具,当然就尽量把所有组件都进行统一管理了。
安装git、maven
yum install git
git version
wget https://apache.website-solution.net/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
tar -xzvf apache-maven-3.6.3-bin.tar.gz
vim /etc/profile
#这里写你自己的maven解压目录
export MAVEN_HOME=/usr/maven-3.6.3
export PATH=$PATH:$MAVEN_HOME/bin
source /etc/profile
mvn -version
安装cloudera manager编译工具
mkdir -p github/cloudera
cd github/cloudera/
//克隆安装工具git文件
git clone https://github.com/cloudera/cm_ext.git
cd cm_ext
//加载项目中的依赖包
mvn package
mvean的依赖比较多,需要多等一段时间,如果有发现长时间停滞可以ctrl+C中断然后重新加载。下载elasticsearch的tar.gz安装包,官网有不同版本的,选择一个合适的版本。
封装parcel包
git克隆一个elasticsearch的打包工具
git clone https://github.com/ibagomel/elasticsearch-parcel.git
cd elasticsearch-parcel
//使用工具对tar.gz文件进行打包操作
POINT_VERSION=5 VALIDATOR_DIR=/root/github/cloudera/cm_ext OS_VER=el7 PARCEL_NAME=ElasticSearch ./build-parcel.sh /root/github/cloudera/elasticsearch/elasticsearch-6.3.1.tar.gz
//进行CSD校验
VALIDATOR_DIR=/root/github/cloudera/cm_ext CSD_NAME=ElasticSearch ./build-csd.sh
//进入目录查看parcel文件
cd build-parcel/
ls
搭建本地库
主要是就是利用httpd搭建一个本地库提供parcle包,然后把csd文件拷贝到cloudera目录中。
mkdir /var/www/html/elastic-parcel
cd /root/github/cloudera/elasticsearch-parcel/build-parcel/
cp ELASTICSEARCH-0.0.5.elasticsearch.p0.5-el7.parcel /var/www/html/elastic-parcel/
cp manifest.json /var/www/html/elastic-parcel
cd /root/github/cloudera/elasticsearch-parcel/build-csd
cp ELASTICSEARCH-1.0.jar /opt/cloudera/csd/
//CDH容易报一个无权限访问目录的错误,提前给足够的权限
chmod 777 /opt/cloudera/parcels/ELASTICSEARCH-0.0.5.elasticsearch.p0.5/config/
然后重启clouderamanager,即可在CDH管理WEB上加载新的parcel。
/opt/cloudera-manager/etc/init.d/cloudera-scm-server restart
安装kibana
kibana并不是分布式的组件,不需要通过CDH统一管理。
上传解压配置启动即可。
数据可视化
数据处理
原有字段中包含year、month、day、hour和其他数值数据,在elasticsearch中,以date格式存储会更方便数据的使用。elasticsearch可以将"yyyy-MM-dd"格式的字符串自动解析成date格式,所以这里需要将year、month、day三个字段拼接字符串,并且group聚合。
CREATE TABLE pekingweather AS SELECT
MIN(`no`) AS `no`,
CONCAT_WS(
'-',
`year`,
LPAD(`month`, 2, 0),
LPAD(`day`, 2, 0)
)