CDH集群安装文档

阅读: 评论:0

CDH集群安装文档

CDH集群安装文档

实时大数据平台安装文档

文档编号版本号V1.0
名称实时大数据平台安装文档
总页数正文
编写日期审批

1. 引言

1.1 编写目的

该手册旨在记录部署大数据CDH集群的流程,为后续作业提供参考,提高利用CM部署集群的效率和减少出现问题的可能性,帮助现场部署人员更好,更快地完成部署任务。

1.2 环境及术语

该手册要求,现场部署环境已经安装好操作系统,建议centos7.4,且网络已经配置完毕,磁盘空间达到TB级别

Cloudera Manager(CM):Cloudera公司的Hadoop系统组件的安装管理工具 CDH:Cloudera's Distribution Hadoop,是Cloudera公司发布的Hadoop版本

1.3 整体安装步骤

2. 资源下载

2.1 下载 CDH CM

  • 安装包位置
    • 服务器:scdh01
    • 目录:/opt/software

3. 环境配置

3.1 机器配置

iphosts节点
10.106.**.**scdh01主机
10.106.**.**scdh02从机
10.106.**.**scdh03从机

3.2 配置 hosts

(ps: 所有节点执行)

在台机器上输入: vim /etc/hosts

(省略)

修改本机显示hostname

vi /etc/sysconfig/network

HOSTNAME=scdh01

3.3 卸载自带的jdk(如果有)

(ps: 所有节点执行)

