赞
踩
1.准备工作
1.linux环境
dataSophon1.1.2
linux系统版本openEuler 22.03
mysql8.0以上
2.大数据组件安装
1.遇到的问题
1.1.1.Alertmanager点击配置不显示,报异常
在sql里面添加字段
ALTER TABLE t_ddh_cluster_service_instance_role_group ADD need_restart INT(2);
解决后
正常启动成功后,会有绿的的小原点。
如果没有,需要你把mysql的数据库datasophon删除掉,在重新执行创建sql脚本,然后在重新安装下集群就可以。
执行datasophon-manager目录下conf/db里面的sql文件,创建数据表。官网没写
source /opt/datasophon/DDP/packages/datasophon-manager-1.1.2/conf/db/migration/1.1.0/V1.1.0_0__DDL_datasophon.sql
source /opt/datasophon/DDP/packages/datasophon-manager-1.1.2/conf/db/migration/1.1.0/V1.1.0_1__DML_datasophon.sql
添加字段
ALTER TABLE t_ddh_cluster_service_instance_role_group ADD need_restart INT(2);
2.Zookeeper安装
1.1.1.点击【添加服务】,选择ZooKeeper。
1.1.2.选择zookeeper
1.1.3.分配ZooKeeper master服务角色部署节点,zk需部3台以上
1.1.4.下一步
选择zookeeper配置,根据自己需要
这里我修改了数据和日志存储的路径
/data/zookeeper/dataDir
/data/zookeeper/log
1.1.5.点击【下一步】,进行zk服务安装。
1.1.6.安装成功后即可查看Zookeeper服务总览页面。
1.1.7.Jps查看服务
3.添加HDFS
1.1.1.添加HDFS服务
1.1.2.部署HDFS,其中JournalNode需部署三台,NameNode部署两台,ZKFC和NameNode部署在相同机器上。如下图:
1.1.3.点击【下一步】,选择DataNode部署节点。
1.1.4.根据实际情况修改配置,例如修改DataNode数据存储目录。
我把日志和文件的目录修改了下
/data/hadoop/tmp/hadoop
/data/hadoop/dfs/snn
/data/hadoop/dfs/dn
/data/hadoop/dfs/jn
1.1.5.修改mapred-site.xml
mapreduce.framework.name yarn点击【下一步】,开始安装Hdfs。
安装成功后,即可查看HDFS服务总览页面。
1.1.6.报错找不到datanode
如果jps进程发现dataNode没有
去往hdfs实例里面,看看是不是zkfc是不是有两个,如果有一个就hdfs添加实例,就好了
1.1.7.Jps
JournalNode:为了使Standby节点保持其状态与Active 节点同步,两个节点都与一组称为"JournalNodes"(JN)的单独守护进程进行通信。
DFSZKFailoverController:当一个NameNode被成功切换为Active状态时,它会在ZK内部创建一个临时的znode,在znode中将会保留当前Active NameNode的一些信息,比如主机名等等。当Active NameNode出现失败或连接超时的情况下,监控程序会将ZK上对应的临时znode进行删除,znode的删除事件会主动触发到下一次的Active NamNode的选择。
因为ZK是具有高度一致性的,它能保证当前最多只能有一个节点能够成功创建znode,成为当前的Active Name。这也就是为什么社区会利用ZK来做HDFS HA的自动切换的原因。
4.添加YARN
1.1.1.部署YARN,其中ResourceManager需部署两台作高可用。
1.1.2.点击【下一步】,选择NodeManager部署节点。
1.1.3.根据实际情况修改配置。
1.1.4.修改mapred-site.xml
mapreduce.framework.name yarn点击【下一步】,开始安装YARN。
1.1.5.验证:ip:8088 ip:9000
需要配置host映射
http://192.168.0.101:8088/cluster
Hdfs的地址
http://192.168.0.101:1025/datanode.html
1.1.6.Jps
5.添加hive
1.1.1.在数据库中创建Hive数据库。
CREATE DATABASE IF NOT EXISTS hive DEFAULT CHARACTER SET utf8;
1.1.2.设置密码hive hive
create user ‘hive’@‘%’ identified by ‘hive’;
grant system_user on . to ‘root’;
官网的命令,所有权限给hive并且设置密码hive如果是mysql8.0以上会报错
grant all privileges on . to hive@“%” identified by ‘hive’ with grant option;
1.1.3.使用命令,将所有权限授予用户 “hive”,允许从任何主机连接。
grant all privileges on hive.* to ‘hive’@‘%’ with grant option;
1.1.4.
刷新
FLUSH PRIVILEGES;
1.1.5.测试
mysql -uhive -phive
安装HiveServer2时会执行sql创建Hive的表,在个别情况下会因mysql配置导致sql执行失败,可根据实际失败原因修改mysql配置。
如果是mysql8.0+修改
jdbc:mysql://bigdata01:3306/hive?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
1.1.6.添加hive
jdbc:mysql:bigdata01:3306/datasophon?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
1.1.7.报错 hive只能查,不能写数据,创建库等。
hdfs dfs -chmod -R 777 /user
1.1.8.完成
每次重启机器的时候要手动连接下hive,不然hive进不去
mysql -uhive -phive
3.添加kafka
1.1.1.Kafkabroker
1.1.2.分配work
1.1.3.服务配置,这里我修改了副本数为1
1.1.4.完成jps
1.1.5.查看kafka的主题
kafka-topics.sh --zookeeper bigdata01,bigdata02,bigdata03:2181/kafka --list
1.1.6.创建topic
kafka-topics.sh --zookeeper bigdata01,bigdata02,bigdata03:2181/kafka --create --topic demo --partitions 3 --replication-factor 1
1.1.7.producer发送消息
kafka-console-producer.sh -broker-list bigdata01:9092 --topic demo1
1.1.8.创建consumer并消费消息
kafka-console-producer.sh -broker-list bigdata01:9092 --topic demo1
1.1.9.删除topic里面的数据
kafka-topics.sh --zookeeper bigdata01:2181/kafka -delete --topic demo
4.添加spark
进程没有master和work,这个是基于yarn的spark
5.添加flink
和spark同上
6.添加DolphinScheduler
1.1.1.创建数据库
CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
1.1.2.创建用户名和密码
create user ‘dolphinscheduler’@‘%’ identified by ‘dolphinscheduler’;
官网的语法不适合mysql8.0
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO ‘dolphinscheduler’@‘%’ IDENTIFIED BY ‘dolphinscheduler’;
1.1.3.让dolphinscheduler有权限赋予别的用户
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO ‘dolphinscheduler’@‘%’ WITH GRANT OPTION;
1.1.4.刷新
flush privileges;
1.1.5.报错 You are not allowed to create a user with GRANT
8.0之后的mysql不支持 授权的时候就进行用户创建,所以创建 之后才能授权;
1.1.6.执行SQL脚本
/opt/datasophon/DDP/packages目录下dolphinscheduler_mysql.sql创建dolphinscheduler数据库表。
use dolphinscheduler;
source /opt/datasophon/DDP/packages/dolphinscheduler_mysql.sql
1.1.7.添加DolphinScheduler
1.1.8.根据实际情况,修改DolphinScheduler配置。
Msyql8.0需要添加allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
jdbc:mysql://bigdata01:3306/dolphinscheduler?allowPublicKeyRetrieval=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
1.1.9.测试打开网页
192.168.0.102:12345/dolphinscheduler/ui/login
密码
admin
Dolphinscheduler123
http://192.168.0.102:12345/dolphinscheduler/ui/login
7.安装spoop
1.1.1.解压安装包
tar -zxvf /home/hadoop/apk/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /home/hadoop/distributed/
mv /home/hadoop/distributed/sqoop-1.4.7.bin__hadoop-2.6.0/ /home/hadoop/distributed/sqoop-1.4.7
1.1.2.配置sqoop-env.sh
mv /home/hadoop/distributed/sqoop-1.4.7/conf/sqoop-env-template.sh /home/hadoop/distributed/sqoop-1.4.7/conf/sqoop-env.sh
vim /home/hadoop/distributed/sqoop-1.4.7/conf/sqoop-env.sh
export HADOOP_COMMON_HOME=/home/hadoop/distributed/hadoop-3.2.1
export HADOOP_MAPRED_HOME=/home/hadoop/distributed/hadoop-3.2.1
export HIVE_HOME=/home/hadoop/distributed/apache-hive-3.1.2-bi
export ZOOKEEPER_HOME=/home/hadoop/distributed/zookeeper-3.5.8-bin
export ZOOCFGDIR=/home/hadoop/distributed/zookeeper-3.5.8-bin
1.1.3.拷贝jdbc驱动到sqoop的lib目录下
cp /home/hadoop/apk/mysql-connector-java-8.0.11.jar /home/hadoop/distributed/sqoop-1.4.7/lib/
cp /home/hadoop/apk/commons-lang-2.6.jar /home/hadoop/distributed/sqoop-1.4.7/lib/
1.1.4.测试,连接mysql展示数据库
sqoop list-databases --connect jdbc:mysql://hadoop01:3306/mysql?useSSL=false --username root --password 123456
1.1.5.Sqoop导入数据权限不足,导入hive失败
需要给hdfs赋权
hdfs dfs -chmod -R 755 /
export HADOOP_USER_NAME=hdfs
导入hive的hive-site文件,还有一些jar包
报错
Permission denied: user=root, access=WRITE, inode=“/user”:hdfs:supergroup:drwx
这是因为root用户没有相应权限导致的
解决方法有以下几种
1.第一种解决方案
在hdfs上/user目录下创建root目录,需要在HDFS上有一个用户主目录
su hdfs
$ hdfs dfs -mkdir /user/root
$ hdfs dfs -chown root:root /user/root
如果已经有了/user/root ,查看下文件的权限
登录后复制
改为root所有:
$ hdfs dfs -chown root:root /user/root
.第二种解决方案
第一步:su hdfs,进入hdfs用户。
第二步:hadoop fs -ls /,看看user的权限。
$ hadoop fs -ls /
Found 3 items
drwxr-xr-x - hbase hbase 0 2019-11-21 12:04 /hbase
drwxrwxrwt - hdfs supergroup 0 2019-11-15 19:38 /tmp
drwxr-xr-x - hdfs supergroup 0 2019-11-21 19:25 /user
第三步:修改权限
登录后复制
$ hadoop fs -chmod 777 /user
hadoop给root用户 hadoop root权限
https://blog.51cto.com/u_14691/6444393
第三种解决方案
在执行命令前执行以下命令
export HADOOP_USER_NAME=hdfs
.第四种解决方案
使用hdfs用户执行命令
登录后复制
sudo -u hdfs hadoop fs -mkdir /xxx
6.感谢社区伙伴的帮助
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。