hadoop
版本 2.7.3
下邊將一步一步的介紹在ubuntu系統中搭建hadoop環境。
- 創建免密碼登錄用戶
- 安裝sun jdk
- 下載hadoop可執行包
- 修改hadoop配置文件
- 啓動hadoop服務
創建免密碼登錄的用戶
首先請先確保安裝ssh軟件,然後生成密鑰。
sudo adduser -ingroup hadoop hadoop
sudo adduser hadoop sudo
sudo apt-get install install ssh
su - hadoop
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys
接下來驗證ssh是否可以免密碼登錄
ssh localhost
成功登錄,則繼續往下邊操作。
安裝sun jdk
如果你的機器上已經安裝了openjdk,請先卸載,如果沒有,請按照下面方法繼續操作。
在oracle官網上下載最新的jdk包,在這裏我選則的是jdk1.8.0_121,具體下載地址,請訪問 JAVA SEE 下載地址
將下載後的文件解壓到/opt目錄中,然後配置環境變量
hadoop@hzwy23:/opt/jdk1.8.0_121$ pwd
/opt/jdk1.8.0_121
hadoop@hzwy23:/opt/jdk1.8.0_121$
修改~/.profile文件內容,在末尾追加下面信息:
export JAVA_HOME=/opt/jdk1.8.0_121
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
接着source一下該文件,讓環境變量生效
source ~/.profile
下載hadoop可執行包
hadoop下載地址
請選擇binary包,這樣就不用自己去編譯hadoop,在這裏,我下載的是2.7.3 binary包。
將下載下來的包解壓到/opt目錄中,接着配置環境變量
export HADOOP_HOME=/opt/hadoop-2.7.3
export PATH=$PATH:$HADOOP_HOME/bin
如上圖所示,解壓後的hadoop被放在/opt目錄中,將HADOOP_HOME目錄指向hadoop文件所在路徑。
修改hadoop配置文件
hadoop配置文件在$HADOOP_HOME/etc/hadoop目錄中,下邊以最簡單的方式啓動hadoop,大部分參數沿用默認值。
1.修改core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
2.修改hadoop-env.sh,修改java變量值
# The java implementation to use.
export JAVA_HOME=/opt/jdk1.8.0_121
3.修改hdfs-site.xml,使用單節點啓動hadoop。
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoop/tmp/dfs/data</value>
</property>
</configuration>
到此,配置文件修改完成。再次source一下環境用戶配置信息
source ~/.profile
啓動hadoop服務
1.初始化namenode,僅僅第一次安裝時使用,後邊再次啓動不需要執行。
hdfs namenode -format
2.啓動hadoop服務
cd $HADOOP_HOME/sbin
./start-all.sh
等待命令成功執行後,查看jvm是否存在hadoop進程
hadoop@hzwy23:/opt/hadoop-2.7.3/sbin$ jps
5632 ResourceManager
6448 NodeManager
3746 NameNode
4554 DataNode
12763 Jps
5467 SecondaryNameNode
向hdfs傳入文件
hdfs dfs -put $HADOOP_HOME/sbin/start-all.sh /
查看文件是否傳入hdfs
hdfs dfs -ls /
如果能夠查看到start-all.sh文件,表明hadoop單節點版本已經搭建完成。如果要在生產環境中使用hadoop,複雜程度遠遠比這個多,所以,再次,僅供入門參考。不過話又說回來,複雜的的東西也是從簡單的東西竄起來的,打好基礎很重要。