[root@scdh01 ~]# rpm -qa |grep jdk
java-1.8.0-openjdk-headless-1.8.0.222.b03-1.el7.x86_64
java-1.7.0-openjdk-headless-1.7.0.221-2.6.18.1.el7.x86_64
copy-jdk-configs-3.3-10.arch
java-1.8.0-openjdk-1.8.0.222.b03-1.el7.x86_64
java-1.7.0-openjdk-1.7.0.221-2.6.18.1.el7.x86_64[root@scdh01 ~]# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.222.b03-1.el7.x86_64
[root@scdh01 ~]# rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.221-2.6.18.1.el7.x86_64
[root@scdh01 ~]# rpm -e --nodeps copy-jdk-configs-3.3-10.arch
[root@scdh01 ~]# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.222.b03-1.el7.x86_64
[root@scdh01 ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.221-2.6.18.1.el7.x86_64

3.4 卸载自带的 mariadb

(ps: 所有节点执行)

[root@scdh01 ~]# rpm -qa | grep -i mariadb | xargs rpm -e --nodeps

删除残留文件

[root@scdh01 ~]# find / -name mysql | xargs rm -rf
[root@scdh01 ~]# find / -name myf find / -name myf | xargs rm -rf
[root@scdh01 ~]# cd /var/lib/
[root@scdh01 ~]# rm -rf mysql/

3.5 关闭防火墙

(ps: 所有节点执行)

[root@scdh01 ~]# systemctl stop firewalld.service
[root@scdh01 ~]# systemctl disable firewalld.service

三台都关闭SELINUX,编辑/etc/selinux/config配置文件,把SELINUX的值改为disabled

[root@scdh01 ~]# vim /etc/selinux/configSELINUX=disabled

3.6 配置免密登录

(ps: 所有节点执行)

ssh-keygen -t rsa  # 直接回车ssh-copy-id scdh01   # 输入 yes, 输入密码 
ssh-copy-id scdh02   # 输入 yes, 输入密码 
ssh-copy-id scdh03   # 输入 yes, 输入密码 

3.7 安装jdk

(ps: 所有节点都要安装)

[root@scdh01 ~]# mkdir /usr/java

将放在服务器上的 解压到 /usr/java 目录下

[root@scdh01 ~]# tar -zxvf /opt/software/ -C /usr/java/

将 /usr/java 分发到其他服务器

[root@scdh01 ~]# scp -r /usr/java root@scdh02:/usr/java
[root@scdh01 ~]# scp -r /usr/java root@schd03:/usr/java

配置 JAVA_HOME 环境变量(所有的主机都需要)

[root@scdh01 ~]# cat >> /etc/profile << EOF
> #JAVA_HOME
> export JAVA_HOME=/usr/java/jdk1.8.0_181
> export PATH=$PATH:$JAVA_HOME/bin
> EOF
[root@scdh01 ~]# source /etc/profile
[root@scdh01 ~]# java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

3.8 时钟同步

1、所有机器安装ntp :yum -y install ntp2、CM节点配置时钟与自己同步:vim /f,删除其他server,加入:
server  127.127.1.0 
fudge   127.127.1.0 stratum 103、其他非CM节点,同步CM节点的时间,vim /f,加入:
server 10.106.58.1174、重启所有机器的ntp服务
systemctl restart ntpd或者service ntpd restart
systemctl status ntpd或者service ntpd status5、验证同步
所有节点执行ntpq –p,左边出现*号表示同步成功。6、若不成功;
/usr/sbin/v.hk 
x.xxx
手动同步时间

3.9 http服务

yum -y install httpd
systemctl start httpd 或service httpd start

4. 安装 MariaDB

4.1 安装 MariaDB

[root@centos ~]# yum install -y mariadb-server mariadb
[root@centos ~]# systemctl start mariadb
[root@centos ~]# systemctl enable mariadb 
[root@centos ~]# mysql_secure_installation首先是设置密码,会提示先输入密码Enter current password for root (enter for none):<–初次运行直接回车设置密码Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
New password: <– 设置root用户的密码
Re-enter new password: <– 再输入一次你设置的密码其他配置Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车,Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车[root@centos ~]# mysql -uroot -p
输入密码.

4.2 查看 MariaDB 状态

[root@hadoop1 html]# systemctl status mariadbmariadb.service - MariaDB database serverLoaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)Active: active (running) since 一 2021-09-27 15:52:26 CST; 1h 49min agoProcess: 94651 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=0/SUCCESS)Process: 94614 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)Main PID: 94650 (mysqld_safe)CGroup: /system.slice/mariadb.service├─94650 /bin/sh /usr/bin/mysqld_safe --basedir=/usr└─94829 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin -...9月 27 15:52:23 scdh01 systemd[1]: Starting MariaDB 
9月 27 15:52:23 scdh01 mariadb-prepare-db-dir[94614]: Database MariaDB is probably initialized in /var/
9月 27 15:52:23 scdh01 mariadb-prepare-db-dir[94614]: If this is not the case, make sure the /var/lib/mysql dir.
9月 27 15:52:24 scdh01 mysqld_safe[94650]: 210927 15:52:24 mysqld_safe unknown option '--lower-case-table-names=1'
9月 27 15:52:24 scdh01 mysqld_safe[94650]: 210927 15:52:24 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
9月 27 15:52:24 scdh01 mysqld_safe[94650]: 210927 15:52:24 mysqld_safe Starting mysqld daemon with sql
9月 27 15:52:26 scdh01 systemd[1]: Started MariaDB database server.

4.3 设置root可以远程登录

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'MariaDB 密码' WITH GRANT OPTION;mysql> FLUSH PRIVILEGES;mysql> exit;

4.4 为 CM 安装mysql驱动

下载地址: /

将 mysql-connector-java-5.1.47-bin.jar 拷贝到 新创建的 /usr/share/java 路径下,并重命名为 mysql-connector-java.jar

[root@scdh01 mysql]# tar -zxvf mysql-connector-java-5.1.[root@scdh01 mysql]# cp mysql-connector-java-5.1.27-bin.jar /usr/share/java[root@scdh01 mysql]# cd /usr/share/java[root@scdh01 java]# mv mysql-connector-java-5.1.27-bin.jar mysql-connector-java.jar[root@scdh01 java]# ll /usr/share/java
总用量 984
drwxr-xr-x. 3 root root     178 8月   7 2018 mysql-connector-java-5.1.47
-rw-r--r--. 1 root root 1007505 9月  27 17:49 mysql-connector-java.jar

将该驱动发到每一台服务器

[root@scdh01 java]# scp -r /usr/share/java/mysql-connector-java.jar root@scdh02:/usr/share/java/
mysql-connector-java.jar 				100%  984KB  25.3MB/s   00:00    [root@scdh01 java]# scp -r /usr/share/java/mysql-connector-java.jar root@scdh03:/usr/share/java/
mysql-connector-java.jar     			100%  984KB  30.7MB/s   00:00 

5. 安装 CM

5.1 制作 yum 源

(ps: 主节点执行)

  1. 开启 http 服务

  2. 创建目录, 并上传本地下载好的 cdh 安装包 到指定文件夹

    [root@scdh01 ~]# mkdir -p /var/www/html/cloudera-repos
    上传安装包进来
  3. 制作本地yum源

    - 下载yum源工具包
    yum -y install yum-utils createrepo
    - 在 cloudera-repos 目录下生成rpm元数据:
    createrepo /var/www/html/cloudera-repos
    - 并对/var/www/html下的所有目录和文件赋权:
    chmod  -R 755 /var/www/html
    - 创建本地Cloudera Manager的repo源,创建/pos.po,加入一些配置项:
    [myrepo]
    name = myrepo
    baseurl = scdh01/cloudera-repos
    enable = true
    gpgcheck = false

    在浏览器输入: scdh01/cloudera-repos 即可看见对应的目录

    (ps: 从节点执行)

    - 创建本地Cloudera Manager的repo源,创建/pos.po,加入一些配置项:
    [myrepo]
    name = myrepo
    baseurl = scdh01/cloudera-repos
    enable = true
    gpgcheck = false

5.2 安装CM server及agent

主节点执行:

[root@pos.d]# yum -y install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server

子节点执行:

[root@pos.d]# yum -y install cloudera-manager-agent cloudera-manager-daemons

5.3 修改CM配置文件

所有节点都要执行

[root@pos.d]# vim /etc/cloudera-scm-agent/config.iniserver_host=scdh01  # 改成主节点的ip或hosts

5.4 在MySQL中建库

[root@pos.d]# mysql -uroot -pCREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE hive DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

5.5 为CM配置数据库

/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm root root

6. 启动CM服务

启动主节点的 cloudera-scm-server

[root@pos.d]# systemctl start cloudera-scm-server

启动所有节点(包括主节点)的 cloudera-scm-agent

[root@pos.d]# systemctl start cloudera-scm-agent

查看状态

[root@pos.d]# systemctl status cloudera-scm-server
[root@pos.d]# systemctl status cloudera-scm-agent

查看Server启动日志

[root@pos.d]# tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log

当看到如下信息,代表 cloudera-scm-server 已经启动

2021-09-28 09:46:39,687 INFO lipse.jetty.webapp.StandardDescriptorProcessor: NO JSP Support for /, did not lipse.jetty.jsp.JettyJspServlet
2021-09-28 09:47:01,765 INFO WebServerImpl:com.f.WebServerImpl: Started Jetty server.

启动后,在浏览器中输入: 主机 或者 IP:7180 ,会看到如下界面: 


7. CDH 安装配置

  

Cloudera Enterprise,也就是所谓的企业版有如下Express版本不具有的特性:

  • 支持LDAP(Lightweight Directory Access Protocol,轻量级目录访问协议)和SAML(Security Assertion Markup Language,安全声明标记语言)身份认证。Cloudera Manager可以依赖内部数据库进行身份认证,企业版还支持通过LDAP和SAML等外部服务进行身份认证。
  • 浏览和还原配置历史。无论何时,当你改变并保存了一系列关于服务、角色或主机的配置信息,Cloudera Manager都会自动保存前一个版本的配置和更改配置的用户名。这样就可以浏览以前的配置,并且在需要时可以回滚到以前的配置状态。
  • 支持SNMP traps报警和用户定制的报警脚本。当预制定阈值越界等情况出现时,可以在任何时候向SNMP管理器报告错误情况,而不用等待SNMP管理器的再次轮询。
  • 备份与崩溃恢复。Cloudera Manager企业版提供了一套集成的、易用的、Hadoop平台上的数据保护解决方案。Cloudera Manager允许跨数据中心的数据复制,包括HDFS里的数据、Hive表中的数据、Hive元数据、Impala元数据等。即使遇到一个数据中心都当掉的情况,仍然可以保证这些关键数据是可用的。
  • 能够建立操作报告。在企业版Cloudera Manager的报告页面,可以建立HDFS的使用报告,包括每个用户、组或者目录的文件数及数据大小等信息,还可以报告MapReduce的操作情况。
  • 支持Cloudera导航。Cloudera导航是一个与Hadoop平台完全集成的数据管理和安全系统,包括数据的审计、可视化、加密、搜索、分析等数据管理功能。
  • 只有企业版支持Rolling Restart、History and Rollback和Send Diagnostic Data操作命令。
  • 提供集群使用报告。企业版Cloudera Manager的集群使用报告页面显示汇总的YARN和Impala作业使用信息。报告还显示CPU、内存的使用情况,基于YARN fair调度器的资源分配情况,Impala查询等,可以配置报告的时间范围

    

   第一个问题解决方法(所有主机都要执行): 先执行(临时修改):

sysctl vm.swappiness=10
cat /proc/sys/vm/swappiness

再执行(永久修改):

echo 'vm.swappiness=10'>> /f

第二个问题解决方法(所有主机都要执行):

echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.local
echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.local

都执行完成后,点击重新运行        


8. Hive On Spark 配置

Hive on Spark 参数调优_Java_Road_Far的博客-CSDN博客_hive on spark参数调优


关于上述所有步骤,也可以参照如下链接进行安装:CDH6.2离线安装(整理版) - 牧梦者 - 博客园

其中数据库的安装建议按照官网安装

官网安装地址为Storage Space Planning for Cloudera Manager | 6.1.x | Cloudera Documentation

软硬件环境要求: 各节点:内存推荐16GB及以上,硬盘推荐200GB及以上,网络通畅

8.1 关闭Spark动态分配资源参数

spark和hive中, 把勾挑了:

abled

9. NameNode HA

      等待大概十分钟,NameNode HA 配置完成


10. 修改默认参数配置

Spark的参数修改

将安装包中的: spark-ext 拷贝(每台节点都要拷贝)到每台服务器的: /usr/lib目录下,并且搜索如下参数添加配置:

spark-conf/spark-env.sh 的 Spark 服务高级配置代码段(安全阀)

spark-conf/spark-env.sh 的 Spark 客户端高级配置代码段(安全阀)

spark-conf/spark-env.sh 的 History Server 高级配置代码段(安全阀)  


11. Phoenix 安装(所有的节点都要执行)

将 安装包中的 apache-phoenix-5.0.0-HBase-2. 拷贝到 /root 目录下,解压,将名字换成 phoenix

将 /root/phoenix 下的 phoenix-core-5.0.0-HBase-2.0.jar 拷贝(不是移动)到 /opt/cloudera/parcels/CDH-6.2.1-1.cdh6.2.1.p0.1425774/lib/hbase/lib/ 目录下 将 /usr/lib/spark-ext/lib 下的 htrace-core-3.1.0-incubating.jar 拷贝(不是移动)到 /opt/cloudera/parcels/CDH-6.2.1-1.cdh6.2.1.p0.1425774/lib/hbase/lib/ 目录下

[root@bigdata1 ~]# cp /root/phoenix/phoenix-core-5.0.0-HBase-2.0.jar /opt/cloudera/parcels/CDH-6.2.1-1.cdh6.2.1.p0.1425774/lib/hbase/lib/[root@bigdata1 ~]# cp /root/phoenix/phoenix-5.0.0-HBase-2.1-server.jar /opt/cloudera/parcels/CDH-6.2.1-1.cdh6.2.1.p0.1425774/lib/hbase/lib/[root@bigdata1 ~]# cp /usr/lib/spark-ext/lib/htrace-core-3.1.0-incubating.jar /opt/cloudera/parcels/CDH-6.2.1-1.cdh6.2.1.p0.1425774/lib/hbase/lib/

然后修改这两个jar的权限为777

[root@bigdata1 ~]# chmod 777 /opt/cloudera/parcels/CDH-6.2.1-1.cdh6.2.1.p0.1425774/lib/hbase/lib/htrace-core-3.1.0-incubating.jar[root@bigdata1 ~]# chmod 777 /opt/cloudera/parcels/CDH-6.2.1-1.cdh6.2.1.p0.1425774/lib/hbase/lib/phoenix-5.0.0-HBase-2.1-server.jar[root@bigdata1 ~]# chmod 777 /opt/cloudera/parcels/CDH-6.2.1-1.cdh6.2.1.p0.1425774/lib/hbase/lib/phoenix-core-5.0.0-HBase-2.0.jar

打开 CDH 界面,修改 HBase 如下两个参数  

phoenix.schema.isNamespaceMappingEnabled
true
命名空间开启dec
org.apache.ionserver.wal.IndexedWALEditCodec
二级索引

phoenix.schema.isNamespaceMappingEnabled 
true

重启HBase

将 hdfs 和 hbase 相关配置文件拷贝到 phoenix/bin目录下(所有节点都要执行)

[root@bigdata1 ~]# cp /opt/cloudera/parcels/CDH-6.2.1-1.cdh6.2.1.p0.1425774/lib/hbase/l /root/phoenix/bin/
cp: overwrite ‘/root/phoenix/l’? y[root@bigdata1 ~]# cp /opt/cloudera/parcels/CDH-6.2.1-1.cdh6.2.1.p0.1425774/lib/hadoop/etc/l /root/phoenix/bin/[root@bigdata1 ~]# cp /opt/cloudera/parcels/CDH-6.2.1-1.cdh6.2.1.p0.1425774/lib/hadoop/etc/l /root/phoenix/bin/[root@bigdata1 ~]# cp /opt/cloudera/parcels/CDH-6.2.1-1.cdh6.2.1.p0.1425774/lib/hadoop/etc/l /root/phoenix/bin/

连接 Phoenix

[root@bigdata1 phoenix]# bin/sqlline.py 

如果出现如下错误:

Transaction isolation: TRANSACTION_READ_COMMITTED
Building list of tables and columns for tab-completion (set fastconnect to true to skip)...
Error: ERROR 1012 (42M03): Table undefined. tableName=SYSTEM.CATALOG (state=42M03,code=1012)
org.apache.phoenix.schema.TableNotFoundException: ERROR 1012 (42M03): Table undefined. tableName=SYSTEM.CATALOGat org.apache.phoenixpile.ateTableRef(FromCompiler.java:577)at org.apache.phoenixpile.FromCompiler$SingleTableColumnResolver.<init>(FromCompiler.java:391)at org.apache.ResolverForQuery(FromCompiler.java:228)at org.apache.ResolverForQuery(FromCompiler.java:206)at org.apache.phoenix.jdbc.PhoenixStatement$ExecutableSelectStatementpilePlan(PhoenixStatement.java:482)at org.apache.phoenix.jdbc.PhoenixStatement$ExecutableSelectStatementpilePlan(PhoenixStatement.java:456)at org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:302)at org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:291)at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)at org.apache.phoenix.uteQuery(PhoenixStatement.java:290)at org.apache.phoenix.uteQuery(PhoenixStatement.java:283)at org.apache.phoenix.uteQuery(PhoenixStatement.java:1793)at org.apache.phoenix.Columns(PhoenixDatabaseMetaData.java:589)at Columns(SqlLine.java:1103)at ColumnNames(SqlLine.java:1127)at sqlline.SqlCompleter.<init>(SqlCompleter.java:81)at sqlline.DatabaseConnection.setCompletions(DatabaseConnection.java:84)at sqlline.SqlLine.setCompletions(SqlLine.java:1740)at t(Commands.java:1066)at t(Commands.java:996)flect.NativeMethodAccessorImpl.invoke0(Native Method)flect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)flect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at flect.Method.invoke(Method.java:498)at ute(ReflectiveCommandHandler.java:38)at sqlline.SqlLine.dispatch(SqlLine.java:809)at sqlline.SqlLine.initArgs(SqlLine.java:588)at sqlline.SqlLine.begin(SqlLine.java:661)at sqlline.SqlLine.start(SqlLine.java:398)at sqlline.SqlLine.main(SqlLine.java:291)
sqlline version 1.2.0

