JRQZ's Space

  • zh

Blog Posts

Technical articles and notes

2024-09-14

Deploying ES + Kibana on a Linux Server

Troubleshooting notes Still following the official documentation: https://www.elastic.co/guide/en/elasticsearch/reference/current/run-elasticsearch-locally.html Prerequisites Cloud server specs: 8 cores; 16 GB RAM; System disk: 100 GB; Data disk: 500 GB TencentOS Server ES and Kibana are each deployed in separate Docker containers. Installation Install Docker (steps omitted) Configure environment variables: export ELASTIC_PASSWORD="<ES_PASSWORD>" # password for "elastic" username export KIBANA_PASSWORD="<KIB_PASSWORD>" # Used _internally_ by Kibana, must be at least 6 characters long Install ES docker network create elastic-net docker run -p 0.
read more
2024-09-14

Setting Up a Single-Node Hadoop Cluster on a Linux Server

Notes and pitfalls encountered while setting up a single-node Hadoop cluster on a cloud server. Official Hadoop guide: https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html Prerequisites Server specs provisioned for the team: 8 cores; 16 GB RAM; System disk: 100 GB; Data disk: 500 GB TencentOS Server For simplicity, no containers are used — the service is deployed and run natively on the host machine (production deployments will likely migrate to Docker later). Hadoop Installation Install Java and SSH Pre-installed; steps omitted.
read more
2024-04-24

Classic Concurrency Problem: The Dining Philosophers

Work in progress… Original problem: https://leetcode.cn/problems/the-dining-philosophers/description/ Solution reference: https://leetcode.cn/problems/the-dining-philosophers/solutions/2130703/li-shun-xian-cheng-zheng-qiang-xin-hao-l-gzb1/ Five silent philosophers sit at a round table, each with a plate of spaghetti. Forks are placed between philosophers on the table (5 philosophers, 5 forks). Each philosopher alternates between thinking and eating. A philosopher can only eat when they have picked up both the left and right fork. Each fork can only be used by one philosopher at a time. After eating, the philosopher must put both forks back on the table so others can use them.
read more
2024-04-22

Sum of Weights of All Strings of Length n

This was the final problem in an Alibaba online assessment on April 21st. The intended solution was state-compressed DP → fast exponentiation. Unfortunately, I made an error in the fast exponentiation implementation, causing one-third of the test cases to fail due to TLE. Here’s a post-mortem analysis. Problem: A string consists of lowercase letters. Its weight is defined as the number of non-adjacent vowel pairs (vowels: a, e, i, o, u).
read more
2024-04-17

How Hive Translates SQL into MapReduce

How JOIN Operations Are Implemented in MapReduce MapReduce supports several join strategies: Reduce-side Join, Map-side Join, and Repartition Join. Each is described in detail below. Reduce-side Join Reduce-side join is the most general join type in MapReduce. It is well-suited for joining large datasets, particularly when both datasets are large and have no special sorting or partitioning. How it works: Map phase: Mappers read all input data from both datasets (possibly from different HDFS files or directories).
read more
2024-04-12

Common C++ I/O in ACM Mode

Personal notes, AI-generated. Include the universal header first: #include <bits/stdc++.h> cin cin is the standard input object in C++, part of the iostream library. It reads data from the standard input stream (typically the keyboard). cin blocks program execution while waiting for user input. Specifically, it blocks in the following cases: Waiting for input: When the program reaches an input statement and there is not enough data in the standard input buffer, cin blocks and waits for the user to type and press Enter.
read more
2024-04-08

Three Ways to Embed Images in Hugo

Using Markdown Syntax ![Alt text](/img/jrqz/trails_in_the_sky_sc.jpg) *Image caption* Does not support resizing. Image caption Using HTML <figure> <img src="/img/jrqz/trails_in_the_sky_sc.jpg" alt="Alt text" width="50%"> <figcaption>Image caption</figcaption> </figure> Requires adding to hugo.toml: [markup.goldmark.renderer] unsafe = true Image caption May pose security risks like code injection. Using Hugo Shortcodes {{< figure src="/img/jrqz/trails_in_the_sky_sc.jpg" caption="Image caption" >}} Resizing requires custom CSS. Image caption
read more
2024-04-01

Building a Personal Blog with Hugo

This article documents the process of building a personal blog website with Hugo, from initialization to setting up a custom domain. Creating a Personal Website with Hugo Locally Hugo is an open-source static site generator written in Go, known for being lightweight and fast. Official Website Installation Platform: Ubuntu 22.04.2 LTS (Windows Subsystem for Linux 2) Installing Go Follow the official tutorial to install Go. After installation, update PATH by adding to ~/.
read more
2024-03-27

Algorithm Problem Notes

C++ Data Structure Usage Universal header: #include <bits/stdc++.h> std::list::splice In C++, the std::list and std::forward_list containers provide a member function called splice. This function transfers elements from one list to another in constant time, without copying or moving elements — it simply updates node pointers. This makes splice particularly efficient when reorganizing list elements without introducing additional performance overhead. std::list::splice has several overloads: Transfer the entire list to another position:
read more
2024-03-26

My First Post

JRQZ’s First Blog Post Azure skies— Swallowing everything— Even so, the gears of fate will not stop turning—
read more
  • ««
  • «
  • 1
  • 2
  • »
  • »»
© JRQZ's Space 2026