<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[pjyex的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/pjyex</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; pjyex]]></copyright><item><title><![CDATA[k8s常用命令]]></title><link>https://blog.youkuaiyun.com/pjyex/article/details/120135442</link><guid>https://blog.youkuaiyun.com/pjyex/article/details/120135442</guid><author>pjyex</author><pubDate>Mon, 06 Sep 2021 15:13:12 +0800</pubDate><description><![CDATA[查看k8s版本
kubectl version

查看所有正在运行的pod
kubectl get pods -n my-space

在pod列表中查看每个pod在哪个node节点运行
kubectl get pod -n my-space -o wide

在pod列表中查看每个pod的requests和limits等详细信息
kubectl get pod -n my-space "-o=custom-columns=\
namespaces:.metadata.namespace,\
NAME:.m]]></description><category></category></item><item><title><![CDATA[Kafka常用命令]]></title><link>https://blog.youkuaiyun.com/pjyex/article/details/120130589</link><guid>https://blog.youkuaiyun.com/pjyex/article/details/120130589</guid><author>pjyex</author><pubDate>Mon, 06 Sep 2021 11:36:38 +0800</pubDate><description><![CDATA[文章目录启动Kafka并生产消费消息查看修改topic、group命令
启动Kafka并生产消费消息
启动ZooKeeper
# 启动ZooKeeper
$ bin/zookeeper-server-start.sh config/zookeeper.properties

启动Kafka
# 前台启动Kafka
$ bin/kafka-server-start.sh config/server.properties
# 后台启动方法1
$ nohup bin/kafka-server-start.sh c]]></description><category></category></item><item><title><![CDATA[Node.js URL安全的Base64编码]]></title><link>https://blog.youkuaiyun.com/pjyex/article/details/113748849</link><guid>https://blog.youkuaiyun.com/pjyex/article/details/113748849</guid><author>pjyex</author><pubDate>Sun, 07 Feb 2021 22:38:42 +0800</pubDate><description><![CDATA[由于标准的Base64包含+、/和=，直接将标准Base64编码后的字符串放到url中会有问题。于是便有URL安全的Base64编码，该编码方式把标准Base64中的+变成-，/变成_，并把=去掉，以便可以在URL中使用。
查了下Node.js标准库中并没有URL安全的Base64编码实现，又不想引入第三方的包依赖，参考gist代码片段，并做了下修复改进如下：
const base64 = exports;

base64.encode = function (unencoded) {
    return]]></description><category></category></item><item><title><![CDATA[Java字节数组转换成十六进制字符串的几种方法]]></title><link>https://blog.youkuaiyun.com/pjyex/article/details/113486873</link><guid>https://blog.youkuaiyun.com/pjyex/article/details/113486873</guid><author>pjyex</author><pubDate>Sun, 31 Jan 2021 22:45:01 +0800</pubDate><description><![CDATA[前言
最近在项目中需要将字节数组转换成十六进制字符串，而Java内置的库中并没有相关工具可用，因此查了一下byte数组转hex字符串的相关方法，列出如下，需要可以直接拿来使用。
方法1：使用String.format
public static String encodeHexString(byte[] data) {
    StringBuilder sb = new StringBuilder();
    for (byte b : data) {
        sb.append(String.]]></description><category></category></item><item><title><![CDATA[Netty使用Protobuf编解码]]></title><link>https://blog.youkuaiyun.com/pjyex/article/details/113100858</link><guid>https://blog.youkuaiyun.com/pjyex/article/details/113100858</guid><author>pjyex</author><pubDate>Mon, 25 Jan 2021 00:20:01 +0800</pubDate><description><![CDATA[Protocol Buffers介绍
Protocol Buffers（Protobuf）是Google推出的语言无关，平台无关的可扩展机制，用于序列化结构数据。由于是一种二进制的序列化协议，并且数据结构做了相应优化，因此比传统的XML、JSON数据格式序列化后体积更小，传输更快。Protobuf有proto2和proto3两个版本，有着不同的数据格式定义，在这里我们使用proto3版本。Protobuf使用了一个编译器，可根据.proto文件中定义的数据结构，自动生成各种语言的模板代码，方便使用。
一个h]]></description><category></category></item><item><title><![CDATA[Netty编写一个静态资源服务器]]></title><link>https://blog.youkuaiyun.com/pjyex/article/details/112645500</link><guid>https://blog.youkuaiyun.com/pjyex/article/details/112645500</guid><author>pjyex</author><pubDate>Fri, 15 Jan 2021 00:15:11 +0800</pubDate><description><![CDATA[上一篇文章我们了解了如何使用Netty编写一个极简的Http服务器 ，这一篇文章在上一篇文章的基础上，进一步编写一个静态资源服务器。
首先，HttpServer类与之前相同，不需要作修改，具体代码请见使用Netty编写一个极简的Http服务器 。我们修改HttpRequestHandler，来实现对静态资源请求的响应。
为了方便对Http请求的处理，我们先作如下规定：