解决方法如下

[root@bigdata1 phoenix]# hbase shell
Java HotSpot(TM) 64-Bit Server VM warning: Using incremental CMS is deprecated and will likely be removed in a future release
HBase Shell
Use "help" to get list of supported commands.
Use "exit" to quit this interactive shell.
For Reference, please visit: .0/book.html#shell
Took 0.0020 seconds 
hbase(main):001:0> 
hbase(main):001:0> list
TABLE 
SYSTEM:CATALOG 
SYSTEM:FUNCTION 
SYSTEM:LOG 
SYSTEM:MUTEX 
SYSTEM:SEQUENCE 
SYSTEM:STATS 
6 row(s)
Took 0.3353 seconds 
=> ["SYSTEM:CATALOG", "SYSTEM:FUNCTION", "SYSTEM:LOG", "SYSTEM:MUTEX", "SYSTEM:SEQUENCE", "SYSTEM:STATS"]
hbase(main):002:0> disable 'SYSTEM:CATALOG'
Took 0.8518 seconds 
hbase(main):003:0> snapshot 'SYSTEM:CATALOG', 'cata_tableSnapshot'
Took 0.2592 seconds 
hbase(main):004:0> clone_snapshot 'cata_tableSnapshot', 'SYSTEM.CATALOG'
Took 4.2676 seconds 
hbase(main):005:0> drop 'SYSTEM:CATALOG'
Took 0.2438 seconds 
hbase(main):006:0> quit

