hadoop2.2.0僞分佈式搭建

第一步:安裝jdk

個人linux版本是centos7,使用最簡單的安裝方式,這裏首先說一下,因爲系統會預裝openjdk版本等其餘各類版本,首先要作的是清除這些版本,而後iu安裝oracle的jdk版本java

1.1 查看全部jdk版本並刪除其餘jdk版本node

rpm -qa | grep javalinux

這裏能夠看到全部的jdk版本,我建議的作法是將全部的jdk版本都剷除,apache

rpm -e ---nodeps 『jdk版本』vim

這裏有一個小技巧,就是在終端中複製的操做是選中以後摁鼠標中健centos

刪除完全部的jdk版本後去官網下載jdk,保存,而後解壓,解壓位置個人是在/usr/java。oracle

tar -zxvf jdk1.7.0_79.tar.gz -C /usr/javaeclipse

解壓而且移動到/usr/java下。ssh

配置環境變量tcp

vim /etc/profile,按i進入編輯模式,在最後面添加JAVA_HOME等屬性

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

export PATH=$PATH:$JAVA_HOME/bin

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

配置好以後,先按,後按shift+: ,而後按wq,保存退出編輯,終端:source /etc/profile

java -version

顯示正確版本:

java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
說明jdk配置成功。

第二步:安裝配置ssh

2.1 安裝和基本ssh配置

首先要作的是關閉防火牆,防止防火牆對ssh訪問拒絕

查看下防火牆狀態:

firewall-cmd --state

若顯示運行,則關閉,並設置開機不啓動。

systemctl stop firewalld.service;

systemctl disable firewalld.service.

檢測防火牆狀態:

firewall-cmd --state

顯示:no running,配置完成。

通常的linux系統都自帶ssh,首先你須要查看ssh是否真的存在:

rpm -qa | grep ssh

顯示:

openssh-server-6.6.1p1-11.el7.x86_64
openssh-6.6.1p1-11.el7.x86_64
libssh2-1.4.3-8.el7.x86_64
openssh-clients-6.6.1p1-11.el7.x86_64

相似信息說明ssh已安裝。

下面查看ssh服務是否自動啓動,使用命令行查看全部默認自啓動服務:

systemctl list-unit-files|grep enabled

若是發現sshd服務沒有啓動,則設置sshd服務自啓動

systemctl enable sshd.service

這裏要說明如下,centos7的指令換成了新的,ssh指令操做指令都有如下:

systemctl enable sshd.service【設置sshd服務開機自啓動】

systemctl disable sshd.service【關閉sshd服務開機自啓動】

ystemctl start sshd.service【開始sshd服務】

systemctl stop sshd.service【關閉sshd服務】

systemctl restart sshd.service【重啓sshd服務】

reboot後,而後查看端口服務狀況:

netstat -lntp

顯示以下:

1476/sshd           
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN

1476/sshd           
tcp6       0      0 ::1:631                 :::*                    LISTEN

ok,配置成功。

2.2 配置ssh免登錄

配置ssh免登錄首先須要root權限去修改:

/etc/ssh

下的 sshd_config文件

vim sshd_config;

