Cloudera Manager是一个拥有集群自动化安装、中心化管理、集群监控、报警功能的一个工具。

1)Cloudera Repository:软件由Cloudera管理分布存储库。(有点类似Maven的中心仓库)
2)Server:负责软件安装、配置,启动和停止服务,管理服务运行的群集。
3)Management Service:由一组执行各种监控,警报和报告功能角色的服务。
4)Database:存储配置和监视信息。
5)Agent:安装在每台主机上。负责启动和停止的过程,配置,监控主机。
6)Clients:是用于与服务器进行交互的接口(API和Admin Console)
克隆三台虚拟机(hadoop102、hadoop103、hadoop104),配置好对应主机的网络IP、主机名称、关闭防火墙。
rpm -qa |grep vim #查看是否安装vim编辑器
yum -y install vim* #安装
yum install net-tools #安装网络包
ifconfig #查看网络
ifup ens33 #激活网络
vi /etc/sysconfig/network-scripts/ifcfg-ens33 #修改网络
systemctl restart network #重启网络
vim /etc/hostname #修改主机名(hadoop102、hadoop103、hadoop104)
#三台主机关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
#在三台主机的/etc/hosts配置ip地址与主机名映射
vim /etc/hosts
192.168.186.102 hadoop102
192.168.186.103 hadoop103
192.168.186.104 hadoop104
配置hadoop102对hadoop102、hadoop103、hadoop104三台服务器免密登录。CDH服务开启与关闭是通过server和agent来完成的,所以这里不需要配置SSH免密登录,但是为了我们分发文件方便,在这里我们也配置SSH。
1)生成公钥和私钥:
ssh-keygen -t rsa
然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
2)将公钥拷贝到要免密登录的目标机器上
ssh-copy-id hadoop102
ssh-copy-id hadoop103
ssh-copy-id hadoop104
3)重复1和2的操作,配置hadoop103对hadoop102、hadoop103、hadoop104三台服务器免密登录。
在/root目录下创建bin目录,并在bin目录下创建文件xsync,文件内容如下:
mkdir bin
cd bin/
yum -y install rsync #安装rsync同步
vi xsync #创建文件
在该文件中编写如下代码
#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi
#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname
#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir
#4 获取当前用户名称
user=`whoami`
#5 循环
for((host=103; host<105; host++)); do
echo ------------------- hadoop$host --------------
rsync -av $pdir/$fname $user@hadoop$host:$pdir
done
修改脚本 xsync 具有执行权限
chmod 777 xsync
在hadoop102的/opt目录下创建module和software文件夹
yum install lrzsz #安装上传(rz)下载(sz)包
cd /opt #进入opt目录
mkdir module #创建目录
mkdir software #创建目录
cd software/ #进入目录
#需要使用官网提供的jdk
rz #上传oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
rpm -ivh oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm #安装
配置JDK环境变量
打开/etc/profile文件
vim /etc/profile
在profile文件末尾添加JDK路径
export JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
让修改后的文件生效
source /etc/profile
检测是否安装成功
java -version
将hadoop102中的JDK和环境变量分发到hadoop103、hadoop104两台主机
xsync /usr/java/ #同步到另外两台
xsync /etc/profile
分别在hadoop103、hadoop104上source一下
[root@hadoop103 ~]# source /etc/profile
[root@hadoop104 ~]# source /etc/profile
在/root/bin目录下创建脚本xcall.sh
[root@hadoop102 bin]$ vim xcall.sh
在脚本中编写如下内容
#! /bin/bash
for i in hadoop102 hadoop103 hadoop104
do
echo --------- $i ----------
ssh $i "$*"
done
修改脚本执行权限
[root@hadoop102 bin]$ chmod 777 xcall.sh
将/etc/profile文件追加到~/.bashrc后面
[root@hadoop102 module]# cat /etc/profile >> ~/.bashrc
[root@hadoop103 module]# cat /etc/profile >> ~/.bashrc
[root@hadoop104 module]# cat /etc/profile >> ~/.bashrc
测试
[root@hadoop102 bin]# xcall.sh jps

