天天看點

Hadoop僞分布式安裝

解除安裝JDK:

<code>[root@localhost mzsx]</code><code># rpm -qa | grep java</code>

<code>java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.x86_64</code>

<code>tzdata-java-2012c-1.el6.noarch</code>

<code>[root@localhost mzsx]</code><code># rpm -e --nodeps tzdata-java-2012c-1.el6.noarch</code>

<code>[root@localhost mzsx]</code><code># rpm -e --nodeps  java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.x86_64</code>

安裝JDK:

<code>[root@localhost mzsx]</code><code># chmod 777 jdk-7u45-linux-x64.rpm</code>

<code>[root@localhost mzsx]</code><code># rpm -ivh jdk-7u45-linux-x64.rpm</code>

<code>Preparing...                </code><code>########################################### [100%]</code>

<code>   </code><code>1:jdk                    </code><code>########################################### [100%]</code>

<code>Unpacking JAR files...</code>

<code>    </code><code>rt.jar...</code>

<code>    </code><code>jsse.jar...</code>

<code>    </code><code>charsets.jar...</code>

<code>    </code><code>tools.jar...</code>

<code>    </code><code>localedata.jar...</code>

<code>    </code><code>jfxrt.jar...</code>

配置JDK環境:

<code>[root@srv-dfh526 bin]</code><code>#vim  /etc/profile</code>

<code>export</code> <code>JAVA_HOME=</code><code>/usr/local/jdk</code>

<code>export</code> <code>JAVA_BIN=</code><code>/usr/local/jdk/bin</code>

<code>export</code> <code>PATH=$PATH:$JAVA_HOME</code><code>/bin</code>

<code>export</code> <code>CLASSPATH=.:$JAVA_HOME</code><code>/lib/dt</code><code>.jar:$JAVA_HOME</code><code>/lib/tools</code><code>.jar</code>

<code>export</code> <code>HADOOP_HOME=</code><code>/usr/local/hadoop</code>

<code>export</code> <code>PATH=</code><code>/usr/local/hadoop/bin</code><code>:$PATH</code>

<code>export</code> <code>HADOOP_HOME_WARN_SUPPRESS=1</code>

<code>[root@srv-dfh526 bin]</code><code>#source /etc/profile</code>

關閉防火牆的方法為:

<code>. 永久性生效</code>

<code>開啟:chkconfig iptables on</code>

<code>關閉:chkconfig iptables off</code>

<code>[root@localhost ~]</code><code># service network restart</code>

<code>關閉環回接口:                                             [确定]</code>

<code>彈出環回接口:                                             [确定]</code>

<code>[root@localhost ~]</code><code>#</code>

免密鑰登入,注:一直回車

<code>[root@localhost jdk1.7.0_45]</code><code># cd /root/</code>

<code>[root@localhost ~]</code><code># ssh-keygen -t rsa</code>

<code>Generating public</code><code>/private</code> <code>rsa key pair.</code>

<code>Enter </code><code>file</code> <code>in</code> <code>which</code> <code>to save the key (</code><code>/root/</code><code>.</code><code>ssh</code><code>/id_rsa</code><code>):</code>

<code>Enter passphrase (empty </code><code>for</code> <code>no passphrase):</code>

<code>Enter same passphrase again:</code>

<code>Your identification has been saved </code><code>in</code> <code>/root/</code><code>.</code><code>ssh</code><code>/id_rsa</code><code>.</code>

<code>Your public key has been saved </code><code>in</code> <code>/root/</code><code>.</code><code>ssh</code><code>/id_rsa</code><code>.pub.</code>

<code>The key fingerprint is:</code>

<code>51:19:ce:ed:ae:f1:57:d4:30:c8:a2:a3:d7:8d:e1:2d root@localhost</code>

<code>The key's randomart image is:</code>

<code>+--[ RSA 2048]----+</code>

<code>|          o+ .   |</code>

<code>|         +o.o o  |</code>

<code>|        ..o..  o.|</code>

<code>|        o...    o|</code>

<code>|       .S+ =.  . |</code>

