環境配置:java
虛擬機:vmware workstation 12node
系統:centos7linux
節點:web
192.168.1.111 yun1apache
192.168.1.112 yun2vim
192.168.1.113 yun3centos
jdk-7u79-Linux-x64.gz (Java )app
hadoop-2.7.3.tar.gz (Hadoop 包)ssh
1.修改虛擬機的hostname和hosts文件webapp
hostname(修改主機名):vim /etc/hostname
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
hosts(設置節點名與ip的映射):vim /etc/hosts
![](http://static.javashuo.com/static/loading.gif)
2.安裝jdk與配置環境變量
1)下載jdk安裝包(自行百度),並將安裝包拖入到虛擬機當中
2)經過cd命令進入到安裝包的當前目錄,利用以下命令進行解壓縮。
tar -zxvf jdk *****(安裝包名稱)
3)利用以下命令將解壓後的文件夾移到/usr目錄下
mv jdk1.7...(文件夾名稱) /opt
4)配置環境變量
vim /etc/profile
在末尾添加
- export JAVA_HOME=/usr/java
- export JRE_HOME=/usr/java/jre
- export CLASSPATH=$JAVA_HOME/lib
- export PATH=:$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
輸入以下命令使配置生效:source /etc/profile
查看是否成功:java
![](http://static.javashuo.com/static/loading.gif)
3.設置ssh免密碼登陸
對主機和節點都使用ssh-keygen -t rsa生成.ssh文件夾,而後將本機.ssh中的id_rsa.pub中的內容覆蓋到節點.ssh文件夾中的authorized_keys.
ssh-keygen -t rsa
scp ~/.ssh/id_rsa.pub root@yun*:~/.ssh/authorized_keys
對每個節點都發送這個認證文件後:執行 chmod 600 ~/.ssh/authorized_keys
進行權限的修改
這樣就能夠了。
4.在主機yun1上配置hadoop而後發送到其餘節點上
1)解包移動
- #解壓hadoop包
- tar -zxvf hadoop...
- #將安裝包移到/opt目錄下
- mv hadoop... /opt/hadoop
2)新建文件夾
- #在/opt/hadoop目錄下新建以下目錄(root)
- mkdir dfs
- mkdir dfs/name
- mkdir dfs/data
- mkdir tmp/
3)配置文件:hadoop-env.sh(文件都在/opt/hadoop/etc/hadoop中)
修改JAVA_HOME值(export JAVA_HOME=/opt/jdk1.7.0_79)
4)配置文件:yarn-env.sh
修改JAVA_HOME值(export JAVA_HOME=/opt/jdk1.7.0_79)
5)配置文件:slaves
將內容修改成:
yun2
yun3
6)配置文件:core-site.xml
- <configuration>
- <property>
- <name>fs.defaultFS</name>
- <value>hdfs://yun1:9000</value>
- </property>
- <property>
- <name>io.file.buffer.size</name>
- <value>131072</value>
- </property>
- <property>
- <name>hadoop.tmp.dir</name>
- <value>file:/opt/hadoop/tmp</value>
- <description>Abase for other temporary directories.</description>
- </property>
- </configuration>
7)配置文件:hdfs-site.xml
- <configuration>
- <property>
- <name>dfs.namenode.secondary.http-address</name>
- <value>yun1:9001</value>
- </property>
- <property>
- <name>dfs.namenode.name.dir</name>
- <value>file:/opt/hadoop/dfs/name</value>
- </property>
- <property>
- <name>dfs.datanode.data.dir</name>
- <value>file:/opt/hadoop/dfs/data</value>
- </property>
- <property>
- <name>dfs.replication</name>
- <value>2</value>
- </property>
- <property>
- <name>dfs.webhdfs.enabled</name>
- <value>true</value>
- </property>
- </configuration>
8)配置文件:mapred-site.xml
先建立而後編輯
cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml
vim etc/hadoop/mapred-site.xml
- <configuration>
- <property>
- <name>mapreduce.framework.name</name>
- <value>yarn</value>
- </property>
- <property>
- <name>mapreduce.jobhistory.address</name>
- <value>yun1:10020</value>
- </property>
- <property>
- <name>mapreduce.jobhistory.webapp.address</name>
- <value>yun1:19888</value>
- </property>
- </configuration>
9)配置文件: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.address</name>
- <value>yun1:8032</value>
- </property>
- <property>
- <name>yarn.resourcemanager.scheduler.address</name>
- <value>yun1:8030</value>
- </property>
- <property>
- <name>yarn.resourcemanager.resource-tracker.address</name>
- <value>yun1:8031</value>
- </property>
- <property>
- <name>yarn.resourcemanager.admin.address</name>
- <value>yun1:8033</value>
- </property>
- <property>
- <name>yarn.resourcemanager.webapp.address</name>
- <value>yun1:8088</value>
- </property>
- </configuration>
10)將hadoop傳輸到yun2和yun3 opt/hadoop目錄,(若是傳輸時報錯說 :權限拒絕,先把文件傳送到非/opt目錄下,而後在yun上把這個文件再移動到/opt/hadoop)
scp -r /usr/hadoop hadoop@yun2:/usr/hadoop
七、配置環境變量,並啓動hadoop,檢查是否安裝成功
1)配置環境變量
#編輯/etc/profile
sudo vim /etc/profile
#以上已經添加過java的環境變量,在後邊添加就能夠
5.配置環境變量,並啓動hadoop,檢查是否安裝成功
- #hadoop
- export HADOOP_HOME=/opt/hadoop/hadoop-2.7.3
- export PATH=$PATH:$HADOOP_HOME/sbin
- export PATH=$PATH:$HADOOP_HOME/bin
執行
source /etc/profile
使文件生效。
2)啓動hadoop,進入hadoop安裝目錄
bin/hdfs namenode -format
sbin/start-all.sh
3)啓動後分別在yun1, yun2下輸入jps查看進程
看到下面的結果,則表示成功。
![](http://static.javashuo.com/static/loading.gif)
錯誤解決:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-Java classes where applicable
提示hadoop不能加載本地庫。
解決方法:配置環境變量
在/etc/profile中,添加下面配置:
![](http://static.javashuo.com/static/loading.gif)
最後記得使配置生效:source /etc/profile
並把相同配置添加到hadoop-env.sh文件末尾。