然后重启HBase,重新连接 Phoenix

[root@bigdata1 phoenix]# bin/sqlline.py 
Setting property: [incremental, false]
Setting property: [isolation, TRANSACTION_READ_COMMITTED]
issuing: !connect jdbc:phoenix: none none org.apache.phoenix.jdbc.PhoenixDriver
Connecting to jdbc:phoenix:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/root/phoenix/phoenix-5.0.0-HBase-2.0-client.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/cloudera/parcels/CDH-6.2.1-1.cdh6.2.1.p0.1425774/jars/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See .html#multiple_bindings for an explanation.
Connected to: Phoenix (version 5.0)
Driver: PhoenixEmbeddedDriver (version 5.0)
Autocommit status: true
Transaction isolation: TRANSACTION_READ_COMMITTED
Building list of tables and columns for tab-completion (set fastconnect to true to skip)...
133/133 (100%) Done
Done
sqlline version 1.2.0
0: jdbc:phoenix:>

11.1 显示所有表

0: jdbc:phoenix:> !tables
+------------+--------------+-------------+---------------+----------+------------+----------------------------+-----------------+--------------+--+
| TABLE_CAT | TABLE_SCHEM | TABLE_NAME | TABLE_TYPE | REMARKS | TYPE_NAME | SELF_REFERENCING_COL_NAME | REF_GENERATION | INDEX_STATE | |
+------------+--------------+-------------+---------------+----------+------------+----------------------------+-----------------+--------------+--+
| | SYSTEM | CATALOG | SYSTEM TABLE | | | | | | |
| | SYSTEM | FUNCTION | SYSTEM TABLE | | | | | | |
| | SYSTEM | LOG | SYSTEM TABLE | | | | | | |
| | SYSTEM | SEQUENCE | SYSTEM TABLE | | | | | | |
| | SYSTEM | STATS | SYSTEM TABLE | | | | | | |
+------------+--------------+-------------+---------------+----------+------------+----------------------------+-----------------+--------------+--+
0: jdbc:phoenix:>