<code>|      . . E.o   .|</code>

<code>|       .  ...  . |</code>

<code>|           +  .  |</code>

<code>|          . ..   |</code>

<code>+-----------------+</code>

<code>[root@localhost ~]</code><code># cd .ssh</code>

<code>[root@localhost .</code><code>ssh</code><code>]</code><code># ll -a</code>

<code>總用量 16</code>

<code>drwx------.  2 root root 4096 11月  8 03:07 .</code>

<code>dr-xr-x---. 26 root root 4096 11月  8 03:03 ..</code>

<code>-rw-------.  1 root root 1675 11月  8 03:07 id_rsa</code>

<code>-rw-r--r--.  1 root root  408 11月  8 03:07 id_rsa.pub</code>

<code>[root@localhost .</code><code>ssh</code><code>]</code><code># cp id_rsa.pub authorized_keys</code>

<code>[root@localhost .</code><code>ssh</code><code>]</code><code># serv</code>

<code>servertool   service      serviceconf</code>

<code>[root@localhost .</code><code>ssh</code><code>]</code><code># service sshd restart</code>

<code>停止 sshd:                                                [确定]</code>

<code>正在啟動 sshd:                                            [确定]</code>

<code>[root@localhost .</code><code>ssh</code><code>]</code><code>#</code>

HADOOP配置:

core-site.xml

<code>&lt;</code><code>configuration</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>property</code><code>&gt;</code>

<code>        </code><code>&lt;</code><code>name</code><code>&gt;hadoop.tem.dir&lt;/</code><code>name</code><code>&gt;</code>

<code>        </code><code>&lt;</code><code>value</code><code>&gt;/home/hadoop/tem&lt;/</code><code>value</code><code>&gt;</code>

<code>    </code><code>&lt;/</code><code>property</code><code>&gt;</code>

<code>        </code><code>&lt;</code><code>name</code><code>&gt;fs.default.name&lt;/</code><code>name</code><code>&gt;</code>

<code>        </code><code>&lt;</code><code>value</code><code>&gt;hdfs://192.168.197.131:9000&lt;/</code><code>value</code><code>&gt;</code>

<code>&lt;/</code><code>configuration</code><code>&gt;</code>

hdfs-site.xml

<code>        </code><code>&lt;</code><code>name</code><code>&gt;dfs.data.dir&lt;/</code><code>name</code><code>&gt;</code>

<code>        </code><code>&lt;</code><code>value</code><code>&gt;/home/hadoop/data&lt;/</code><code>value</code><code>&gt;</code>

<code>        </code><code>&lt;</code><code>name</code><code>&gt;dfs.replication&lt;/</code><code>name</code><code>&gt;</code>

<code>        </code><code>&lt;</code><code>value</code><code>&gt;1&lt;/</code><code>value</code><code>&gt;</code>

<code>        </code><code>&lt;</code><code>name</code><code>&gt;dfs.permissions&lt;/</code><code>name</code><code>&gt;</code>

<code>        </code><code>&lt;</code><code>value</code><code>&gt;false&lt;/</code><code>value</code><code>&gt;</code>

mapred-site.xml

<code>&lt;configuration&gt;</code>

<code>    </code><code>&lt;property&gt;</code>

<code>        </code><code>&lt;name&gt;mapred.job.tracker&lt;</code><code>/name</code><code>&gt;</code>

<code>        </code><code>&lt;value&gt;192.168.197.131:9001&lt;</code><code>/value</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>/property</code><code>&gt;</code>

<code>&lt;</code><code>/configuration</code><code>&gt;</code>

hadoop-env.sh

<code># export JAVA_HOME=/usr/lib/j2sdk1.5-sun</code>

格式化分布式檔案系統

<code>[root@localhost bin]</code><code># ./hadoop namenode -format</code>

<code>Warning: $HADOOP_HOME is deprecated.</code>

<code>13</code><code>/11/08</code> <code>03:30:03 INFO namenode.NameNode: STARTUP_MSG:</code>