注意:一定要用root用户操作如下步骤;先卸载MySQL再安装
安装包准备
#查看MySQL是否安装
rpm -qa|grep -i mysql
#如果安装了MySQL,就先卸载
rpm -e --nodeps mysql包
#删除阿里云原有MySql依赖
yum remove mysql-libs
#下载MySql依赖并安装
yum install libaio
yum -y install autoconf
cd /opt/software
yum install wget
wget https://downloads.mysql.com/archives/get/p/23/file/MySQL-shared-compat-5.6.24-1.el6.x86_64.rpm
wget https://downloads.mysql.com/archives/get/p/23/file/MySQL-shared-5.6.24-1.el6.x86_64.rpm
#安装
rpm -ivh MySQL-shared-5.6.24-1.el6.x86_64.rpm
rpm -ivh MySQL-shared-compat-5.6.24-1.el6.x86_64.rpm
#上传mysql-libs.zip到hadoop102的/opt/software目录,并解压文件到当前目录
rz
yum install unzip
unzip mysql-libs.zip
#进入到mysql-libs文件夹下
cd mysql-libs
安装MySQL服务端
rpm -ivh MySQL-server-5.6.24-1.el6.x86_64.rpm
查看产生的随机密码
cat /root/.mysql_secret
#查看MySQL状态
service mysql status
#启动MySQL
service mysql start
安装MySQL客户端
#安装MySQL客户端
rpm -ivh MySQL-client-5.6.24-1.el6.x86_64.rpm
mysql -uroot -pOEXaQuS8IWkG19Xs
#修改密码
SET PASSWORD=PASSWORD('root');
exit;
#进入MySQL
mysql -uroot -proot
#显示数据库
show databases;
#使用MySQL数据库
use mysql;
#展示MySQL数据库中的所有表
show tables;
#展示user表的结构
desc user;
#查询user表
select User, Host, Password from user;
#修改user表,把Host表内容修改为%
update user set host='%' where host='localhost';
#删除root用户的其他host
delete from user where host!='%';
#刷新
flush privileges;
#退出
quit;
在MySQL中依次创建监控数据库、Hive数据库、Oozie数据库、Hue数据库
mysql> GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY 'scm';
mysql> CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
#Hive数据库
mysql> CREATE DATABASE hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#Oozie数据库
mysql> CREATE DATABASE oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#Hue数据库
mysql> CREATE DATABASE hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
三台节点上全部执行下面依赖的语句,需要联网
yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb
安全增强型Linux(Security-Enhanced Linux)简称SELinux,它是一个 Linux 内核模块,也是Linux的一个安全子系统。为了避免安装过程出现各种错误,建议关闭,有如下两种关闭方法:
临时关闭(不建议使用)
setenforce 0 #但是这种方式只对当次启动有效,重启机器后会失效。
永久关闭
#修改配置文件/etc/selinux/config
vim /etc/selinux/config
将SELINUX=enforcing 改为SELINUX=disabled
SELINUX=disabled
#同步/etc/selinux/config配置文件
xsync /etc/selinux/config
#重启hadoop102、hadoop103、hadoop104主机
reboot #重启
NTP服务器配置
yum install ntp #集群中所有节点安装ntp
[root@hadoop102 ~]# vim /etc/ntp.conf
#注释掉所有的restrict开头的配置
#添加下面一行
restrict 192.168.186.102 mask 255.255.255.0 nomodify notrap
#将所有server配置进行注释
#添加下面两行内容
server 127.127.1.0
fudge 127.127.1.0 stratum 10
启动NTP服务
service ntpd start
NTP客户端配置(hadoop103,hadoop104)
vim /etc/ntp.conf
# 注释所有restrict和server配置
# 添加下面一行
server 192.168.186.102
手动测试
ntpdate 192.168.186.102
显示如下内容为成功:
22 Jun 15:09:23 ntpdate[29268]: adjust time server 192.168.186.102 offset 0.006673 sec
如果显示如下内容需要先关闭ntpd:
22 Jun 15:17:28 ntpdate[49701]: the NTP socket is in use, exiting
启动ntpd并设置为开机自启(每个节点hadoop102,hadoop103,hadoop104)
chkconfig ntpd on
service ntpd start
使用群发date命令查看结果,时间相同,同步完成,finalshell可以群发命令的
cm6.3.1-redhat7.tar.gz
将mysql-connector-java-5.1.27-bin.jar拷贝到usr/share/java路径下,并重命名
cd /opt/software/mysql-libs/
rz #上传
tar -zxvf mysql-connector-java-5.1.27.tar.gz #解压
cd mysql-connector-java-5.1.27
mv mysql-connector-java-5.1.27-bin.jar mysql-connector-java.jar
mkdir /usr/share/java #新建目录
cp mysql-connector-java.jar /usr/share/java/
scp -r /usr/share/java/ hadoop103:/usr/share/
scp -r /usr/share/java/ hadoop104:/usr/share/
| 节点 | hadoop102 | hadoop103 | hadoop104 |
|---|---|---|---|
| 服务 | cloudera-scm-server cloudera-scm-agent | cloudera-scm-agent | cloudera-scm-agent |
#创建cloudera-manager目录,存放cdh安装文件
mkdir /opt/cloudera-manager
cd /opt/software/ #进入目录
tar -zxvf cm6.3.1-redhat7.tar.gz #解压
#进入解压后的文件
cd cm6.3.1/RPMS/x86_64/
#移动rpm包
mv cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm /opt/cloudera-manager/
mv cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm /opt/cloudera-manager/
mv cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm /opt/cloudera-manager/
#进入目录查看
cd /opt/cloudera-manager/
#安装cloudera-manager-daemons,安装完毕后多出/opt/cloudera目录
rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
cd /opt/cloudera
cd ..
xsync /opt/cloudera-manager/ #同步到hadoop103、hadoop104
#进入hadoop103和hadoop104安装daemons
[root@hadoop103 ~]# cd /opt/cloudera-manager/
[root@hadoop103 cloudera-manager]# rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
[root@hadoop104 ~]# cd /opt/cloudera-manager/
[root@hadoop104 cloudera-manager]# rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
#三台机器安装依赖
yum install bind-utils psmisc cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap fuse-libs /lib/lsb/init-functions httpd mod_ssl openssl-devel python-psycopg2 MySQL-python libxslt
#三台机器安装manager-agent
rpm -ivh cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
#在hadoop102上修改配置文件
vim /etc/cloudera-scm-agent/config.ini
#修改下面参数
server_host=hadoop102
#脚本同步到hadoop103和hadoop104
xsync /etc/cloudera-scm-agent/config.ini
#在hadoop102执行
rpm -ivh cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
cd /opt/cloudera/parcel-repo/
rz
#包名分别为:
CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel
CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1
manifest.json
#改名
mv CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha
vim /etc/cloudera-scm-server/db.properties
com.cloudera.cmf.db.type=mysql
com.cloudera.cmf.db.host=hadoop102:3306
com.cloudera.cmf.db.name=scm
com.cloudera.cmf.db.user=scm
com.cloudera.cmf.db.password=scm
com.cloudera.cmf.db.setupType=EXTERNAL
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm
systemctl start cloudera-scm-server
systemctl status cloudera-scm-server
假如报错
我们进入目录查看日志:
cd /var/log/cloudera-scm-server
或者
journalctl -xe
systemctl start cloudera-scm-agent
访问http://hadoop102:7180,(用户名、密码:admin)