將文件中三個配置解除註釋(刪除#號)

AuthorizedKeysFile      .ssh/authorized_keys

RSAAuthentication yes

PubkeyAuthentication yes

而後保存,退出,從新啓動ssh

systemctl restart sshd.service

接下來的步驟必須是普通用戶操做,否則會致使ssh配置失敗,沒法實現免密碼登陸

緣由是你的.ssh文件被放在了/root目錄下,根本沒有起到做用.

生成密鑰:

ssh-keygen

一直cd ~/.ssh

cat id_rsa.pub >> authorized_keys,

ssh localhost驗證,輸入root密碼,以後會出現一個lastLogin,說明成功

第三步:配置hadoop2.2.0

下載hadoop2.2.0,這裏給一個apache的全部開元項目的下載位置:achirive.apache.org

找到hadoop包,下載相應版本,我沒有下載stable幾個包裏的,而是選擇下載了2.2.0版本

下載後,解壓:

cd /; mkdir hadoop;

tar -zxvf hadoop2.2.0.tar.gz -C /hadoop;

首先配置hadoop的環境變量:

vim /etc/profile;

i

export HADOOP_HOME=/hadoop/hadoop-2.2.0
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/lib

最後的配置完整以下:

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

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/lib

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

export HADOOP_HOME=/hadoop/hadoop-2.2.0
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

這裏的路徑是在java的path基礎上追加,以:分割。

esc,shift+:;wq;

而後配置hadoop自身配置

cd /hadoop/hadoop-2.2.0/etc/hadoop

ls

顯示:

capacity-scheduler.xml      hdfs-site.xml               mapred-site.xml
configuration.xsl           httpfs-env.sh               slaves
container-executor.cfg      httpfs-log4j.properties     ssl-client.xml.example
core-site.xml               httpfs-signature.secret     ssl-server.xml.example
hadoop-env.cmd              httpfs-site.xml             yarn-env.cmd
hadoop-env.sh               log4j.properties            yarn-env.sh
hadoop-metrics2.properties  mapred-env.cmd              yarn-site.xml
hadoop-metrics.properties   mapred-env.sh
hadoop-policy.xml           mapred-queues.xml.template
這裏要修改:core-site.xml ,hadoop-env.sh ,hdfs-site.xml ,mapred-site.xml,yarn-site.xml五個。

3.1 core-site.xml

<configuration>

<!--hdfs臨時文件存放位置-->
<property>
<name>haddop.tmp.dir</name>
<value>/hadoop/hadoop-2.2.0/tmp</value>
</property>
<property>

<!--hdfs的namenode的通訊地址-->

<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
<final>true</final>
</property>
</configuration>

3.2 hadoop-env.sh

export JAVA_HOME=/usr/java/jdk1.7.0_79
這裏是從新配置JAVA_HOME

3.3 hdfs-site.xml

<configuration>

<!--這裏是配置nameode的文件存放位置,若這裏沒有配置不會影響namenode數據存放

他會默認存放到core-site.xml文件中配置的tmp文件下,命名爲name-->

<property>
<name>dfs.namenode.name.dir</name>
<value>/dfs/nameNodeData</value>
</property>

<!--這裏是配置datanode的文件存放位置,若這裏沒有配置不會影響datanode數據存放

他會默認存放到core-site.xml文件中配置的tmp文件下,命名爲data-->


<property>
<name>dfs.datanode.data.dir</name>
<value>/dfs/dataNodeData</value>
</property>

<!--這裏是配置secondaryNamenode的文件存放位置,若這裏沒有配置不會影響datanode數據存放

他會默認存放到core-site.xml文件中配置的tmp文件下,命名好像是secondaryname之類的-->

<property>
<name>dfs.checkpoint.ir</name>
<value>/dfs/secondaryNamenodeData</value>
</property><property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>

3.4 mapred-site.xml

這裏的配置文件並不存在,只存在mapred-site.xml.template,須要重命名

mv mapred-site.xml.template mapred-site.xml

vim mapred-site.xml

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

3.5 yarn-site.xml

<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>


3.6 初始化hdfs

cd /hadoop/hadoop-2.2.0/bin

./hdfs namenode -format

信息中有:Storage directory /dfs/nameNodeData has been successfully formatted.
格式化成功。

3.7 開啓hdfs服務,開啓yarn服務

cd /hadoop/hadoop-2.2.0/sbin

./start-dfs.sh

這裏因爲沒有配置ssh免密碼登錄,因此會屢次輸入密碼

./start-yarn.ssh

這裏因爲沒有配置ssh免密碼登錄,因此會屢次輸入密碼

驗證:

localhost:50070                              --[dfs]

localhost:8088                                --[yarn]

能打開就算配置成功

第四步:配置eclipse與hadoop集成

相關文章
相關標籤/搜索