<code>/************************************************************</code>

<code>STARTUP_MSG: Starting NameNode</code>

<code>STARTUP_MSG:   host = localhost.localdomain</code><code>/127</code><code>.0.0.1</code>

<code>STARTUP_MSG:   args = [-</code><code>format</code><code>]</code>

<code>STARTUP_MSG:   version = 1.2.0</code>

<code>STARTUP_MSG:   build = https:</code><code>//svn</code><code>.apache.org</code><code>/repos/asf/hadoop/common/branches/branch-1</code><code>.2 -r 1479473; compiled by </code><code>'hortonfo'</code> <code>on Mon May  6 06:59:37 UTC 2013</code>

<code>STARTUP_MSG:   java = 1.7.0_45</code>

<code>************************************************************/</code>

<code>13</code><code>/11/08</code> <code>03:30:03 INFO util.GSet: Computing capacity </code><code>for</code> <code>map BlocksMap</code>

<code>13</code><code>/11/08</code> <code>03:30:03 INFO util.GSet: VM </code><code>type</code>       <code>= 64-bit</code>

<code>13</code><code>/11/08</code> <code>03:30:03 INFO util.GSet: 2.0% max memory = 1013645312</code>

<code>13</code><code>/11/08</code> <code>03:30:03 INFO util.GSet: capacity      = 2^21 = 2097152 entries</code>

<code>13</code><code>/11/08</code> <code>03:30:03 INFO util.GSet: recommended=2097152, actual=2097152</code>

<code>13</code><code>/11/08</code> <code>03:30:03 INFO namenode.FSNamesystem: fsOwner=root</code>

<code>13</code><code>/11/08</code> <code>03:30:04 INFO namenode.FSNamesystem: supergroup=supergroup</code>

<code>13</code><code>/11/08</code> <code>03:30:04 INFO namenode.FSNamesystem: isPermissionEnabled=</code><code>true</code>

<code>13</code><code>/11/08</code> <code>03:30:04 INFO namenode.FSNamesystem: dfs.block.invalidate.limit=100</code>

<code>13</code><code>/11/08</code> <code>03:30:04 INFO namenode.FSNamesystem: isAccessTokenEnabled=</code><code>false</code> <code>accessKeyUpdateInterval=0 min(s), accessTokenLifetime=0 min(s)</code>

<code>13</code><code>/11/08</code> <code>03:30:04 INFO namenode.FSEditLog: dfs.namenode.edits.toleration.length = 0</code>

<code>13</code><code>/11/08</code> <code>03:30:04 INFO namenode.NameNode: Caching </code><code>file</code> <code>names occuring </code><code>more</code> <code>than 10 </code><code>times</code>

<code>13</code><code>/11/08</code> <code>03:30:04 INFO common.Storage: Image </code><code>file</code> <code>of size 110 saved </code><code>in</code> <code>0 seconds.</code>

<code>13</code><code>/11/08</code> <code>03:30:04 INFO namenode.FSEditLog: closing edit log: position=4, editlog=</code><code>/tmp/hadoop-root/dfs/name/current/edits</code>

<code>13</code><code>/11/08</code> <code>03:30:04 INFO namenode.FSEditLog: close success: truncate to 4, editlog=</code><code>/tmp/hadoop-root/dfs/name/current/edits</code>

<code>13</code><code>/11/08</code> <code>03:30:04 INFO common.Storage: Storage directory </code><code>/tmp/hadoop-root/dfs/name</code> <code>has been successfully formatted.</code>

<code>13</code><code>/11/08</code> <code>03:30:04 INFO namenode.NameNode: SHUTDOWN_MSG:</code>

<code>SHUTDOWN_MSG: Shutting down NameNode at localhost.localdomain</code><code>/127</code><code>.0.0.1</code>

啟動Hadoop

<code>[root@hadoop bin]</code><code># ./start-all.sh</code>

<code>starting namenode, logging to </code><code>/home/mzsx/hadoop-0</code><code>.20.2</code><code>/bin/</code><code>..</code><code>/logs/hadoop-root-namenode-hadoop</code><code>.out</code>