若出现没有版本执行下面:
cd /opt/cloudera/parcel-repo #进入本地存储
查看是否有
-rw-r--r-- 1 root root 2082186246 6月 22 17:01 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel
-rw-r--r-- 1 root root 40 6月 22 16:15 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha
-rw-r--r-- 1 root root 33887 6月 22 16:14 manifest.json
systemctl restart cloudera-scm-server#重启服务
如果还不行,就重启服务器或者查看文件权限
chmod 644 manifest.json 赋权
chmod 644 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha
chmod 644 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel




[root@hadoop101 software]# echo never > /sys/kernel/mm/transparent_hugepage/defrag
[root@hadoop101 software]# echo never > /sys/kernel/mm/transparent_hugepage/enabled
[root@hadoop102 software]# echo never > /sys/kernel/mm/transparent_hugepage/defrag
[root@hadoop102 software]# echo never > /sys/kernel/mm/transparent_hugepage/enabled
[root@hadoop103 software]# echo never > /sys/kernel/mm/transparent_hugepage/defrag
[root@hadoop103 software]# echo never > /sys/kernel/mm/transparent_hugepage/enabled

还可能警告:

Cloudera 建议将 /proc/sys/vm/swappiness 设置为最大值 10。当前设置为 30。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf,以在重启后保存该设置。您可以继续进行安装,但 Cloudera Manager 可能会报告您的主机由于交换而运行状况不良。
# 三台主机运行:
echo 10 > /proc/sys/vm/swappiness












