hadoop初次接觸----------虛擬機、SSH互信及hadoop配置


部署環境:

OS:Fedora 23

JDK:jdk-7u80-linux-x64

Hadoop:hadoop-2.7.2

VMWare:VMware Workstation 12 Pro

 

安裝JDK

rpm -ivh jdk-7u80-linux-x64.rpm

配置環境變量

用vim編輯器打開/etc/profile文件,加入環境變量的定義

JAVA_HOME=/usr/java/jdk1.7.0_80/

PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME

export PATH

 

檢查SSH和rsync是否安裝

 執行 rpm -qa | grep ssh 

openssh-server-7.1p1-3.fc23.x86_64
openssh-7.1p1-3.fc23.x86_64
libssh2-1.6.0-2.fc23.x86_64
openssh-askpass-7.1p1-3.fc23.x86_64
openssh-clients-7.1p1-3.fc23.x86_64

上述顯示表示已安裝

 執行 rpm -qa | grep rsync

rsync-3.1.1-7.fc23.x86_64

 

下載安裝

apt-get install ssh 

apt-get install rsync

 

開啟SSH

service sshd status

service sshd start/stop

 

ssh client 報 algorithm negotiation failed的解決方法之一

修改sshd的配置文件 /etc/ssh/sshd_config

在配置文件中添加:

Ciphers aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3des-cbc,arcfour128,arcfour256,arcfour,blowfish-cbc,cast128-cbc

MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-sha1-96,hmac-md5-96

KexAlgorithms diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group1-sha1,curve25519-sha256@libssh.org

重啟sshd服務后,即可正常連接。

導致此問題的原因是ssh升級后,為了安全,默認不再采用原來一些加密算法,我們手工添加進去即可。

 

克隆虛擬機 修改主機名,IP

  克隆的虛擬機 IP配置里的MAC地址注意修改(HWADDR)

 

建立SSH互信

master執行:

  ssh-keygen -t rsa

  scp id_rsa.pub root@192.168.1.121:/root/.ssh

slave執行:

  cat id_rsa.pub >> authorized_keys

  如果沒有authorized_keys文件,重命名id_rsa.pub為authorized_keys(mv id_rsa.pub authorized_keys)

  chmod 600 authorized_keys

測試:ssh 192.168.1.121 無密碼即可登錄

 

Hadoop配置

  解壓文件:tar -xzvf hadoop-2.7.2.tar.gz

  修改配置文件:

    hadoop-env.sh 找到 export JAVA_HOME=${JAVA_HOME} 修改為export JAVA_HOME=/usr/java/jdk1.7.0_80

core-site.xml

<configuration>
  <property>
    <name>fs.default.name</name>
    <value>hdfs://master:9000</value>
  </property>
  <property>
    <name>Hadoop.tmp.dir</name>
    <value>/hadoop-root</value>
  </property>
</configuration>

注釋一:hadoop分布式文件系統文件存放位置都是基於hadoop.tmp.dir目錄的,namenode的名字空間存放地方就是 ${hadoop.tmp.dir}/dfs/name, datanode數據塊的存放地方就是 ${hadoop.tmp.dir}/dfs/data,所以設置好hadoop.tmp.dir目錄后,其他的重要目錄都是在這個目錄下面,這是一個根目錄。

注釋二:fs.default.name,設置namenode所在主機,端口號是9000

注釋三:core-site.xml 對應有一個core-default.xml,

    hdfs-site.xml對應有一個hdfs-default.xml

    mapred-site.xml對應有一個mapred-default.xml。這三個defalult文件里面都有一些默認配置,現在我們修改這三個site文件,目的就覆蓋default里面的一些配置

  

hdfs-site.xml

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>2</value>
  </property>
</configuration>

dfs.replication,設置數據塊的復制次數,默認是3,如果slave節點數少於3,則寫成相應的1或者2

 

mapred-site.xml

<configuration>
  <property>
    <name>mapred.job.tracker</name>
    <value>http://master:9001</value>
  </property>
</configuration>

mapred.job.tracker,設置jobtracker所在機器,端口號9001




免責聲明!

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



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