Hadoop2.5.2偽分布安裝 【圖文並茂】


近日得空,將過去一年記錄下的工作日志整理一下,希望對開始從事Hadoop開發的同學有所幫助。

 

安裝環境如下:

Linux: Centos6.5

Jdk: jdk-7u79-linux-x64

Hadoop: hadoop-2.5.2.tar

一.為方便記憶,修改一下主機名:

修改一下兩個文件

vim /etc/sysconfig/network

image

vim /etc/hosts(此步驟可以不必設置,沒有效果)

image

重啟一下,再查看是否成功

重啟:reboot

查看機器名:hostname

現在開始安裝hadoop 2.5.2

創建hadoop用戶

useradd hadoop

為hadoop設置密碼

passwd hadoop (輸入兩次)

SSH 無密碼登陸,切換到hadoop用戶

su hadoop

ssh-keygen -t rsa -P ''(實際使用的是ssh-keygen -t rsa)另外最后為2個單引號,不是雙引號,也可改為2個雙引號,代表 p password 為空。

此語句輸入后,一直按enter默認選擇即可。

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

2)設置SSH配置

  用root用戶登錄服務器修改SSH配置文件"/etc/ssh/sshd_config"的下列內容。

vim /etc/ssh/sshd_config

RSAAuthentication yes # 啟用 RSA 認證

PubkeyAuthentication yes # 啟用公鑰私鑰配對認證方式

AuthorizedKeysFile .ssh/authorized_keys # 公鑰文件路徑(和上面生成的文件同)

image

修改權限:

chmod 700 /home/hadoop/.ssh/authorized_keys

設置完之后記得重啟SSH服務,才能使剛才設置有效。

service sshd restart

  退出root登錄,使用hadoop普通用戶驗證是否成功,

ssh localhost

不再需要輸入密碼便成功了

 

image

 

二.下載hadoop安裝包

可以去Apache官方網站下載,或者國內鏡下載。

阿里雲鏡像下載: http://mirrors.aliyun.com/

Apache官方下載:http://hadoop.apache.org/releases.html

trieuvan下載:http://www.trieuvan.com/apache/

這里使用之前配置好的ftp服務,上傳本地已下載好的hadoop-2.5.2安裝包。

image

1. 拷貝安裝包到/usr/local 目錄,並且解壓。

拷貝:

cp /home/ftpuser/hadoop-2.5.2.tar.gz /usr/local/

進入目錄:

cd /usr/local/

解壓:

tar -zxvf hadoop-2.5.2.tar.gz

刪除安裝包:

rm -f hadoop-2.5.2.tar.gz

更改用戶,用戶組

chown -R hadoop:hadoop hadoop-2.5.2/ (注意要到相應的hadoop安裝文件夾的目錄中操作執行,當前用戶為root)

image

修改hadoop2.5.2安裝目錄名稱

mv hadoop-2.5.2 hadoop

2.修改配置

在/home/hadoop/.bashrc文件末尾添加下列內容:

vim /home/hadoop/.bashrc

#HADOOP START

export JAVA_HOME=/usr/local/java/jdk1.7.0_79

export HADOOP_INSTALL=/usr/local/hadoop

export PATH=$PATH:$HADOOP_INSTALL/bin

export PATH=$PATH:$HADOOP_INSTALL/sbin

export HADOOP_MAPRED_HOME=$HADOOP_INSTALL

export HADOOP_COMMON_HOME=$HADOOP_INSTALL

export HADOOP_HDFS_HOME=$HADOOP_INSTALL

export YARN_HOME=$HADOOP_INSTALL

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native

export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"

#HADOOP END

保存退出后,激活新加的環境變量

source /home/hadoop/.bashrc

3.測試驗證

創建輸入的數據,暫時采用/etc/protocols文件作為測試

cd /usr/local/hadoop

mkdir input

cp /etc/protocols ./input

執行自帶的單詞統計程序,驗證單機安裝是否正確

bin/hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.5.2-sources.jar org.apache.hadoop.examples.WordCount input output

查看生成的單詞統計數據

cat output/*

自此單機安裝結束。

在單機模式的基礎上進一步配置出偽分布模式。

要修改以下文件,在/usr/local/hadoop/etc/hadoop/目錄下,如圖

image

 

1.配置文件修改

1).修改core-site.xml

vim /usr/local/hadoop/etc/hadoop/core-site.xml

<property>

<name>fs.default.name</name>

<value>hdfs://localhost:9000</value>

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>/home/hadoop/tmp</value>

</property>

image

 

2).修改hdfs-site.xml

vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

image

 

3).修改mapred-site.xml

cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/etc/hadoop/mapred-site.xml

vim /usr/local/hadoop/etc/hadoop/mapred-site.xml

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

image

4).修改yarn-site.xml

vim /usr/local/hadoop/etc/hadoop/yarn-site.xml

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>

<value>org.apache.hadoop.mapred.ShuffleHandler</value>

</property>

image

5).修改hadoop-env.sh

vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh

找到 #export JAVA_HOME=${JAVA_HOME} 修改為:

export JAVA_HOME=/usr/local/java/jdk1.7.0_79

image

偽分布式模式就配置好了。

2.格式化HDFS文件系統

切換到hadoop用戶

hadoop namenode -format

會輸出如下信息,則表格式化HDFS成功:

image

 

四、Hadoop集群啟動

1.啟動hdfs守護進程,分別啟動NameNode和DataNode

hadoop-daemon.sh start namenode

hadoop-daemon.sh start datanode

以上兩個命令等於:start-dfs.sh

2.啟動yarn,使用如下命令啟ResourceManager和NodeManager:

yarn-daemon.sh start resourcemanager

yarn-daemon.sh start nodemanager

或者等價於下面:

start-yarn.sh

全部啟動完成后,用jps查看進程

image

3.檢查是否運行成功

打開瀏覽器

輸入:http://localhost:8088進入ResourceManager管理頁面

輸入:http://localhost:50070進入HDFS頁面

如果打不開,可能是8088和50070端口沒打開。

vi /etc/sysconfig/iptables

加入以下內容

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8088 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 50070 -j ACCEPT

image

 

然后重啟路由生效

service iptables restart

六、偽分布測試驗證

創建目錄:

hadoop dfs -mkdir /user

hadoop dfs -mkdir /user/hadoop

hadoop dfs -mkdir /user/hadoop/input

拷貝測試數據:

hadoop dfs -put /etc/protocols /user/hadoop/input

查看已經准備好的測試數據

hadoop dfs –ls /user/hadoop/input

 

執行應用

bin/hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.5.2-sources.jar org.apache.hadoop.examples.WordCount input output

image

查看生成結果

hadoop dfs -cat /user/hadoop/output/*

image

七、關閉服務,注意關閉順序

輸入命令

hadoop-daemon.sh stop namenode

hadoop-daemon.sh stop datanode

yarn-daemon.sh stop resourcemanager

yarn-daemon.sh stop nodemanager

或者

stop-dfs.sh

stop-yarn.sh


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM