分享知识,分享快乐

0%

CDH Disk Balancer 磁盘数据均衡

1.设置dfs.disk.balancer.enabled 为true , 可以单个datanode设置,重启单个datanode生效。

1
2
3
4
<property>
<name>dfs.disk.balancer.enabled</name>
<value>true</value>
</property>
image-20210429175922996

1.创建均衡任务并生成计划任务配置文件

sudo -u hdfs hdfs diskbalancer -plan cdh85-73

1
2
3
4
5
6
7
8
[root@cdh85-73 tmp]# sudo -u hdfs hdfs diskbalancer -plan cdh85-73
21/04/29 17:02:45 INFO planner.GreedyPlanner: Starting plan for Node : cdh85-73:9867
21/04/29 17:02:45 INFO planner.GreedyPlanner: Disk Volume set f4da1504-1dfc-42d0-ac61-020dd7b02620 Type : DISK plan completed.
21/04/29 17:02:45 INFO planner.GreedyPlanner: Compute Plan for Node : cdh85-73:9867 took 7 ms
21/04/29 17:02:46 INFO command.Command: Writing plan to:
21/04/29 17:02:46 INFO command.Command: /system/diskbalancer/2021-Apr-29-17-02-45/cdh85-73.plan.json
Writing plan to:
/system/diskbalancer/2021-Apr-29-17-02-45/cdh85-73.plan.json

注意: 这个路径是HDFS的路径,不是本地路径

2.查看配置文件

1
2
3
4
[root@cdh85-73 tmp]# hdfs dfs -ls  /system/diskbalancer/2021-Apr-29-16-45-51
Found 2 items
-rw-r--r-- 3 hdfs supergroup 192586 2021-04-29 16:45 /system/diskbalancer/2021-Apr-29-16-45-51/cdh85-73.before.json
-rw-r--r-- 3 hdfs supergroup 4546 2021-04-29 16:45 /system/diskbalancer/2021-Apr-29-16-45-51/cdh85-73.plan.json
阅读全文 »

用家里的老电脑做一个测试 ,p了一块k32的盘

矿池的具体接入教程描述得非常浅显易懂了,这里我就不做重复搬运了,直接参考 Chia挖矿教程

linux P盘

1
nohup /opt/chia-plotter/chia-plotter-linux-amd64 -action plotting -plotting-fpk 0x85f80829a93d960313a99ca5482703fea2caae1d07db589344e76eba135db14c8f70d08dadc991805ae917d61626fd8d -plotting-ppk 0x970214947045bd1c6fbb0b3b3499dafab837eb26b58356504aea4d8ee19e9c5c064a5dfdad0cb5f7f047e0030f088a65 -plotting-n 1 -b 8000 -t /data1/chia -d /opt/chia  >> plots2.log 2>&1 &

晒一下收益效果:

image-20210427101445602

相关资料:

谋杀SSD磁盘

https://www.expreview.com/78802.html

生成一个K=32文件大概需要6.5小时,生成三个K33两个K32文件总共占了829GB的硬盘空间,而HDD的写入量是840.1GB,但SSD的读写非常厉害,整个P盘过程,SSD读取11.8TB,写入12.06TB,因为SSD的写入次数是有限的,把这个6TB的红盘P满虽然不至于把SSD写死,但磨损也很厉害。

阅读全文 »

hadoop decommission 卡住

hadoop decommission一个节点Datanode,几万个block都同步过去了,但是唯独剩下2个block一直停留在哪,导致该节点几个小时也无法 下线。hadoop UI中显示在Under Replicated Blocks里面有2个块始终无法消除.

是一个hadoop的bug,https://issues.apache.org/jira/browse/HDFS-5579

根据blockid 查找文件

1
hdfs fsck -blockId blk_2050561344
阅读全文 »

hdfs 如何实现退役节点快速下线(也就是退役节点上的数据块快速迁移)

参考 https://www.cnblogs.com/jiangxiaoxian/p/9665588.html

进度可在HDFS的50070可视化界面的Decommissioning处查看**

Under replicated blocks : 有备份的blocks

Blocks with no live replicas : 没有存活备份的blocks(存备份的datanode下线了)

Under Replicated Blocks In files under construction : 备份数不够的blocks

可调整集群参数,对退服进行调优,注意,更改参数需要重启服务。需要修改的参数如下:

组件 实例 参数类别 参数名称 默认值 修改值 参数含义 调整场景 是否可以默认值调整
HDFS NameNode balance/退服性能参数 dfs.datanode.balance.bandwidthPerSec 20971520 209715200 【说明】每个DataNode可用于负载均衡的最大带宽量(每秒的字节数)。 balance-性能调优 不建议调整默认值
HDFS DataNode balance/退服性能参数 dfs.datanode.balance.max.concurrent.moves 5 30 允许在DataNode上进行负载均衡的最大线程数。 有必要调整
HDFS NameNode balance/退服性能参数 dfs.namenode.replication.max-streams 10 64 DataNode上复制线程的最大数。 C70默认值已调整为64,有必要继续调整
HDFS NameNode balance/退服性能参数 dfs.namenode.replication.max-streams-hard-limit 20 500 对DataNode上复制线程数的硬限制。 C70默认值已调整为128,有必要继续调整
HDFS NameNode balance/退服性能参数 dfs.namenode.replication.work.multiplier.per.iteration 10 500 高级属性。修改时需谨慎。该参数表示NameNode通过DataNode心跳发送这样一个命令列表时DataNode上并行开始的用于复制的块传输的总量。
HDFS NameNode 运行-性能调优 dfs.namenode.handler.count 64 192 NameNode处理线程数 大集群,性能调优 可以调整/更耗内存
HDFS DataNode 运行-性能调优 dfs.datanode.handler.count 8 24 DataNode处理线程数 大集群,性能调优 可以调整/更耗内存
HDFS NameNode 运行-性能调优 ipc.server.read.threadpool.size 1 10 NameNode处理请求线程池大小 大集群,性能调优 可以调整/更耗内存
阅读全文 »

1.现状

目前网上出现大量的主机输入输出错误,原因是由于主机文件系统损坏。一线人员大部分采用的是umont 和 mount的方式恢复,这种恢复方式不能真正修复已经损坏的文件系统,在后续使用过程中,仍然会再次出现主机端输入输出错误。

2.需要修复的场景

<1>.主机侧发现存在文件系统不可读写的情况,也可以通过查看主机端日志来确认是否有文件系统异常发生: xfs_force_shutdown 、I/O error 
<2>.出现异常停电,供电恢复正常,主机和阵列系统重起之后
<3>.存储介质故障:出现LUN失效、RAID失效、以及IO超时或者出现慢盘,对慢盘进行更换,系统恢复正常之后
<4>.传输介质故障:如光纤、网线等损坏等,数据传输链路断开后又恢复正常之后

3.检查文件系统

注:检查文件系统必须保证将文件系统umount成功。
在根目录下输入“xfs_check /dev/sdd(盘符);echo $?”(注意:在执行 此命令之前,必须将文件系统umount,否则会出现警告信 “xfs_check: /dev/sdd contains a mounted and writable filesystem ”)敲回车键,查看命令执行返回值:0表示正常,其他为不正常,说明文件系统 损坏,需要修复。

4.修复过程

注:修复时需要暂停主机侧的业务,umount 和 mount 无法修复文件系统 。

  1. 先umount要修复的文件系统的分区
  2. 然后输入 “xfs_repair /dev/sdd(盘符)”执行修复命令。
    xfs_check /dev/sdd; echo $?
    A)如果为0===》成功修复。
    B) 如果不为0===》没有成功:请执行 xfs_repair –L /dev/sdd 命令,再执 行xfs_repair(反复多修复几次)

5.xfs常用命令

阅读全文 »

官网部署文档

https://dolphinscheduler.apache.org/zh-cn/docs/latest/user_doc/cluster-deployment.html

1、基础软件安装(必装项请自行安装)

  • PostgreSQL (8.2.15+) or MySQL (5.7系列) : 两者任选其一即可, 如MySQL则需要JDBC Driver 5.1.47+
  • JDK (1.8+) : 必装,请安装好后在/etc/profile下配置 JAVA_HOME 及 PATH 变量
  • ZooKeeper (3.4.6+) :必装
  • Hadoop (2.6+) or MinIO :选装,如果需要用到资源上传功能,可以选择上传到Hadoop or MinIO上
1
注意:DolphinScheduler本身不依赖Hadoop、Hive、Spark,仅是会调用他们的Client,用于对应任务的提交。

2、下载二进制tar.gz包

  • 请下载最新版本的后端安装包至服务器部署目录,比如创建 /tmp/dolphinscheduler 做为安装部署目录,下载地址: 下载,下载后上传tar包到该目录中,并进行解压
1
2
3
4
5
6
7
# 创建部署目录,部署目录请不要创建在/root、/home等高权限目录 
mkdir -p /tmp/app/dolphinscheduler; #安装文件别放到/tmp/dolphinscheduler , 这是特殊路径 创建文件时会用到的临时路径
cd /tmp/app/dolphinscheduler;
# 解压缩
tar -zxvf apache-dolphinscheduler-incubating-1.3.5-dolphinscheduler-bin.tar.gz -C /opt/dolphinscheduler;