进入HDFS页面点击启动High Availability

命名

分配角色

审核更改

等待启动服务




可以选择在线安装和离线包安装,在线安装下载时间较长,离线包安装时间较短。这里我们为了节省时间,选择离线安装。
添加服务

选择Kafka,点击继续

Kafka的Broker选择三台机器





[root@hadoop102 ~]# /opt/cloudera/parcels/CDH/bin/kafka-topics --zookeeper hadoop102:2181 --list
进入到/opt/cloudera/parcels/KAFKA目录下分别创建:启动日志主题、事件日志主题
#创建topic test
/opt/cloudera/parcels/CDH/bin/kafka-topics --bootstrap-server hadoop102:9092,hadoop103:9092,hadoop104:9092 --create --replication-factor 1 --partitions 1 --topic test
#删除启动日志主题
/opt/cloudera/parcels/CDH/bin/kafka-topics --delete --bootstrap-server hadoop102:9092,hadoop103:9092,hadoop104:9092 --topic test







CDH6.x自带spark2.4无需升级










在阿里云环境下 Hadoop集群必须用域名访问,不能用IP访问,开启如下配置dfs.client.use.datanode.hostname


为演示效果将虚拟核扩大1倍,一般真实场景下物理核和虚拟核对比值为1:1或1:2
修改配置,每台机器物理核2核虚拟成4核
yarn.nodemanager.resource.cpu-vcores

修改yarn.scheduler.maximum-allocation-vcores参数调整4核

将每个任务容器默认大小从1G调大至4G,当前集群环境下每个节点的物理内存为8G,设置每个yarn可用每个节点内存为7G
修改yarn.scheduler.maximum-allocation-mb 每个任务容器内存所需大小

修改yarn.nodemanager.resource.memory-mb每个节点内存所需大小

关闭spark.dynamicAllocation.enabled 参数否则分配的资源不受控制

修改副本数为1
dfs.replication

CDH默认公平调度器,修改为容量调度器
yarn
Scheduler

默认root队列,可以进行修改,添加3个队列spark,hive,flink,spark资源设置占yarn集群40%,hive设置占yarn集群20%,flink设置占40%


配置完毕后重启服务,到yarn界面查看调度器,已经发生变化有hive队列和spark队列






























