部署環境: 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編輯器打開/ ...
部署環境:
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,[email protected],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,[email protected]
重啟sshd服務後,即可正常連接。
導致此問題的原因是ssh升級後,為了安全,預設不再採用原來一些加密演算法,我們手工添加進去即可。
克隆虛擬機 修改主機名,IP
克隆的虛擬機 IP配置里的MAC地址註意修改(HWADDR)
建立SSH互信
master執行:
ssh-keygen -t rsa
scp id_rsa.pub [email protected]:/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