hadoop安装路径:/usr/local/src
集群的三台linux主机(主机配置是本博客的所使用的)
master:192.168.139.10
slave1:192.168.139.11
slave2:192.168.139.12
首先,安装包可以本地下载好,通过与linux共享文件 ,将其拷贝到linux主机内,或者通过 Xftp 6 工具,将其传送到linux主机内,总之方法多种多样,最后,需要在master主机下的/usr/local/src路径下含有hadoop-1.2.1-bin.tar.gz这个这个压缩包
第一步:解压缩
tar -xzvf hadoop-1.2.1-bin.tar.gz
完成后,在/usr/local/src路径下ls,查看当前路径下文件,会发现多了一个hadoop-1.2.1 文件
第二步:在hadoop内建立临时tmp文件夹
#进入hadoop文件内
cd hadoop-1.2.1
#创建tmp临时文件夹
mkdir tmp
第三步:修改配置文件
# 需要对以下的tmp路径,主机的ip,以及java文件的路径,根据自己配置的主机的要求,进行相应的修改
#添加masters 和slaves文件
#在master内写入master主机名
vim masters
master
#在slaves内写入slave主机名
vim slaves
slave1
slave2
#修改 vim core-site.xml 文件
vim core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/src/hadoop-1.2.1/tmp/</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.139.10:9000</value>
</property>
</configuration>
#修改 vim mapred-site.xml 文件
vim mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>http://192.168.139.10:9001</value>
</property>
</configuration>
#修改vim hdfs-site.xml文件
vim hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
#修改 vim hadoop-env.sh
vim hadoop-env.sh
export JAVA_HOME=/usr/local/src/jdk1.6.0_45
第四步:将master中文件包拷贝到slave1和slave2中
#将hadoop文件拷贝到slave1主机内
scp -r /usr/local/src/hadoop-1.2.1 root@slave1:/usr/local/src/hadoop-1.2.1
#将hadoop文件拷贝到slave2主机内
scp -r /usr/local/src/hadoop-1.2.1 root@slave2:/usr/local/src/hadoop-1.2.1
第五步:ssh互通
进入 /root/.ssh目录下
cd /root/.ssh
--生成密钥(公钥和私钥)
ssh-keygen -t rsa
--查看目录下文件
ls
id_rsa.pub:公钥,authorized_keys:私钥
由于之前已经进行过密钥生成,所以在写博客是,没有进行ssh-keygen -t rsa 密钥生成这一步。
将公钥key追加到私钥中,则进行ssh连接时,不需要再进行输入密码
cat /root/.ssh/id_rsa.pub > /root/.ssh/authorized_keys
(以上生成key,以及追加key从公钥到私钥的过程,三台机子都需要执行)
然后需要对master和slave1、slave2直接互相追加key,让三台机子在连接时都可以直接连接
#相互追加Key
#Master主机内的追加Key
ssh slave1 cat /root/.ssh/authorized_keys >> /root/.ssh/authorized_keys
ssh slave2 cat /root/.ssh/authorized_keys >> /root/.ssh/authorized_keys
#Slave1主机内的追加Key
ssh master cat /root/.ssh/authorized_keys > /root/.ssh/authorized_keys
#Slave2主机内的追加Key
ssh master cat /root/.ssh/authorized_keys > /root/.ssh/authorized_keys
测试ssh互通是否成功:
在maste主机内进行
对slave1进行ssh连接测试
ssh slave1
对slave2进行ssh连接测试
ssh slave2
第六步:启动hadoop集群
--启动集群
# 进入hadoop的执行目录下
cd /usr/local/src/hadoop-1.2.1/bin
#初始化NameNode
./hadoop namenode -format
#启动Hadoop集群
./start-all.sh
--查看各主机内状态
jps
15.关闭集群
./stop-all.sh
master启动hadoop集群
查看master内的集群状态
查看slave1中的集群状态
查看slave2中的集群状态
在master主机中关闭hadoop集群
hadoop1安装成功
以上就是hadoop在linux中的安装
----------------------------------------------------------------------------------
以下是在初始化NameNode过程,出的错误信息以及解决方法
eg:初始化出错:Warning: $HADOOP_HOME is deprecated.
所以我们一般在/etc/profile 文件最后加上 export HADOOP_HOME_WARN_SUPPRESS=1 ,
然后输入命令【source /etc/profile】使其生效即可。
--------------------------------------------------------------------------------------