在CentOS6.4 下以單機僞分布式模式安裝hadoop2.7.1
本文記錄了我在Centos6.4 下以單機僞分布式模式安裝hadoop2.7.1的詳細過程,适合于hadoop入門使用。本文主要參考步驟來源自http://dblab.xmu.edu.cn/blog/install-hadoop/
- 安裝CentOS-6.4-x86_64(略)
- hadoop增加管理者操作權限
- 安裝java
- 安裝hadoop
- 配置ssh
- 設定防火牆
- 修改HOST映射
安裝CentOS-6.4-x86_64
安裝過程略,我是用vmware進行安裝,使用者名設定為hadoop
hadoop增加管理者操作權限
如遇到 “is not in the sudoers file”的問題,解決方案如下:
1、切換到root使用者
$ su -
$ visudo
2、移動光标,到最後一行
3、按a,進入append模式
4、輸入
5、按Esc
6、輸入“:w”(儲存檔案)
7、輸入“:q”(退出)
這樣就把自己加入了sudo組,可以使用sudo指令了。
安裝java
将jdk-7u76-linux-x64.tar.gz拷貝到CentOS中去,如桌面。将java安裝在/usr/java中
$ cd /home/hadoop/Desktop
$ sudo sudo tar -zxvf ./jdk-u76-linux-x64.tar.gz -C /usr
$ cd /usr/
$ sudo mv ./jdk-u76-linux-x64/ ./java
$ sudo chown -R hadoop:hadoop ./java
java解壓縮後可以使用,輸入以下指令判斷java是否可用:
$ cd ./java
$ ./bin/java
在~/.bashrc 中配置java運作環境變量
在檔案最前面添加如下單獨一行(注意 = 号前後不能有空格),并儲存:
export JAVA_HOME=/usr/java
讓該環境變量生效,需要執行以下代碼,看能否正确輸出JAVA_HOME的值
$ source ~/.bashrc
$ echo $JAVA_HOME
安裝hadoop
将下載下傳好的hadoop-2.7.1.tar.gz拷貝到CentOS系統中(如桌面),然後執行安裝。
$ cd /home/hadoop/Desktop
$ sudo tar -zxvf ./hadoop-..tar.gz -C /usr/local
$ cd /usr/local/
$ sudo mv ./hadoop-./ ./hadoop
$ sudo chown -R hadoop:hadoop ./hadoop
Hadoop解壓後即可使用。輸入如下指令來檢查 Hadoop 是否可用,成功則會顯示指令用法
$ cd ./hadoop
$ ./bin/hadoop
配置環境變量PATH
在檔案最前面加入如下單獨一行
讓該環境變量生效,需要執行以下代碼
$ source ~/.bashrc
Hadoop僞分布式配置
僞分布式需要修改2個配置檔案 core-site.xml 和 hdfs-site.xml 。
修改配置檔案 core-site.xml
修改成如下配置:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
同樣的,修改配置檔案 hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>
配置ssh免密碼登陸
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
$ export HADOOP\_PREFIX=/usr/local/hadoop
按此方式設定後,仍然無法實作免密碼登陸,需要再進行如下設定:
$ chown hadoop: /home/hadoop/.ssh
$ chown hadoop: /home/hadoop/.ssh/*
$ chmod /home/hadoop/.ssh
$ chmod /home/hadoop/.ssh/*
安裝後,可以使用如下指令登陸本機:
$ ssh localhost
$ exit
配置防火牆
如果我們要遠端連接配接此台機器的話,需要保證9000端口開放。是以可以直接設定将防火牆關閉。
1) 永久性生效,重新開機後不會複原
開啟: chkconfig iptables on
關閉: chkconfig iptables off
2) 即時生效,重新開機後複原
開啟: service iptables start
關閉: service iptables stop
修改host映射
如果我們要遠端連接配接此台機器的話,必須将hostname映射的IP位址改為本機的位址
$ sudo vi /etc/hosts
将127.0.0.1 改為本機實際IP位址
将::1 localhost ….這行注釋掉