11.2 创建表

CREATE TABLE IF NOT EXISTS us_population (
state CHAR(2) NOT NULL,
city VARCHAR NOT NULL,
population BIGINT
CONSTRAINT my_pk PRIMARY KEY (state, city));

11.3 查询所有表

0: jdbc:phoenix:> !tables
+------------+--------------+----------------+---------------+----------+------------+----------------------------+-----------------+--------------+
| TABLE_CAT | TABLE_SCHEM | TABLE_NAME | TABLE_TYPE | REMARKS | TYPE_NAME | SELF_REFERENCING_COL_NAME | REF_GENERATION | INDEX_STATE |
+------------+--------------+----------------+---------------+----------+------------+----------------------------+-----------------+--------------+
| | SYSTEM | CATALOG | SYSTEM TABLE | | | | | |
| | SYSTEM | FUNCTION | SYSTEM TABLE | | | | | |
| | SYSTEM | LOG | SYSTEM TABLE | | | | | |
| | SYSTEM | SEQUENCE | SYSTEM TABLE | | | | | |
| | SYSTEM | STATS | SYSTEM TABLE | | | | | |
| | | US_POPULATION | TABLE | | | | | |
+------------+--------------+----------------+---------------+----------+------------+----------------------------+-----------------+--------------+
0: jdbc:phoenix:>

