Hadoop
hadoop-1.2.1.tar.gz jdk-6u32-linux-x64.bin
Useradd -u 900 hadoop
Mv jdk1.6.0_32 /home/hadoop
Mv hadoop-1.2.1.tar.gz/home/hadoop
Chown hadoop.hadoop /home/hadoop -R
Su -hadoop
Ln -s jdk1.6.0_32 java
Tar zxf hadoop-1.2.1.tar.gz hadoop-1.2.1
Ln -s hadoop-1.2.1 hadoop
更改環境變量:

Vim /hadoop/conf/hadoop-env.sh
Cd /hadoop
Mkdir input
Cp conf/*.xml input
Bin/hadoop jar hadoop-examples-1.2.1.jar grep input output ‘dfs[a-z.]+’
設定無密碼登陸:
Ssh-keygen
Ssh-copy-id 172.25.60.1
保證 master 到所有的 slave 節點都實作無密碼登入
Cd ~/hadoop/conf
Vim slaves ---->172.25.60.1
Vim masters---->172.25.60.1
Vim core-site.xml 在configuration中間添加以下内容
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://172.25.60.1:9000</value>
</property>
</configuration>
Vim hdfs-site.xml 在configuration中間添加以下内容
<name>dfs.replication</name>
<value>1</value>
Vim mapred-site.xml 在configuration中間添加以下内容
<name>mapred.job.tracker</name>
<value>172.25.60.1:9001</value>
格式化一個新的分布式檔案系統:
$ bin/hadoop namenode -format
啟動 Hadoop 守護程序:
$ bin/start-all.sh
在各個節點檢視 hadoop 程序:
$ jps
Hadoop 守護程序的日志寫入到 ${HADOOP_HOME}/logs 目錄
浏覽 NameNode 和 JobTracker 的網絡接口,它們的位址預設為:
NameNode – http://172.25.60.1:50070/
JobTracker – http://172.25.60.1:50030/
将輸入檔案拷貝到分布式檔案系統:
$ bin/hadoop fs -put conf input
運作發行版提供的示例程式:
$ bin/hadoop jar hadoop-*-examples.jar grep input output 'dfs[a-z.]+'
檢視輸出檔案:
将輸出檔案從分布式檔案系統拷貝到本地檔案系統檢視:
$ bin/hadoop fs -get output output
$ cat output/*
或者
在分布式檔案系統上檢視輸出檔案:
$ bin/hadoop fs -cat output/*
完成全部操作後,停止守護程序:
$ bin/stop-all.sh
完全分布式(三個節點)server1 server2 server4:
在三個節點上安裝 rpcbind nfs-utils 并打開rpcind nfs服務
Vim /etc/exports
/home/hadoop *(rw,all_squash,anonuid=900,anongid=900)
在slave2 4上添加使用者 useradd -u 900 hadoop
mount 172.25.60.1:/home/hadoop/ /home/hadoop/
在1上分别進行ssh 連接配接 ssh 172.25.60.2ssh172.25.60.4
在master上:vim ~/hadoop/conf
Vim slaves
172.25.60.2
172.25.60.4
Vim hdfs-site.xml
<Value>1</value> ------> <Value>2</value>
(删除tmp------>格式化---->bin/start-dfs.sh----->bin/hadoop fs -put conf/ input----->bin/start-mapred.sh
bin/hadoop jar hadoop-examples-1.2.1.jar grep input output 'dfs[a-z.]+')
bin/hadoop dfsadmin-report:檢視節點運作狀态
bin/hadoop fs -ls :檢視輸出檔案
添加一個節點檔案:
線上添加節點:
添加使用者 useradd -u 900 hadoop
mount 172.25.60.1:/home/hadoop/home/hadoop
su - hadoop
vim slaves加入該節點 ----->>172.25.60.5
bin/hadoop-daemon.sh start datanode
bin/hadoop-daemon.sh start tasktracker
線上删除節點:
先做資料遷移:
在server上:vim mapred-site.xml
<property>
<name>dfs.hosts.exclude</name>
<value>/home/hadoop/hadoop/conf/hostexclude</value>
</property>
Vim hadoop/hadoop/conf/hostexclude------->172.25.60.4
Bin/hadoop dfsadmin -refreshNodes ####重新整理節點
資源回收筒功能:
vimcore-site.xml添加以下:
<name>fs.trash.interval</name>
<value>1440</value> 1440=60*24
實驗:bin/hadoop fs -rm input/hadoop-env.sh
bin/hadoop fs -ls input 檢視是否删除
bin/hadoop fs -ls 此時新增目錄 .Trash
bin/hadoop fs -ls .Trash/Current/user/hadoop/input
将此檔案移回原目錄即可恢複
bin/hadoop fs -mv .Trash/Current/user/hadoop/input/hadoop-env.sh input
優化:
更新hadoop至2.6版本
删除之前的連結,解壓hadoop-2.6.4.tar.gz jdk-7u79-linux-x64.tar.gz到hadoop家目錄,并更改權限為hadoop.hadoop進入hadoop使用者,連結成hadoop和java,進入hadoop/etc/hadoop/
vim hadoop-env.sh export JAVA_HOME=/home/hadoop/java
cd /hadoop/etc/hadoop
vim core-site.xml
<name>fs.defaultFS</name>
<value>hdfs://172.25.60.1:9000</value>
</property>
vim hdfs-site.xml
<property>
<value>2</value>
vim yarn-env.sh
# some Java parameters
export JAVA_HOME=/home/hadoop/java
cp mapred-site.xml.template mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
vim yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
vim slaves
172.25.60.5
bin/hdfs namenode -format
sbin/start-dfs.sh
bin/hdfs dfs -mkdir /user
bin/hdfs dfs -mkdir /user/hadoop
bin/hdfs dfs -put etc/hadoop input
sbin/start-yarn.sh
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.4.jar grep input output 'dfs[a-z.]+'
通路 172.25.60.1:50070 172.25.60.1:8088
##########替換lib下檔案為64位(不更改的話啟動時會有warn警告)
mv hadoop-native-64-2.6.0.tar /home/hadoop/hadoop/lib/native
tarxf hadoop-native-64-2.6.0.tar
###########指定節點目錄