CentOS下Hadoop的搭建

CentOS下Hadoop搭建與wordcount實例運行


最近在學習弄hadoop,遇到很多麻煩,這裏記錄下來是方便以後回頭查看。我用的VMware Workstation 10.0.4下安裝的CentOS7

安裝配置jdk

java -version看是否安裝java

用 env | grep JAVA_HOME 或者echo $JAVA_HOME $PATH 來檢查環境變量配置的是否正確,如果沒有可以到官網上下載。因爲自帶的jdk有點問題,我先卸載了自帶的jdk:

首先檢查linux下面時候安裝過jdk

 # rpm -qa|grep jdk

java-1.7.0-openjdk-headless-1.7.0.51-2.4.5.5.el7.x86_64

java-1.7.0-openjdk-1.7.0.51-2.4.5.5.el7.x86_64

然後卸載自帶jdk

# rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.51-2.4.5.5.el7.x86_64

# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.51-2.4.5.5.el7.x86_64

環境變量配置

然後用下面命令配置環境變量:

vi /etc/profile (該文件要切換到root下去編輯)

打開編輯的文件後, 在文件最後面添加如下內容

JAVA_HOME=/usr/java/jdk1.7.0_71  (這是我的安裝目錄,可以根據自己的定)

JRE_HOME=/usr/java/jdk1.7.0_71/jre

PATH=$PATH:$JAVA_HOME/bin

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME JRE_HOME PATH CLASSPATH

保存退出, 最後運行下面命令, 使配置生效

source  /etc/profile

echo $JAVA_HOME $PATH 來檢驗是否配置正確

安裝ssh服務

#rpm -qa |grep ssh 檢查是否裝了SSH包  沒有的話yum install openssh-server

#chkconfig --list sshd 檢查SSHD是否在本運行級別下設置爲開機啓動

#chkconfig --level 2345 sshd on  如果沒設置啓動就設置下.

#service sshd restart  重新啓動

#netstat -antp |grep sshd  看是否啓動了22端口.確認下.

#iptables -nL  看看是否放行了22口.

#setup---->防火牆設置   如果沒放行就設置放行.

配置 hadoop ssh 密鑰

# su - hadoop : 切換到 hadoop 用戶;

$ ssh-keygen -t rsa

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

$ chmod 0600 ~/.ssh/authorized_keys

$ exit

安裝hadoop

到hadoop官網上下載相應格式的源文件,我下的是hadoop2.6.0,解壓後將得到的文件夾賦予當前用戶執行權限

chmod a+x 文件 增加文件所有用戶組可執行權限

chown -R liu /usr/local/hadoop-2.6.0/ (liu是當前用戶名)

然後hadoop2.6.0的三種安裝模式可以參考官方文檔http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SingleCluster.html#YARN_on_Single_Node

我按照僞分佈式模式進行安裝的。

運行Wordcount實例

在一個文件夾下創建兩個文件

如我在/home/liu/practice文件夾下創建兩個文本文件

$ echo “Hello World” > file1.txt

$ echo “Hello Hadoop” > file2.txt

$ll   (可以查看創建的文件,用cat可以看文件內容)

創建輸入文件夾

$ hadoop fs -mkdir /user/input

$ hadoop fs -ls /user   (顯示創建的input目錄信息)

將上面創建的文本文件複製到input目錄下

$ hadoop fs -put /home/liu/practice/file*.txt /user/input

$ hadoop fs -ls /user/input (顯示覆制後的內容)

運行和查看結果

$ hadoop jar /usr/local/hadoop/hadoop-examles-2.6.0.jar wordcount /user/input /user/output

$ hadoop fs -ls /user/output (查看輸出內容,結果就在part-r-00000中)

$ hadoop fs -cat /user/output/part-r-00000 (查看輸出結果)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章