11.4 新增记录

upsert into us_population values('NY','NewYork',8143197);
upsert into us_population values('CA','Los Angeles',3844829);
upsert into us_population values('IL','Chicago',2842518);

11.5 查询表

0: jdbc:phoenix:> select * from US_POPULATION;
+--------+--------------+-------------+
| STATE | CITY | POPULATION |
+--------+--------------+-------------+
| CA | Los Angeles | 3844829 |
| IL | Chicago | 2842518 |
| NY | NewYork | 8143197 |
+--------+--------------+-------------+
3 rows selected (0.043 seconds)

11.6 删除表

0: jdbc:phoenix:> drop table us_population;

11.7 退出

0: jdbc:phoenix:> !quit

12. hive测试

登陆hue: 下面两个连接随便选一个都可以  首次登陆,用户名: root 密码: root

一定要记住第一次登陆设置的,用上面写的就可以了,登陆进去后,按下图新增hdfs 用户

Hdfs:admin admin

 然后注销 admin 用户,登陆hdfs 用户

依次执行下面的sql

create table myrs(name string, age int);insert into myrs values("huayang", 20);select * from myrs;


13. kafka测试

13.1 创建分区

选择kafka安装的一台服务器,执行如下命令,会看到一堆日志

[root@bigdata1 ~]# kafka-topics --zookeeper scdh01:2181 --create --replication-factor 3 --partitions 1 --topic myrs_test

13.2 生产者往 上面创建的 topic 发送消息

[root@bigdata1 ~]# kafka-console-producer --broker-list scdh01:9092 --topic myrs_consumer

13.3 消费者消费 topic 消息

[root@bigdata3 ~]# kafka-console-consumer -bootstrap-server scdh01:9092 --from-beginning --topic myrs_consumer

此时生产者发送,看消费者消费到没有  


14. CDH 邮件配置

停掉 zookeeper 的两个节点

15. Flink集群安装

15.1 下载

为了运行Flink,只需提前安装好 Java 8 或者 Java 11。你可以通过以下命令来检查 Java 是否已经安装正确。

java -version

下载到scdh01:/opt/software并解压

(国内源: .13.3/flink-1.13.3-bin-scala_)

jar包下载:.apache.flink/flink-streaming-java_2.12/1.13.5

$ tar -xzf flink-1.12.5-bin-scala_  -C /usr/app
$ cd /usr/app/flink-1.12.5

15.2 修改配置

在解压完文件后,需要编辑 conf/flink-conf.yaml 文件来为集群配置 Flink

设置 jobmanager.rpc.address 配置项指向 master 节点。也应该通过设置  和  配置项来定义 Flink 允许在每个节点上分配的最大内存值。

这些值的单位是 MB。如果一些 worker 节点上有你想分配到 Flink 系统的多余内存,你可以在这些特定节点的 conf/flink-conf.yaml 文件中重写  或  的默认值。

最后,你必须提供集群上会被用作为 worker 节点的所有节点列表,也就是运行 TaskManager 的节点。编辑文件 conf/workers 并输入每个 worker 节点的 IP 或主机名

  1. 修改 /usr/app/flink-1.12.5/conf/flink-conf.yaml

    1. jobmanager.rpc.address: scdh01
  2. 修改 /usr/app/flink-1.12.5/conf/workers

    scdh02
    scdh03

