文档编号 | 版本号 | V1.0 | |
---|---|---|---|
名称 | 实时大数据平台安装文档 | ||
总页数 | 正文 | ||
编写日期 | 审批 |
该手册旨在记录部署大数据CDH集群的流程,为后续作业提供参考,提高利用CM部署集群的效率和减少出现问题的可能性,帮助现场部署人员更好,更快地完成部署任务。
该手册要求,现场部署环境已经安装好操作系统,建议centos7.4,且网络已经配置完毕,磁盘空间达到TB级别
Cloudera Manager(CM):Cloudera公司的Hadoop系统组件的安装管理工具 CDH:Cloudera's Distribution Hadoop,是Cloudera公司发布的Hadoop版本
ip | hosts | 节点 |
---|---|---|
10.106.**.** | scdh01 | 主机 |
10.106.**.** | scdh02 | 从机 |
10.106.**.** | scdh03 | 从机 |
(ps: 所有节点执行)
在台机器上输入: vim /etc/hosts
(省略)
修改本机显示hostname
vi /etc/sysconfig/network
HOSTNAME=scdh01
(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
(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/
(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
(ps: 所有节点执行)
ssh-keygen -t rsa # 直接回车ssh-copy-id scdh01 # 输入 yes, 输入密码
ssh-copy-id scdh02 # 输入 yes, 输入密码
ssh-copy-id scdh03 # 输入 yes, 输入密码
(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)
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
手动同步时间
yum -y install httpd
systemctl start httpd 或service httpd start
[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
输入密码.
[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.
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'MariaDB 密码' WITH GRANT OPTION;mysql> FLUSH PRIVILEGES;mysql> exit;
下载地址: /
将 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
(ps: 主节点执行)
开启 http 服务
创建目录, 并上传本地下载好的 cdh 安装包 到指定文件夹
[root@scdh01 ~]# mkdir -p /var/www/html/cloudera-repos
上传安装包进来
制作本地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
主节点执行:
[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
所有节点都要执行
[root@pos.d]# vim /etc/cloudera-scm-agent/config.iniserver_host=scdh01 # 改成主节点的ip或hosts
[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;
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm root root
启动主节点的 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 ,会看到如下界面:
Cloudera Enterprise,也就是所谓的企业版有如下Express版本不具有的特性:
第一个问题解决方法(所有主机都要执行): 先执行(临时修改):
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
都执行完成后,点击重新运行
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及以上,网络通畅
spark和hive中, 把勾挑了:
abled
等待大概十分钟,NameNode HA 配置完成
Spark的参数修改
将安装包中的: spark-ext
拷贝(每台节点都要拷贝)到每台服务器的: /usr/lib
目录下,并且搜索如下参数添加配置:
spark-conf/spark-env.sh 的 Spark 服务高级配置代码段(安全阀)
spark-conf/spark-env.sh 的 Spark 客户端高级配置代码段(安全阀)
spark-conf/spark-env.sh 的 History Server 高级配置代码段(安全阀)
将 安装包中的 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:>
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:>
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));
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:>
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);
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)
0: jdbc:phoenix:> drop table us_population;
0: jdbc:phoenix:> !quit
登陆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;
选择kafka安装的一台服务器,执行如下命令,会看到一堆日志
[root@bigdata1 ~]# kafka-topics --zookeeper scdh01:2181 --create --replication-factor 3 --partitions 1 --topic myrs_test
[root@bigdata1 ~]# kafka-console-producer --broker-list scdh01:9092 --topic myrs_consumer
[root@bigdata3 ~]# kafka-console-consumer -bootstrap-server scdh01:9092 --from-beginning --topic myrs_consumer
此时生产者发送,看消费者消费到没有
停掉 zookeeper 的两个节点
为了运行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
在解压完文件后,需要编辑 conf/flink-conf.yaml 文件来为集群配置 Flink
设置 jobmanager.rpc.address
配置项指向 master 节点。也应该通过设置
这些值的单位是 MB。如果一些 worker 节点上有你想分配到 Flink 系统的多余内存,你可以在这些特定节点的 conf/flink-conf.yaml 文件中重写
最后,你必须提供集群上会被用作为 worker 节点的所有节点列表,也就是运行 TaskManager 的节点。编辑文件 conf/workers 并输入每个 worker 节点的 IP 或主机名
修改 /usr/app/flink-1.12.5/conf/flink-conf.yaml
jobmanager.rpc.address: scdh01
修改 /usr/app/flink-1.12.5/conf/workers
scdh02
scdh03
特别注意:
taskmanager.numberOfTaskSlots
),parallelism.default
)和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
Flink 附带了一个 bash 脚本,可以用于启动本地集群。
$ ./bin/start-cluster.sh
Starting cluster.
Starting standalonesession daemon on host.
Starting taskexecutor daemon on host.
Flink 的 Releases 附带了许多的示例作业。你可以任意选择一个,快速部署到已运行的集群上。
$ ./bin/flink run examples/streaming/WordCount.jar
另外,你可以通过 Flink 的 Web UI 来监视集群的状态和正在运行的作业。
可以快速停止集群和所有正在运行的组件
$ ./bin/stop-cluster.sh
错误内容
安装失败。 无法接收 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表数据)
解决:
删除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
错误内容
解决:
重装mariadb(务必卸载干净)
[root@scdh01 ~]# rpm -qa | grep mariadb
[root@scdh01 ~]# yum -y remove mari*
解决:
设置root可以远程登录
MariaDB [(none)]> grant all privileges on *.* to root@'%' identified by 'root' with grant option;
MariaDB [(none)]> flush privileges;
解决:
查看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
问题描述
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小时内删除。
留言与评论(共有 0 条评论) |