hadoop2.2.0安裝筆記

NameNode 192.168.1.122  hadoop/hadoopjava


VM  192.168.1.123 node

DataNode1 192.168.1.124 datanode1/datanode1 hadoop/hadooplinux

DataNode2 192.168.1.125 datanode2/datanode2 hadoop/hadoopapache


1、在全部機器上安裝openssh-servervim

sudo apt-get install openssh-server

若是沒有找到openssh-server,請先執行sudo apt-get update更新服務器

安裝完openssh-server以後,就可使用ssh和xftp進行遠程登陸與上傳文件了網絡

2、增長hadoop相關用戶與用戶組ssh

sudo addgroup hadoop
sudo adduser -ingroup hadoop hadoop

給hadoop用戶添加權限,打開/etc/sudoers文件oop

sudo vim /etc/sudoers

增長spa

hadoop ALL=(ALL:ALL) ALL

3、配置網絡映射

vim /etc/hosts

加入

192.168.1.122 NameNode1
192.168.1.124 DataNode1
192.168.1.125 DataNode2

重啓網絡,

sudo /etc/init.d/networking restart


相應的在各個節點中都加入這個映射配置

4、安裝JDK環境

下載jdk-7u60-linux-i586.tar.gz

解壓,並把解壓後的文件夾移動到/use/java下 

tar -xzf jdk-7-linux-i586.tar.gz

mv JDK文夾 目標地址

打開/etc/profile增長以下腳本

export JAVA_HOME=/usr/java/jdk1.7.0_60
export JRE_HOME=/usr/java/jdk1.7.0_60/jre
export HADOOP_HOME=/home/hadoop/hadoop-2.2.0
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/lib/native:$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

使新的配置當即生效 source /etc/profile

若是出現找不到目錄以內的,能夠先查看路徑是否正確,若是是62位系統,而當前安裝的是32位的JDK,需安裝32位的運行庫

sudo apt-get install ia32-libs

5、配置ssh免驗證登陸

切換到hadoop用戶

進入/home/hadoop/.ssh目錄(若是沒有,新建之)

ssh-keygen -t rsa

以後一路回車(產生祕鑰)

在全部的NodeData中也執行ssh-keygen -t rsa,把生成的.pub文件拷到NameNode1上

scp  ~/.ssh/id_rsa.pub hadoop@namenode1:~/.ssh/datanode1.pub

在NameNode服務器把全部服務器的公鑰加入到用於認證的公鑰文件:

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

對authorized_keys進行受權

chmod 600 ~/.ssh/authorized_keys

再將NameNode的受權文件authorized_keys複製到到其餘的機器上:

scp authorized_keys hadoop@datanode1:~/.ssh/

注意:此處須要設置.ssh目錄爲700權限 .ssh/下全部文件爲600權限

6、安裝hadoop

下載hadoop2.2.0 並解壓到/home/hadoop/用戶的目錄下

tar -xzf hadoop-2.2.0.tar.gz

進入hadoop2.2.0目錄,新建tmp目錄 mkdir tmp

7、配置hadoop

進入namenode1的hadoop2.2.0目錄,修改hadoop-env.sh與yarn-env.sh文件

cd /home/hadoop/hadoop-2.2.0/etc/hadoop

vim hadoop-env.sh,修改

export JAVA_HOME = ${JAVA_HOME}


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

在同一路徑下找 core-site.xml,修改它在 < configuration >中添加:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://namenode1:9000/</value>
        <description></description>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/hadoop-2.2.0/tmp</value>
        <description>A base for other temporary directories.</description>
    </property>
</configuration>

同一路徑下修改 mapred-site.xml由於缺省是沒有這個文件的,要用模板文件造一個,命令爲:

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

vim mapred-site.xml加入

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

~                        

同一路徑下修改 hdfs-site.xml, 在 < configuration >中添加:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/home/hadoop/hadoop-2.2.0/dfs/name</value>
        <final>true</final>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/home/hadoop/hadoop-2.2.0/dfs/data</value>
    </property>
</configuration>


配置文件yarn-site.xml內容

<configuration>
    <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>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>namenode1</value>
    </property>
</configuration>


在主節點namenode1上將上面配置好的程序文件,複製分發到各個從節點上:

scp -r /home/hadoop/hadoop-2.2.0 hadoop@datanode1:/home/hadoop/
scp -r /home/hadoop/hadoop-2.2.0 hadoop@datanode2:/home/hadoop/


8、啓動HDFS集羣


通過上面配置之後,能夠啓動HDFS集羣。

爲了保證集羣啓動過程當中不會出現問題,須要手動關閉每一個節點上的防火牆,執行以下命令:

sudo service iptables stop

或者永久關閉防火牆:

sudo chkconfig iptables off
sudo chkconfig ip6tables off


在主節點namenode1上,首先進行文件系統格式化操做,執行以下命令:

hadoop namenode -format

而後,能夠啓動HDFS集羣,執行以下命令:

start-all.sh

在node1(node2)上面運行jps,若是有DataNode、NodeManager二個進程,說明node1(node2)安裝好了。

相關文章
相關標籤/搜索