特别注意:

  • 每个 JobManager 的可用内存值(),
  • 每个 TaskManager 的可用内存值 (,并检查 内存调优指南),
  • 每台机器的可用 CPU 数(taskmanager.numberOfTaskSlots),
  • 集群中所有 CPU 数(parallelism.default)和
  • 临时目录(

15.3 高可用配置

state.backend: filesystem
state.checkpoints.dir: hdfs://scdh02:9000/flink-checkpoints
state.savepoints.dir: hdfs://scdh02:9000/flink-savepointshigh-availability: zookeeper
high-availability.storageDir: hdfs://scdh02:9000/flink/ha/
keeper.quorum: scdh01:2181,scdh02:2181,scdh03:2181

15.4 启动集群

Flink 附带了一个 bash 脚本,可以用于启动本地集群。

$ ./bin/start-cluster.sh
Starting cluster.
Starting standalonesession daemon on host.
Starting taskexecutor daemon on host.

15.5 提交作业(Job)

Flink 的 Releases 附带了许多的示例作业。你可以任意选择一个,快速部署到已运行的集群上。

$ ./bin/flink run examples/streaming/WordCount.jar

另外,你可以通过 Flink 的 Web UI 来监视集群的状态和正在运行的作业。

15.6 停止集群

可以快速停止集群和所有正在运行的组件

$ ./bin/stop-cluster.sh

16 问题处理

Q:节点服务器检测报错

错误内容

 安装失败。 无法接收 Agent 发出的检测信号。
● 请确保主机的名称已正确配置。
● 请确保端口 7182 可在 Cloudera Manager Server 上访问(检查防火墙规则)。
● 请确保正在添加的主机上的端口 9000 和 9001 空闲。
● 检查正在添加的主机上 /var/log/cloudera-scm-agent/ 中的代理日志(某些日志可在安装详细信息中找到)。
● 如果在 Cloudera Manager 中启用为代理使用 TLS 加密(管理 -> 设置 -> 安全),请确保 /etc/cloudera-scm-agent/config.ini 在正在添加的主机上有 use_tls=1。重启相应的代理,并单击此处的重试链接。

解决:

重装CM后启动正常(卸载后清除scm数据库中hosts表数据)

Q:安装Parcel提示主机运行状况不良

解决:

删除agent目录下面的cm_guid文件,并重启失败节点的agent服务恢复。

[root@scdh01]# cd /var/lib/cloudera-scm-agent/       
[root@scdh01]# rm -rf cm_guid 
[root@scdh01]# service cloudera-scm-agent restart

Q:mysql升级mariadb报错

错误内容

解决:

重装mariadb(务必卸载干净)

[root@scdh01 ~]# rpm -qa | grep mariadb
[root@scdh01 ~]# yum -y remove mari*

Q:数据库配置连接数据库失败

解决:

设置root可以远程登录

MariaDB [(none)]> grant all privileges on *.* to root@'%' identified by 'root' with grant option;
MariaDB [(none)]> flush privileges;

Q:cdh重装后kafka启动失败

解决:

查看kafka broker id 与配置文件可能不同

登录并修改各个服务器broker id与配置一致

[root@scdh03 ~]# cd /var/local/kafka/data/
[root@scdh03 data]# cp meta.properties meta.properties.bak
[root@scdh03 data]# vi meta.properties

Q:flink集群关闭失败

  • 问题描述

    Flink运行一段时间后,通过命令:bin/stop-cluster.sh
    无法正常关闭,提示:No taskexecutor daemon to stop on host xxx.
    No standalonesession daemon to stop on host xxx
  • 原因分析

     flink启动是会把启动的进程的ID存到一个文件中,由于配置不修改的话文件默认是保存到系统的/tmp目录下,由于是临时目录,会被系统清理,所以存放的ID就找不到了,也就没法关闭集群了
  • 解决方案

    修改FLINK_HOME/bin/目录的config.sh文件,将DEFAULT_ENV_PID_DIR="/tmp"改为:DEFAULT_ENV_PID_DIR的位置修改到一个合适的位置

本文发布于:2024-02-05 04:13:26,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170723857662960.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:集群   文档   CDH
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23