<code>The authenticity of host </code><code>'localhost (::1)'</code> <code>can't be established.</code>

<code>RSA key fingerprint is 0f:68:b7:e0:2d:13:38:4b:44:ac:ec:a3:7f:b8:f6:7e.</code>

<code>Are you sure you want to </code><code>continue</code> <code>connecting (</code><code>yes</code><code>/no</code><code>)? </code><code>yes</code>

<code>localhost: Warning: Permanently added </code><code>'localhost'</code> <code>(RSA) to the list of known hosts.</code>

<code>localhost: starting datanode, logging to </code><code>/home/mzsx/hadoop-0</code><code>.20.2</code><code>/bin/</code><code>..</code><code>/logs/hadoop-root-datanode-hadoop</code><code>.out</code>

<code>localhost: starting secondarynamenode, logging to </code><code>/home/mzsx/hadoop-0</code><code>.20.2</code><code>/bin/</code><code>..</code><code>/logs/hadoop-root-secondarynamenode-hadoop</code><code>.out</code>

<code>starting jobtracker, logging to </code><code>/home/mzsx/hadoop-0</code><code>.20.2</code><code>/bin/</code><code>..</code><code>/logs/hadoop-root-jobtracker-hadoop</code><code>.out</code>

<code>localhost: starting tasktracker, logging to </code><code>/home/mzsx/hadoop-0</code><code>.20.2</code><code>/bin/</code><code>..</code><code>/logs/hadoop-root-tasktracker-hadoop</code><code>.out</code>

檢視與Java相關的線程資訊

<code>[root@srv-dfh526 bin]</code><code># jps</code>

<code>14828 DataNode</code>

<code>15600 Bootstrap</code>

<code>23062 Bootstrap</code>

<code>15232 TaskTracker</code>

<code>18636 Jps</code>

<code>2935 Bootstrap</code>

<code>14982 SecondaryNameNode</code>

<code>23445 Bootstrap</code>

<code>14652 NameNode</code>

<code>15080 JobTracker</code>

fs操作

<code>檢視目錄和檔案</code>

<code>[root@srv-dfh526 bin]</code><code># ./hadoop fs -lsr /</code>

<code>drwxr-xr-x   - root supergroup          0 2014-04-23 17:57 </code><code>/tmp</code>

<code>drwxr-xr-x   - root supergroup          0 2014-04-23 17:57 </code><code>/tmp/hadoop-root</code>

<code>drwxr-xr-x   - root supergroup          0 2014-04-23 18:38 </code><code>/tmp/hadoop-root/mapred</code>

<code>drwxr-xr-x   - root supergroup          0 2014-04-23 18:38 </code><code>/tmp/hadoop-root/mapred/staging</code>

<code>drwxr-xr-x   - root supergroup          0 2014-04-23 18:38 </code><code>/tmp/hadoop-root/mapred/staging/root</code>

<code>drwx------   - root supergroup          0 2014-04-23 18:38 </code><code>/tmp/hadoop-root/mapred/staging/root/</code><code>.staging</code>

<code>drwx------   - root supergroup          0 2014-04-23 18:38 </code><code>/tmp/hadoop-root/mapred/system</code>

<code>-rw-------   1 root supergroup          4 2014-04-23 17:57 </code><code>/tmp/hadoop-root/mapred/system/jobtracker</code><code>.info</code>

<code>上傳檔案</code>

<code>[root@srv-dfh526 bin]</code><code># ./hadoop fs -put /home/hadoop/aoman.txt ./</code>

<code>執行wordcount</code>

<code>[root@srv-dfh526 bin]</code><code># bin/hadoop jar hadoop-examples-1.2.1.jar  wordcount /user/root/aoman.txt ./in</code>

下載下傳檔案

<code>[root@srv-dfh526 bin]</code><code># ./hadoop fs -get /user/root/in/part-r-00000 /home/hadoop/wordcount.txt</code>

本文轉自 夢朝思夕 51CTO部落格,原文連結:http://blog.51cto.com/qiangmzsx/1401341