Hadoop 1、在虛擬機上進行 HDFS 安裝


一、准備條件

1.四台Linux虛擬機(1台NameNode節點,1台Secondary節點(Secondary和其中1台DataNode共用),外加2台DataNode)

2.下載Hadoop版本,本例使用Hadoop-2.5.2版本

二、安裝Java  JDK 

最好安裝,JDK 1.7 因為JDK 1.7的兼容性最好

#安裝JDK
rpm -ivh jdk-7u79-linux-x64.rpm

#配置環境變量
vi /root/.bash_profile


JAVA_HOME=/usr/java/jdk1.7.0_79
PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/usr/local/hadoop-2.5.1
PATH=$PATH:$HADOOP_HOME/bin
#HADOOP_HOME 是后面要用到的,為了方便提前寫進來

配置完成以后,通過  java -version可以查看是否安裝成功

三、配置hosts文件

vi /etc/hosts
#在該文件中建入
192.168.171.15 node5
192.168.171.16 node6
192.168.171.17 node7
192.168.171.18 node8

四、安裝SSH 設置免密碼登錄

#創建密鑰(一定要在NameNode節點上):
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
#將密鑰添加到公鑰:
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

 然后將公鑰添加到其他節點的authorized_keys上:

$ scp ~/.ssh/id_dsa.pub root@node6:/opt
$ scp ~/.ssh/id_dsa.pub root@node7:/opt
$ scp ~/.ssh/id_dsa.pub root@node8:/opt
#然后分別登錄這三台虛擬機,將公鑰覆蓋到公鑰中
$ cat /opt/id_dsa.pub >> ~/.ssh/authorized_keys

如果在進行上述操作的時候報:

-bash: /root/.ssh/authorized_keys: No such file or directory的錯誤,則需要先在該節點上創建一下本地公鑰,然后再把主節點上的公鑰添加到該節點上,具體操作看上方NameNode操作;

配置完成以后使用nameNode 分別:ssh node6 ; ssh node7  ssh node8 ;如果在登錄的時候沒有顯示要輸入密碼則說明成功了;(在ssh 登錄一個節點以后,需要先退出然后才能再登錄,使用exit退出);

五、安裝Hadoop 

1.解壓hadoop-2.5.1 並移動到/usr/local/hadoop-2.5.1

$ tar -zxvf hadoop-2.5.1.tar.gz
$ mv hadoop-2.5.1 /usr/local

2.配置Hadoop配置文件

$ cd /usr/local/hadoop-2.5.1/etc/hadoop/
$ vim hadoop-env.sh
 #寫入
   export JAVA_HOME=/usr/java/latest

$ vim etc/hadoop/core-site.xml
#寫入,配置NameNode的讀寫入口點和目錄
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://node5:9000</value>
    </property>
  <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/hadoop</value>
    </property>
</configuration>

$ vim etc/hadoop/hdfs-site.xml
#寫入,配置Secondry
<configuration>
   <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>node6:50090</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.https-address</name>
        <value>node6:50091</value>
    </property>
</configuration>

配置DataNode節點:

$ vim etc/hadoop/slaves
#寫入 配置dataNode
node6
node7
node8

$ vim etc/hadoop/masters
#寫入,配置HDFS的secondry節點
node6

配置完成后將所有的配置文件在其他節點上覆蓋一下:

scp -r hadoop/ root@node8:/usr/local/hadoop-2.5.1/etc/hadoop/
scp -r hadoop/ root@node6:/usr/local/hadoop-2.5.1/etc/hadoop/
scp -r hadoop/ root@node7:/usr/local/hadoop-2.5.1/etc/hadoop/

關閉防火牆,並同步時間:

$ service iptables stop
$ ntpdate s2c.time.edu.cn

3.格式化並初始化

$ bin/hdfs namenode -format

4.啟動並訪問

$ sbin/start-dfs.sh
#這是關閉命令
$ sbin/stop-dfs.sh

訪問 nodeName:http://node5:50070/    http://node6:50070/ 如果能看到以下界面就說明成功了:

七、在HDFS上 創建上傳文件

$ hdfs dfsadmin #查看幫助
$ hdfs dfs -mkdir /test   #創建HDFS的根目錄
$ hdfs dfs -ls /  #查看hdfs的目錄
$ hdfs dfs -put /root/**  /test/  #上傳文件到hdfs
$ hdfs dfs chmod  -777 /test  #放開hdfs的權限
$ hdfs dfs -help ls #查看命令幫助

 


免責聲明!

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



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