Linux下安裝Hadoop(偽分布模式)
寫在前面:在Linux下安裝Hadoop時,應注意權限問題,將hadoop的權限賦給非root用戶。
本文中未涉及如何在Linux下創建新用戶。
第一步,安裝JDK
1. 下載 java.sun.com
2. 解壓tar.gz的文件
tar -xzvf jdk-7u17-linux-x64.tar.gz
3. 把解壓出來的文件夾移動到/usr/local/jdk-1.7目錄
mv /usr/local/src/jdk1.7.0_17 /usr/local/jdk-1.7
4. 修改profile
vi /etc/profile
在最後追加
export JAVA_HOME=/usr/local/jdk1.7.0_17
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
5. 使環境變量生效
source /etc/profile
6. 查看當前jdk
update-alternatives --display java
7. 配置默認jdk
update-alternatives --install /usr/bin/java java /usr/local/jdk1.7.0_17/bin/java 300
update-alternatives --install /usr/bin/javac javac /usr/local/jdk1.7.0_17/bin/javac 300
update-alternatives --install /usr/bin/javap javap /usr/local/jdk1.7.0_17/bin/javap 300
update-alternatives --install /usr/bin/javadoc javadoc /usr/local/jdk1.7.0_17/bin/javadoc 300
update-alternatives --config java
如果系統中安裝了其他jdk,會提示,選擇jdk7
8. 測試
java -version
第二步,安裝SSHD服務
ubuntu安裝sshd命令:sudo apt-get install openssh-server
ubuntu刪除sshd命令:sudo apt-get remove openssh-server
第三步,配置無密登錄
(應該非root用戶下執行)
ssh-keygen
cd ~/.ssh
mv id_rsa.pub id_rsa_hadoop.pub
touch authorized_keys
cat id_rsa_hadoop.pub >> authorized_keys
第四步,下載Hadoop並解壓
解壓:tar -zxvf hadoop-1.0.3.tar.gz
移動:mv hadoop-1.0.3 /usr/local/hadoop
更改文件夾chown -R hadoop.hadoop hadoop
創建目錄:mkdir /data /data/hadoop
更改文件夾chown -R hadoop.hadoop /data/hadoop
第五步,配置Hadoop
配置 conf/hadoop-env.sh
export JAVA_HOME=/usr/local/jdk-1.7
export HADOOP_LOG_DIR=/data/hadoop/logs
export HADOOP_PID_DIR=/data/hadoop/pids
修改/etc/profile
添加:export HADOOP_PID_DIR=/data/hadoop/pids
配置 core-site.xml
fs.default.name
hdfs://master:8020
hadoop.tmp.dir
/data/hadoop/tmp
配置 hdfs-site.xml
dfs.name.dir
/data/hadoop/name
dfs.data.dir
/data/hadoop/data
dfs.replication
2
dfs.permissions
false
hadoop.job.ugi
hadoop,supergroup
配置 mapred-site.xml
mapred.job.tracker
master:8021
mapred.tasktracker.map.tasks.maximum
2
mapred.map.tasks
2
mapred.tasktracker.reduce.tasks.maximum
2
mapred.reduce.tasks
1
mapred.compress.map.output
true
mapred.map.output.compression.codec
com.hadoop.compression.lzo.LzoCodec
第六步,啟動關閉hadoop
bin/hadoop namenode -format (只在第一次啟動時需要,用於格式化名稱節點)
bin/start-all.sh
使用浏覽器訪問http://localhost:50070和http://localhost:50030查看Hadoop是否啟動成功。
bin/stop-all.sh