<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Knowledge on EUB's second brain</title><link>https://eubnara.github.io/ko/categories/knowledge/</link><description>Recent content in Knowledge on EUB's second brain</description><generator>Hugo -- 0.162.1</generator><language>ko-kr</language><lastBuildDate>Sun, 31 May 2026 10:00:00 +0900</lastBuildDate><atom:link href="https://eubnara.github.io/ko/categories/knowledge/index.xml" rel="self" type="application/rss+xml"/><item><title>toolbox: 직접 만들어 쓰는 유틸 모음</title><link>https://eubnara.github.io/ko/tools/toolbox-intro/</link><pubDate>Sun, 31 May 2026 10:00:00 +0900</pubDate><guid>https://eubnara.github.io/ko/tools/toolbox-intro/</guid><description>&lt;p&gt;&lt;a href="https://github.com/eubnara/toolbox"&gt;toolbox&lt;/a&gt;는 Linux 데스크탑/노트북 환경을 보강하기 위해 직접 만들어 쓰는 잡다한 유틸 모음 저장소다.
각 도구는 독립된 디렉터리에 자체 README와 설치 스크립트를 갖춘 단위로 구성되어 있다.&lt;/p&gt;
&lt;p&gt;현재 등록된 도구는 다음과 같다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="charger-watts"&gt;&lt;a href="https://github.com/eubnara/toolbox/tree/main/charger-watts"&gt;charger-watts&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;USB-C PD 충전기의 실제 협상 와트수를 CLI와 KDE Plasma 6 패널 위젯으로 표시한다.
ThinkPad Embedded Controller의 &lt;code&gt;HWAT&lt;/code&gt; 필드를 &lt;code&gt;ec_sys&lt;/code&gt; 모듈로 직접 읽어 와트수를 가져오며, ThinkPad가 아닌 경우 UCSI sysfs로 fallback한다.
Plasma 위젯은 폴링 없이 충전기 연결/해제 이벤트 발생 시에만 EC를 읽어 갱신하는 event-driven 방식이다.&lt;/p&gt;</description></item><item><title>Hadoop 명령어 모음</title><link>https://eubnara.github.io/ko/computer-science/hadoop/commands/</link><pubDate>Sun, 05 Feb 2023 17:02:26 +0900</pubDate><guid>https://eubnara.github.io/ko/computer-science/hadoop/commands/</guid><description>&lt;h1 id="hdfs"&gt;HDFS&lt;/h1&gt;
&lt;h2 id="재시작-없이-설정-변경-reconfigure"&gt;재시작 없이 설정 변경 (reconfigure)&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HDFSCommands.html"&gt;https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HDFSCommands.html&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;재시작 없이 변경 가능한 key는 제한적임&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ hdfs dfsadmin -reconfig namenode nn1.example.com:8020 properties
Node [nn1.example.com:8020] Reconfigurable properties:
dfs.block.placement.ec.classname
dfs.block.replicator.classname
dfs.heartbeat.interval
dfs.image.parallel.load
dfs.namenode.avoid.read.slow.datanode
dfs.namenode.block-placement-policy.exclude-slow-nodes.enabled
dfs.namenode.heartbeat.recheck-interval
dfs.namenode.max.slowpeer.collect.nodes
dfs.namenode.replication.max-streams
dfs.namenode.replication.max-streams-hard-limit
dfs.namenode.replication.work.multiplier.per.iteration
dfs.storage.policy.satisfier.mode
fs.protected.directories
hadoop.caller.context.enabled
ipc.8020.backoff.enable
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>"HADOOP_CLASSPATH" 환경 변수에 대해</title><link>https://eubnara.github.io/ko/computer-science/hadoop/hadoop-classpath/</link><pubDate>Sun, 05 Feb 2023 16:54:58 +0900</pubDate><guid>https://eubnara.github.io/ko/computer-science/hadoop/hadoop-classpath/</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/UnixShellGuide.html#HADOOP_CLASSPATH"&gt;https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/UnixShellGuide.html#HADOOP_CLASSPATH&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Hadoop 생태계에서 &lt;code&gt;HADOOP_CLASSPATH&lt;/code&gt; 환경 변수는 다양한 곳에서 사용된다. &lt;code&gt;Hive&lt;/code&gt;도 이 변수를 사용한다.
&lt;code&gt;beeline&lt;/code&gt; 같은 스크립트에서 &lt;code&gt;HADOOP_CLASSPATH&lt;/code&gt; 변수가 어떻게 사용되는지 궁금했다. Hive 소스 코드에서는 &lt;code&gt;HADOOP_CLASSPATH&lt;/code&gt; 변수를 찾을 수 없었다.
알고 보니 &lt;code&gt;beeline&lt;/code&gt; 실행 시 &lt;code&gt;hadoop jar&lt;/code&gt; 명령을 사용한다. (&lt;a href="https://github.com/apache/hive/blob/rel/release-3.1.3/bin/ext/beeline.sh#L35"&gt;https://github.com/apache/hive/blob/rel/release-3.1.3/bin/ext/beeline.sh#L35&lt;/a&gt;)
이때 &lt;code&gt;RunJar.java&lt;/code&gt;가 사용되며, 여기서 &lt;code&gt;HADOOP_CLASSPATH&lt;/code&gt;가 &lt;code&gt;CLASSPATH&lt;/code&gt; 설정에 사용된다. (&lt;a href="https://github.com/apache/hadoop/blob/rel/release-3.3.4/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/RunJar.java#L347-L351"&gt;https://github.com/apache/hadoop/blob/rel/release-3.3.4/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/RunJar.java#L347-L351&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Hadoop 생태계에서 &lt;code&gt;RunJar#main&lt;/code&gt;을 사용하는 경우, 대부분 &lt;code&gt;HADOOP_CLASSPATH&lt;/code&gt; 환경 변수를 따르게 된다.&lt;/p&gt;</description></item></channel></rss>