一、安裝虛擬機java
虛擬機:VMware-workstation 11.0.0 node
操做系統:CentOS-6.5 64位linux
二、安裝Xmanagerweb
版本:Xmanager-v5.0.0,完成安裝後,使用Xshell鏈接linux虛擬機,鏈接成功。shell
往虛擬機里拉文件比較方便,可是當虛擬機網絡鏈接改成橋接模式後變不能使用這個了。apache
三、建立用戶組和用戶bash
建立用戶組:groupadd hadoop網絡
添加用戶:useradd hadoop -g hadoopapp
四、安裝jdkssh
a)安裝包:jdk-7u21-linux-i586.tar.gz(不推薦使用rpm格式)
b)解壓到/opt文件目錄:tar -zxvf jdk-7u21-linux-i586.tar.gz -C /opt
c)更名爲java:mv jdk1.7.0_21 java
d)配置環境變量:vi /etc/profile,添加以下內容
export JAVA_HOME=/opt/java
exprot PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
e)使配置文件當即生效:source /etc/profile
f)設置全部者爲hadoop:chown -R hadoop:hadoop java/
五、安裝Hadoop
a)安裝包:hadoop-2.6.3.tar.gz
b)解壓到/opt,更名爲hadoop
c)設置環境變量:vi /etc/profile,添加以下內容
export HADOOP_HOME=/opt/hadoop export PATH=$HADOOP_HOME/bin:$PATH
d)使配置文件當即生效:source /etc/profile
e)設置全部者爲hadoop:chown -R hadoop:hadoop hadoop/
f)在hadoop目錄下新建三個文件目錄:mkdir name/ ; mkdir data/ ; mkdir tmp/
六、修改地址解析文件/etc/hosts
命令:vi /etc/hosts,添加以下內容
192.168.253.131 master 192.168.253.132 data1 192.168.253.133 data2
七、修改hadoop配置文件
切換到hadoop用戶,修改hadoop/etc/hadoop(老版本是hadoop/conf)下的配置文件:
a)hadoop-env.sh和yarn-env.sh
修改:
export JAVA_HOME=/opt/java
b)core-site.xml 在<configuration> </configuration>標籤中添加以下內容:
<property> <name>hadoop.tmp.dir</name> <value>file:/opt/hadoop/tmp</value> </property> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>io.file.buffer.size</name> <value>131072</value> </property> <property> <name>hadoop.proxyuser.u0.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.u0.groups</name> <value>*</value> </property>
c)hdfs-site.xml 在<configuration></configuration>標籤中添加以下內容:
<property> <name>dfs.namenode.secondary.http-address</name> <value>master:9001</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/opt/hadoop/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/opt/hadoop/data</value> </property> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property>
d)默認只有mared-site.xml.template,複製並命名:cp mared-site.xml.template mared-site.xml
在<configuration></configuration>標籤中添加以下內容:
<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>master:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>master:19888</value> </property>
e)yarn-site.xml
在<configuration></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>master:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>master:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>master:8035</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>master:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>master:8088</value> </property>
f)配置slaves文件-->>增長slave節點
vi slaves data1 data2
八、克隆
完整克隆出兩個虛擬機,改hostname:vi /etc/hostname,分別爲master、data1、data2
九、配置虛擬機網絡
虛擬機安裝後默認的是NAT模式,自動獲取ip,本機能上網,虛擬機就能上網。Haoop集羣部署,最好是把三個虛擬機設爲橋接模式,就須要注意把三個ip設在同一個網段。
因爲克隆後的系統,虛擬機只是修改了虛擬機的名字MAC等,並在/etc/udev/rules.d/70-persistent-net.rules文件中增長了一行名爲eth1的設備名,
1)vi /etc/udev/rules.d/70-persistent-net.rules 文件
刪除掉 關於 eth0 的信息,修改 第二條 eth1 的網卡的名字爲 eth0。
2)vi /etc/udev/rules.d/70-persistent-net.rules和/etc/sysconfig/network-scripts/ifcfg-eth0
中的MAC地址要與虛擬機網卡的MAC地址相對應。
3)vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改UUID和IPADDR
到此:在master上ping data1和data2,能ping通,網絡就配置好了
十、SSH無密碼登陸
1)產生密鑰
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
2)導入authorized_keys
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
3)試驗看是否安裝成功
#查看是否有sshd進程 ps -e | grep ssh
#嘗試登陸本地 ssh localhost
4)密鑰共享
#以下:hadoop是個人用戶名
#進入master的.ssh目錄
scp authorized_keys hadoop@data1:~/.ssh/authorized_keys_master
#進入data1的.ssh目錄
cat authorized_keys_master >> authorized_keys
scp authorized_keys hadoop@data2:~/.ssh/authorized_keys_master
#進入data2的.ssh目錄
cat authorized_keys_master >> authorized_keys
#此時的authorized_keys已經包含了三個虛擬機的密鑰,複製給master和data1
scp authorized_keys hadoop@master:~/.ssh/authorized_keys
scp authorized_keys hadoop@data1:~/.ssh/authorized_keys
5)無密碼登陸測試
ssh data1
ssh data2
...
十一、配置Hadoop環境變量
export JAVA_HOME=/opt/java export HADOOP_HOME=/opt/hadoop export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin: $HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
前面已經配置過jdk的環境變量,只需再加上hadoop的就行
十二、啓動hadoop
hadoop namenode -format
start-all.sh
查看進程:jps
出現錯誤
-bash: /opt/java/bin/jps: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
yum install glibc.i686
下載失敗的話,使用以下方法
配置yum本地 安裝缺乏包(適合OEL)
mount /dev/cdrom1 /mnt
cd /etc/yum.repos.d 把裏面CentOS開頭的(默認的網絡下載相關文件)備份到aa(文件夾)
vi /etc/yum.repos.d/rhel-source.repo
[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=file:///mnt/
enabled=1
gpgcheck=0
yum install glibc.i686
做者的話:該文檔只是本身嘗試搭建hadoop作的一個筆記,有不清楚或者不對的地方還望見諒,若是發現不對的地方,望指明,共同窗習,共同進步。