如果请求URI为“/”或“/index.html”，则直接返回index.html文件；
如果请求URI以“/static”开头，则从/s]]></description><category></category></item><item><title><![CDATA[使用Netty编写一个极简的Http服务器]]></title><link>https://blog.youkuaiyun.com/pjyex/article/details/112452583</link><guid>https://blog.youkuaiyun.com/pjyex/article/details/112452583</guid><author>pjyex</author><pubDate>Sun, 10 Jan 2021 23:47:39 +0800</pubDate><description><![CDATA[使用Netty编写一个极简的Http服务器
Netty是一个高性能的网络编程框架，有着简单易于使用的抽象模型。利用Netty自带的Http协议编解码器，我们可以快速地以较少的代码编写一个简单的Http服务器。
本文主要介绍如何使用Netty实现一个极简的Http服务器，主要功能是通过接收一个浏览器Http请求，Netty服务器返回一个静态资源页面。
为了实现Http服务器，我们只需要用到Netty自带的两个编解码器：

HttpServerCodec：用于Netty服务端，该类其实是HttpRequestD]]></description><category></category></item><item><title><![CDATA[使用Docker搭建Spark集群]]></title><link>https://blog.youkuaiyun.com/pjyex/article/details/104620849</link><guid>https://blog.youkuaiyun.com/pjyex/article/details/104620849</guid><author>pjyex</author><pubDate>Mon, 02 Mar 2020 21:46:30 +0800</pubDate><description><![CDATA[本次使用big-data-europe/docker-spark: Apache Spark docker image方便地进行Spark开发环境的搭建。
首先需要先准备一个docker-compose.yml文件，文件内容如下：
version: '2'
services:
  spark-master:
    image: bde2020/spark-master:2.4.4-hadoop2...]]></description><category></category></item><item><title><![CDATA[docker运行Spring Cloud使用外部IP]]></title><link>https://blog.youkuaiyun.com/pjyex/article/details/104456463</link><guid>https://blog.youkuaiyun.com/pjyex/article/details/104456463</guid><author>pjyex</author><pubDate>Sun, 23 Feb 2020 11:13:40 +0800</pubDate><description><![CDATA[在多机器上docker部署Spring Cloud发现有一个问题，即在docker容器内部，Spring Cloud eureka实例只能获取到docker内部网络的IP，如172.x.x.x，并将其注册到注册中心，此时其他服务通过该IP在docker外部无法访问该服务。以下有两种解决方法：
方法一：手动配置宿主机IP
启动容器时将宿主机的IP加到容器环境变量中然后在Spring Boot app...]]></description><category></category></item><item><title><![CDATA[通过proxy实现外部网络访问Docker集群内部服务]]></title><link>https://blog.youkuaiyun.com/pjyex/article/details/104455713</link><guid>https://blog.youkuaiyun.com/pjyex/article/details/104455713</guid><author>pjyex</author><pubDate>Sun, 23 Feb 2020 10:30:56 +0800</pubDate><description><![CDATA[由于在本地搭建了docker hadoop集群，要想通过docker容器端口映射的方式访问多个服务节点的状态实在麻烦，并且需要为每个服务分配唯一的端口。通过网上搜索，找到一种通过在容器内部搭建socks代理，本地通过socks代理端口访问容器内部服务的方法。该方法不需要对每个服务都进行端口映射，十分有用。
首先编写Dockerfile文件：
FROM ubuntu

RUN apt update ...]]></description><category></category></item><item><title><![CDATA[使用Docker搭建Hadoop分布式集群]]></title><link>https://blog.youkuaiyun.com/pjyex/article/details/104241614</link><guid>https://blog.youkuaiyun.com/pjyex/article/details/104241614</guid><author>pjyex</author><pubDate>Sun, 09 Feb 2020 22:14:42 +0800</pubDate><description><![CDATA[文章目录Hadoop分布式集群介绍准备docker-compose相关文件构建resourcemanager镜像启动Hadoop集群
Hadoop分布式集群介绍
本次Hadoop搭建使用GitHub - kiwenlau/hadoop-cluster-docker: Run Hadoop Custer within Docker Containers进行。
首先需要明确Hadoop集群的启动顺序如...]]></description><category></category></item><item><title><![CDATA[使用Docker安装Elasticsearch Kibana]]></title><link>https://blog.youkuaiyun.com/pjyex/article/details/104036353</link><guid>https://blog.youkuaiyun.com/pjyex/article/details/104036353</guid><author>pjyex</author><pubDate>Sun, 19 Jan 2020 09:07:48 +0800</pubDate><description><![CDATA[准备docker-compose.yml文件，如下所示为启动一个单节点Elasticsearch集群和Kibana面板：
version: "2.2"
services:
  elasticsearch:
    image: elasticsearch:7.4.2
    ports:
      - "9200:9200"
      - "9300:9300"
    networks:
 ...]]></description><category></category></item><item><title><![CDATA[使用Docker安装Kafka]]></title><link>https://blog.youkuaiyun.com/pjyex/article/details/103943245</link><guid>https://blog.youkuaiyun.com/pjyex/article/details/103943245</guid><author>pjyex</author><pubDate>Sun, 12 Jan 2020 09:56:49 +0800</pubDate><description><![CDATA[文章目录安装Kafka测试Kafka功能
安装Kafka
本次安装kafka使用的docker镜像是wurstmeister/kafka - Docker Hub，安装流程如下。
准备docker-compose.yml文件：
version: '2'
services:
  zookeeper:
    image: zookeeper
    ports:
      - "2181:2181...]]></description><category></category></item></channel></rss>