常平网站建设,网站建设公司哪家好,深圳专业网站建设,排名网站建设二、CDH简介
全称Cloudera’s Distribution Including Apache Hadoop。
hadoop的版本 (Apache、CDH、Hotonworks版本)
在公司中一般使用cdh多一些#xff08;收费的#xff09;、也有公司使用阿里云大数据平台、微软的大数据平台。
国内也有一些平台#xff1a;星环大数…二、CDH简介
全称Cloudera’s Distribution Including Apache Hadoop。
hadoop的版本 (Apache、CDH、Hotonworks版本)
在公司中一般使用cdh多一些收费的、也有公司使用阿里云大数据平台、微软的大数据平台。
国内也有一些平台星环大数据一个朋友的公司优刻得UCloud
ClouderaManager 简称 CM (CDH的管理界面) 。Cloudera Manager是用于管理CDH群集的端到端应用程序。
三、CM的安装
1、下载
1. 下载包https://archive.cloudera.com/cdh6/6.2.1/parcels/ --cdh的地址https://archive.cloudera.com/cm6/6.2.1/redhat7/yum/RPMS/x86_64/ --CM的地址
2、安装依赖包 yum install -y cyrus-sasl-plain cyrus-sasl-gssapi portmap fuse-libs bind-utils libxslt fuseyum install -y /lib/lsb/init-functions createrepo deltarpm python-deltarpmyum install -y mod_ssl openssl-devel python-psycopg2 MySQL-python 3、 安装httpd(只需要在部署本地yum源的机器上安装即可不用三台全部安装)
yum install httpd
yum install createrepo
4、一些其他的配置
5. 关闭防火墙
查看防火墙状态 systemctl status firewalld
绿的running表示防火墙开启
执行关闭命令 systemctl stop firewalld
再次执行查看防火墙命令systemctl status firewalld
执行开机禁用防火墙自启命令 systemctl disable firewalld
完成6. 关闭selinux在配置文件中第一次设置时需要重启服务器
setenforce 0vim /etc/selinux/config
将SELINUXenforcing
改为SELINUXdisabledreboot 重启的意思
init 0 关机
init 6 重启
5、软件上传
systemctl start httpd 可以通过网址访问一下http://192.168.233.132,类似于ftp服务器cd /var/www/html/
mkdir -p cm6/6.2.1/redhat7/yum/RPMS/x86_64/
cd cm6/6.2.1/redhat7/yum/RPMS/x86_64/
上传cm6中的文件到此目录
cd /var/www/html/cm6/6.2.1/
上传allkeys.asc文件到/var/www/html/cm6/6.2.1/目录下cd /var/www/html/
mkdir -p cdh6/6.2.1/parcels/
上传cdh6中的文件到此目录访问测试http://192.168.233.132/cm6/6.2.1/redhat7/yum/RPMS/x86_64/
6、生成repodata目录
cd /var/www/html/cm6/6.2.1/redhat7/yum
createrepo .
7、配置本地yum源
cd /etc/yum.repos.d/
vim cloudera-manager.repo
填写请修改为自己的IP
[cloudera-manager]
nameCloudera Manager
baseurlhttp://192.168.233.132/cm6/6.2.1/redhat7/yum/
gpgcheck0
enabled1执行命令
yum clean all
yum list | grep cloudera --这个步骤稍微慢一些等待即可效果如下
[rootcdh yum.repos.d]# yum list | grep cloudera
cloudera-manager-agent.x86_64 6.2.1-1426065.el7 cloudera-manager
cloudera-manager-daemons.x86_64 6.2.1-1426065.el7 cloudera-manager
cloudera-manager-server.x86_64 6.2.1-1426065.el7 cloudera-manager
cloudera-manager-server-db-2.x86_64 6.2.1-1426065.el7 cloudera-manager
enterprise-debuginfo.x86_64 6.2.1-1426065.el7 cloudera-manager
oracle-j2sdk1.8.x86_64 1.8.0update181-1 cloudera-manager8、创建一个linux新用户
创建cloudera-scm用户centos7要求必须有centos6没有要求
useradd cloudera-scm
passwd cloudera-scmtest123456
--免密钥登录
echo cloudera-scm ALL(root)NOPASSWD:ALL /etc/sudoers
切换新用户试一下
su - cloudera-scm
试玩之后再回来
exit
9、安装mysql
第一步下载repo并安装mysql-server
先安装wget yum install -y wget
进入 /opt 目录
下载安装引导包
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server假如报如下错误
失败的软件包是mysql-community-common-5.7.43-1.el7.x86_64GPG 密钥配置为file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql报错使用这个语句
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
这个步骤需要网络并根据网速会花些时间安装完成后会覆盖之前的mariadb。
如果提示-bash: wget: 未找到命令则yum -y install wget
修复完错误之后继续安装mysql:
yum -y install mysql-community-server假如还出问题使用如下命令sudo yum install mysql-server --nogpgcheck第二步mysql设置
启动
systemctl start mysqld
查看运行情况
systemctl status mysqld第三步登录mysql
查看mysql密码
grep password /var/log/mysqld.log
登录mysql
mysql -uroot -p 敲回车粘贴密码第四步修改密码
取消mysql密码规范限制
set global validate_password_policy0;
set global validate_password_length1;
重设密码
alter user rootlocalhost identified by 123456;
flush privileges;第五步卸载repo包
此时还有一个问题因为安装了yum repository以后每次yum都会自动更新耗费时间所以卸载掉
yum -y remove mysql57-community-release-el7-10.noarch第六步安装mysql后续作为元数据库
create database scm DEFAULT CHARACTER SET utf8;
grant all PRIVILEGES on *.* TO root% IDENTIFIED BY 123456 WITH GRANT OPTION;
grant all PRIVILEGES on *.* TO rootlocalhost IDENTIFIED BY 123456 WITH GRANT OPTION;
flush privileges;
10、安装server服务
yum install -y oracle-j2sdk1.8-1.8.0update181-1.x86_64
yum install -y enterprise-debuginfo-6.2.1-1426065.el7.x86_64
--最核心的语句安装cm-server服务
yum install -y cloudera-manager-server-6.2.1-1426065.el7.x86_64
yum install -y cloudera-manager-server-db-2-6.2.1-1426065.el7.x86_64
意事项如果没有在httpd服务下面添加新的软件以下步骤不需要管。
注意如果在yum源中添加了新的包时
1.需要删除之前的repodata文件后重新生成
2.重启httpd服务
3.清除yum缓存 yum clean all
11、设置CM这个软件的元数据为mysql
设置元数据库为mysql--前提是安装ClouderaManager Server服务
/opt/cloudera/cm/schema/scm_prepare_database.sh -h localhost mysql scm root 123456
旧版本/usr/share/cmf/schema/scm_prepare_database.sh -h localhost mysql scm root 123456假如报以下错误拷贝驱动包
[ main] DbCommandExecutor INFO Unable to find JDBC driver for database type: MySQL
[ main] DbCommandExecutor ERROR JDBC Driver com.mysql.jdbc.Driver not found.
[ main] DbCommandExecutor ERROR Exiting with exit code 3
-- Error 3, giving up (use --force if you wish to ignore the error)提示ERROR JDBC Driver com.mysql.jdbc.Driver not found.
需要上传mysql驱动包jar到/opt/cloudera/cm/lib目录下。
cd /opt/cloudera/cm/lib
先拷贝5.7的驱动试试,假如错误变为如下
The last packet successfully received from the server was 473 milliseconds ago. The last packet sent successfully to the server was 460 milliseconds ago.请将mysql5.1的驱动包删除然后换为8.0的驱动。
rm -rf mysql-connector-java-5.1.40.jar
此时有一个大坑复制驱动包的时候拷贝一个mysql8.0的才可以。
记得继续执行那句话
/opt/cloudera/cm/schema/scm_prepare_database.sh -h localhost mysql scm root 123456
看到如下语句就说明你的mysql中已经有cm这个系统的数据了。
All done, your SCM database is configured correctly!查看cat /etc/cloudera-scm-server/db.properties
12、启动cm服务
启动server服务进程查看7180端口
systemctl start cloudera-scm-server
查看启动日志
tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
查看启动状态
systemctl status cloudera-scm-server
查看端口
netstat -an | grep 7180
当你的日志不再打印的时候就启动成功了启动时间大约2分钟。
或者当你能够查看到7180端口被占用的时候也就说明成功了。
13、登录
访问地址http://192.168.233.200:7180/cmf/login
账号和密码admin admin 登录即可 至此CM安装完毕CDH还没有安装呢。
14、设置刷新频率
点击上面的图片的Logo,或者直接输入网址http://192.168.233.200:7180/cmf/home进入这个界面 四、安装CDH
1、配置本地parcel包
注意必须要在数据库初始化后将parcel文件放置到/opt/cloudera/parcel-repo目录中
如何放置mv /var/www/html/cdh6/6.2.1/parcels/* /opt/cloudera/parcel-repo
重命名密钥文件名
cd /opt/cloudera/parcel-repo/
mv CDH-6.2.1-1.cdh6.2.1.p0.1425774-el7.parcel.sha1 CDH-6.2.1-1.cdh6.2.1.p0.1425774-el7.parcel.sha 2、swappiness和透明化
临时生效
sysctl -w vm.swappiness10
echo never /sys/kernel/mm/transparent_hugepage/defrag
echo never /sys/kernel/mm/transparent_hugepage/enabled
永久生效
echo vm.swappiness10 /etc/sysctl.conf
echo echo never /sys/kernel/mm/transparent_hugepage/defrag /etc/rc.local
echo echo never /sys/kernel/mm/transparent_hugepage/enabled /etc/rc.local
3、创建一些目录添加分组
mkdir -p /var/lib/cloudera-host-monitor
mkdir -p /var/lib/cloudera-service-monitorchown -R cloudera-scm:cloudera-scm /var/lib/cloudera-host-monitor
chown -R cloudera-scm:cloudera-scm /var/lib/cloudera-service-monitor/
4、创建集群 给集群起个名字 jdk不需要安装因为我们装过了。
在哪里呢查询一下
find / -name java
发现jdk的安装路径为/usr/java/jdk1.8.0_181-cloudera/配置一下java home
vi /etc/profile
export JAVA_HOME/usr/java/jdk1.8.0_181-cloudera/
export PATH$PATH:$JAVA_HOME/bin保存之后刷新环境变量
source /etc/profile 设置密码 安装 选择套餐 后面的一直默认即可直到开始安装hdfs。 点击完成可以看到主界面了。 测试一下hdfs是否正常使用
http://192.168.233.200:9870/
5、安装与使用hdfs 又想安装 想安装什么服务就选择什么服务安装过程稍微慢一些。
假如想使用hdfs访问 9870页面想创建一个文件夹发现没有权限 如果按照以前的习惯修改配置文件配置相应的代码即可使用CDH之后所有的配置都变成了在页面上修改。 以前修改的hdfs-site.xml ,变为在页面中修改。 修改的配置需要重启才能生效。 重启完之后再次使用hdfs测试是否还有权限问题。 如果你不习惯在页面修改配置文件可以搜索一般都在/opt/cloudera/parcels/CDH-6.2.1-1.cdh6.2.1.p0.1425774 下。
页面中可以查看hdfs集群的运行情况也看到了集群的健康状况。 点击后面的 Suppress抑制。 假如你安装过程中出现了datanode启动不起来检查 网络IP是否正确。将dhcp 修改为 static
重启网卡systemctl restart network
接着停止hdfs服务删除 /dfs 目录下的三个文件。
卸载hdfs服务重新添加hdfs 服务这个时候会重新进行namenode 格式化。 6、安装yarn
添加服务-- 选择 yarn-- 自动安装即可 如何使用yarn,跑一个任务
在home 下 创建一个wc.txt
里面随便输入一些需要统计的词
bigdata hadoop
bigdata hello hadoop将这个任务上传至hdfs
首先创建一个文件夹 hdfs dfs -mkdir -p /home/input
上传文件至 hdfs dfs -put /home/wc.txt /home/input使用hadoop自带的jar包运行任务
yarn jar /opt/cloudera/parcels/CDH/jars/hadoop-mapreduce-examples-3.0.0-cdh6.2.1.jar wordcount /home/input/* /home/output 在界面中还可以访问到http://192.168.233.200:8088/cluster 7、安装zookeeper 通过命令进入zk查看是否可用。
find / -name zkCli.sh
/opt/cloudera/parcels/CDH-6.2.1-1.cdh6.2.1.p0.1425774/lib/zookeeper/bin/zkCli.sh -server cdh:2181
8、hive
要想创建hivehive需要mysql充当元数据的表服务。
mysql -uroot -p
create database hive;
安装hive服务需要用到mysql 通过以上可以看出缺少jar包
cp /opt/cloudera/cm/lib/mysql-connector-java-8.0.26.jar /opt/cloudera/parcels/CDH/lib/hive/lib/
拷贝完成之后记得点击 resume 一下。
测试hive的用法
直接在黑窗口中hive 一下。
进入编写一些简单的sql语句比如 show databases;
select from_unixtime(1583781807, yyyy-MM-dd);注意此时的metastore 以及hiveserver2 都已经启动了但是使用datagrip 连接的时候缺少一个包。