我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i
有时我需要处理键/值数据。我不喜欢使用数组,因为它们在大小上没有限制(很容易不小心添加超过2个项目,而且您最终需要稍后验证大小)。此外,0和1的索引变成了魔数(MagicNumber),并且在传达含义方面做得很差(“当我说0时,我的意思是head...”)。散列也不合适,因为可能会不小心添加额外的条目。我写了下面的类来解决这个问题:classPairattr_accessor:head,:taildefinitialize(h,t)@head,@tail=h,tendend它工作得很好并且解决了问题,但我很想知道:Ruby标准库是否已经带有这样一个类? 最佳
我正在尝试使用Curbgem执行以下POST以解析云curl-XPOST\-H"X-Parse-Application-Id:PARSE_APP_ID"\-H"X-Parse-REST-API-Key:PARSE_API_KEY"\-H"Content-Type:image/jpeg"\--data-binary'@myPicture.jpg'\https://api.parse.com/1/files/pic.jpg用这个:curl=Curl::Easy.new("https://api.parse.com/1/files/lion.jpg")curl.multipart_form_
无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD
本教程将在Unity3D中混合Optitrack与数据手套的数据流,在人体运动的基础上,添加双手手指部分的运动。双手手背的角度仍由Optitrack提供,数据手套提供双手手指的角度。 01 客户端软件分别安装MotiveBody与MotionVenus并校准人体与数据手套。MotiveBodyMotionVenus数据手套使用、校准流程参照:https://gitee.com/foheart_1/foheart-h1-data-summary.git02 数据转发打开MotiveBody软件的Streaming,开始向Unity3D广播数据;MotionVenus中设置->选项选择Unit
文章目录一、概述简介原理模块二、配置Mysql使用版本环境要求1.操作系统2.mysql要求三、配置canal-server离线下载在线下载上传解压修改配置单机配置集群配置分库分表配置1.修改全局配置2.实例配置垂直分库水平分库3.修改group-instance.xml4.启动监听四、配置canal-adapter1修改启动配置2配置映射文件3启动ES数据同步查询所有订阅同步数据同步开关启动4.验证五、配置canal-admin一、概述简介canal是Alibaba旗下的一款开源项目,Java开发。基于数据库增量日志解析,提供增量数据订阅&消费。Git地址:https://github.co
我正在尝试在Rails上安装ruby,到目前为止一切都已安装,但是当我尝试使用rakedb:create创建数据库时,我收到一个奇怪的错误:dyld:lazysymbolbindingfailed:Symbolnotfound:_mysql_get_client_infoReferencedfrom:/Library/Ruby/Gems/1.8/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundleExpectedin:flatnamespacedyld:Symbolnotfound:_mysql_get_client_infoReferencedf
文章目录1.开发板选择*用到的资源2.串口通信(个人理解)3.代码分析(注释比较详细)1.主函数2.串口1配置3.串口2配置以及中断函数4.注意问题5.源码链接1.开发板选择我用的是STM32F103RCT6的板子,不过代码大概在F103系列的板子上都可以运行,我试过在野火103的霸道板上也可以,主要看一下串口对应的引脚一不一样就行了,不一样的就更改一下。*用到的资源keil5软件这里用到了两个串口资源,采集数据一个,串口通信一个,板子对应引脚如下:串口1,TX:PA9,RX:PA10串口2,TX:PA2,RX:PA32.串口通信(个人理解)我就从串口采集传感器数据这个过程说一下我自己的理解,
SPI接收数据左移一位问题目录SPI接收数据左移一位问题一、问题描述二、问题分析三、探究原理四、经验总结最近在工作在学习调试SPI的过程中遇到一个问题——接收数据整体向左移了一位(1bit)。SPI数据收发是数据交换,因此接收数据时从第二个字节开始才是有效数据,也就是数据整体向右移一个字节(1byte)。请教前辈之后也没有得到解决,通过在网上查阅前人经验终于解决问题,所以写一个避坑经验总结。实际背景:MCU与一款芯片使用spi通信,MCU作为主机,芯片作为从机。这款芯片采用的是它规定的六线SPI,多了两根线:RDY和INT,这样从机就可以主动请求主机给主机发送数据了。一、问题描述根据从机芯片手
前言一般来说,前端根据后台返回code码展示对应内容只需要在前台判断code值展示对应的内容即可,但要是匹配的code码比较多或者多个页面用到时,为了便于后期维护,后台就会使用字典表让前端匹配,下面我将在微信小程序中通过wxs的方法实现这个操作。为什么要使用wxs?{{method(a,b)}}可以看到,上述代码是一个调用方法传值的操作,在vue中很常见,多用于数据之间的转换,但由于微信小程序诸多限制的原因,你并不能优雅的这样操作,可能有人会说,为什么不用if判断实现呢?但是if判断的局限性在于如果存在数据量过大时,大量重复性操作和if判断会让你的代码显得异常冗余。wxswxs相当于是一个独立