mv apache-dolphinscheduler-incubating-1.3.5-dolphinscheduler-bin dolphinscheduler-bin

3、创建部署用户和hosts映射

  • 所有部署调度的机器上创建部署用户,并且一定要配置sudo免密。假如我们计划在ds1,ds2,ds3,ds4这4台机器上部署调度,首先需要在每台机器上都创建部署用户
阅读全文 »

ClickHouse 部署

1
2
3
sudo yum install yum-utils
sudo rpm --import https://repo.clickhouse.tech/CLICKHOUSE-KEY.GPG
sudo yum-config-manager --add-repo https://repo.clickhouse.tech/rpm/stable/x86_64

如果您想使用最新的版本,请用testing替代stable(我们只推荐您用于测试环境)。prestable有时也可用。

然后运行命令安装:

1
sudo yum install clickhouse-server clickhouse-client

启动服务

1
2
3
sudo systemctl start clickhouse-server
sudo systemctl stop clickhouse-server
sudo systemctl status clickhouse-server

快速开始

clickhouse-client -m

阅读全文 »

快速试用 DolphinScheduler

1、下载源码 zip 包
  • 请下载最新版本的源码包并进行解压
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 创建源码存放目录
mkdir -p /opt/soft/dolphinscheduler;
cd /opt/soft/dolphinscheduler;

# 通过wget下载源码包
wget https://mirrors.tuna.tsinghua.edu.cn/apache/incubator/dolphinscheduler/1.3.5/apache-dolphinscheduler-incubating-1.3.5-src.zip

# 通过curl下载源码包
curl -O https://mirrors.tuna.tsinghua.edu.cn/apache/incubator/dolphinscheduler/1.3.5/apache-dolphinscheduler-incubating-1.3.5-src.zip

# 解压缩
unzip apache-dolphinscheduler-incubating-1.3.5-src.zip

mv apache-dolphinscheduler-incubating-1.3.5-src-release dolphinscheduler-src
2、安装并启动服务
1
2
cd dolphinscheduler-src/docker/docker-swarm
docker-compose up -d
3、登录系统

访问前端页面: http://bigdata-3.baofoo.cn:12345/dolphinscheduler

默认的用户是admin,默认的密码是dolphinscheduler123

停止所有容器:

阅读全文 »

Conda常用命令整理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
conda --version #查看conda版本,验证是否安装

conda update conda #更新至最新版本,也会更新其它相关包

conda update --all #更新所有包

conda update package_name #更新指定的包

conda create -n env_name package_name #创建名为env_name的新环境,并在该环境下安装名为package_name 的包,可以指定新环境的版本号,例如:conda create -n python2 python=python2.7 numpy pandas,创建了python2环境,python版本为2.7,同时还安装了numpy pandas包

conda activate env_name #切换至env_name环境

conda deactivate #退出环境

conda info -e #显示所有已经创建的环境

conda create --name new_env_name --clone old_env_name #复制old_env_name为new_env_name

conda remove --name env_name –all #删除环境

conda list #查看所有已经安装的包

conda install package_name #在当前环境中安装包

conda install --name env_name package_name #在指定环境中安装包

conda remove -- name env_name package #删除指定环境中的包

conda remove package #删除当前环境中的包

conda create -n tensorflow_env tensorflow

conda activate tensorflow_env #conda 安装tensorflow的CPU版本

conda create -n tensorflow_gpuenv tensorflow-gpu

conda activate tensorflow_gpuenv #conda安装tensorflow的GPU版本

conda env remove -n env_name #采用第10条的方法删除环境失败时,可采用这种方法

Conda常用命令整理

https://blog.csdn.net/menc15/article/details/71477949/

阅读全文 »

spark-python版本依赖与三方模块方案

(1)使用conda创建python虚拟环境、安装第三方库

假设虚拟环境是pyspark_py36,安装位置是:

1
2
/root/miniconda3/envs/pyspark_py36
此处省略1w个字。

安装的第三方库是:

1
2
3
4
5
source activate pyspark_py36

pip install pandas
pip install sklearn
pip install lightgbm

其他省略1w字。

(2)打包整个虚拟环境

进入虚拟环境目录,压缩整个文件夹

1
2
cd /root/miniconda3/envs/
zip -r -9 -q pyspark_py36.zip pyspark_py36/
阅读全文 »