Hadoop-2.9.2單機版安裝(偽分布式模式)(一)


一、環境

硬件:虛擬機VMware、win7
操作系統:Centos-7 64位
主機名: hadoopServerOne
安裝用戶:root
軟件:jdk1.8.0_181、Hadoop-2.9.2

二、安裝jdk

1.到普通用戶目錄/home/lims
2.下載jdk-8u181-linux-x64.tar.gz移動到hadoop目錄下,解壓。

tar -zxvf jdk-8u181-linux-x64.tar.gz
mv jdk1.8.0_181 jdk1.8.0

三、配置ssh無密碼登錄

(我並沒有這一步,前面配置過)

$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

驗證ssh,# ssh localhost
不需要輸入密碼即可登錄。

四、安裝Hadoop

1.下載Hadoop-2.9.2

2,解壓安裝

1),復制 Hadoop-2.9.2.tar.gz 到/home/lims目錄下,
然后#tar -xzvf hadoop-2.9.2.tar.gz 解壓,解壓后目錄為:/home/lims/hadoop-2.9.2 
2),在/home/lims/目錄下,建立tmp、hdfs/name、hdfs/data目錄,執行如下命令 (PS:可以略過,格式化namenode時會根據配置文件創建)
#mkdir /home/lims/tmp
#mkdir /home/lims/hdfs
#mkdir /home/lims/hdfs/data
#mkdir /home/lims/hdfs/name
3),設置環境變量,#vi ~/.bash_profile
編輯insert
保存退出esc :wq :q!(退出不保存)
# set hadoop path

export HADOOP_HOME=/home/lims/hadoop-2.9.2
export PATH=$PATH:$HADOOP_HOME/bin

4),使環境變量生效,$source ~/.bash_profile

3,Hadoop配置

進入$HADOOP_HOME/etc/hadoop目錄,配置 hadoop-env.sh等。涉及的配置文件如下:
hadoop-2.9.2/etc/hadoop/hadoop-env.sh
hadoop-2.9.2/etc/hadoop/yarn-env.sh
hadoop-2.9.2/etc/hadoop/core-site.xml
hadoop-2.9.2/etc/hadoop/hdfs-site.xml
hadoop-2.9.2/etc/hadoop/mapred-site.xml
hadoop-2.9.2/etc/hadoop/yarn-site.xml
1)配置hadoop-env.sh
# The java implementation to use.
#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/hadoop/jdk1.8.0
2)配置yarn-env.sh
#export JAVA_HOME=/home/y/libexec/jdk1.6.0/
export JAVA_HOME=/hadoop/jdk1.8.0 
3)配置core-site.xml
添加如下配置(為了讓Windows瀏覽器能訪問到,寫虛擬機地址,而不是localhost):

<configuration>
<property>
  <name>fs.default.name</name>
  <value>hdfs://192.168.3.132:9000</value>
  <description>HDFS的URI,文件系統://namenode標識:端口號</description>
</property>

<property>
  <name>hadoop.tmp.dir</name>
  <value>/home/lims/tmp</value>
  <description>namenode上本地的hadoop臨時文件夾</description>
</property>
</configuration>

4),配置hdfs-site.xml
添加如下配置

<configuration>
<property>
  <name>dfs.name.dir</name>
  <value>/home/lims/hdfs/name</value>
  <description>namenode上存儲hdfs名字空間元數據 </description> 
</property>

<property>
  <name>dfs.data.dir</name>
  <value>/home/lims/hdfs/data</value>
  <description>datanode上數據塊的物理存儲位置</description>
</property>

<property>
  <name>dfs.replication</name>
  <value>1</value>
  <description>副本個數,配置默認是3,應小於datanode機器數量</description>
  </property>
</configuration>

5),配置mapred-site.xml
添加如下配置:

<configuration>
<property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
  </property>
</configuration>

6),配置yarn-site.xml
添加如下配置(端口改為了8099):

<configuration>
<property>
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce_shuffle</value>
</property>
<property>
  <name>yarn.resourcemanager.webapp.address</name>
  <value>${yarn.resourcemanager.hostname}:8099</value>
</property>
</configuration>

4.安裝后啟動步驟:

1).格式化hdfs文件系統

bin/hadoop namenode -format

2).啟動namenode

sbin/hadoop-daemon.sh start namenode

3).啟動datanode

sbin/hadoop-daemon.sh start datanode

4).啟動yarn

sbin/start-yarn.sh

5.驗證

1)執行jps命令,有如下進程,說明Hadoop正常啟動

2)在瀏覽器中輸入:http://192.168.2.2:8099/cluster 即可看到YARN的ResourceManager的界面。PS:默認端口是8088,這里設置了yarn.resourcemanager.webapp.address為:${yarn.resourcemanager.hostname}:8099

namenode查看:http://192.168.2.2:50070

啟動MapReduce作業運行查看結果

進入Hadoop目錄

 

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.2.jar pi 2 100

 

 

 

注意(linux防火牆打開端口)

PS:在Windows瀏覽器中訪問虛擬機中的Linux,需要centos防火牆打開相應端口

打開8099端口:

firewall-cmd --permanent --add-port=8099/tcp

重新載入: 

firewall-cmd --reload

 宿主機訪問頁面需要開啟的端口

1. 50070(HDFS端口)

2. 8099(yarn頁面端口)

3. 50075(datanode頁面端口)

4. 8042(作業運行過程yarn頁面查看application端口)

常見問題:

1. 采用虛擬機安裝后,每次重啟虛擬機Hadoop無法啟動成功

在core-site.xml中增加兩個配置:

<property>
    <name>dfs.namenode.name.dir</name>
    <value>/home/lims/hadoop/dfs/name</value>
</property>
<property>
    <name>dfs.datanode.data.dir</name>
    <value>/home/lims/hadoop/dfs/data</value>
</property>

 


免責聲明!

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



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