hadoop2.6.0搭建(简洁明了10分钟完全搞定)

来源:互联网 发布:base64 json 图片 编辑:程序博客网 时间:2024/06/05 07:46
hadoop2.6环境搭建


1,准备环境:虚拟机hadoop01,修改ip地址master (192.168.111.10)
slaves1(192.168.111.11)  slave2192.168.111.12) 
2,修改主机名字
sudo gedit /etc/hostname(三个主机都要该)




一、安装jdk(1.7)   注意:jdk版本必须要和系统的版对应(比如64位系统对应64位jdk)
1,将解压后的jdk1.7.0_07目录移动到/opt/java/目录下
命令:sudo tar zxvf ./jdk-7u79-linux-x64.tar.gz 


命令:sudo mv ./jdk1.7.0_79/ /opt/java/


修改文件夹的名字
命令:sudo mv jdk1.7.0_79/ jdk1.7/


2,配置环境变量
在终端输入如下:
命令:sudo gedit ~/.bashrc  或者(vi ~/.bashrc)


在该文件的末尾添加一下几行代码
export JAVA_HOME=/opt/java/jdk1.7
export CLASSPATH=${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH


为了让更改立即生效,在终端执行如下命令
source ~/.bashrc


查看是否安装成功
java -version


二、ssh免验证


1,修改主机名字
sudo gedit /etc/hostname(三个主机都要改)


2,修改映射文件hosts增加对应的主机(每一台主机都需要配置映射)
sudo gedit /etc/hosts


192.168.111.10 hadoop01
192.168.111.11 hadoop02
192.168.111.12 hadoop03


安装ssh(全部安装,有些虚拟机自带,没有就要安装)
sudo apt-get install openssh-server
(或者 yum install openssh-server)


启动ssh服务 service sshd start


如果发现 sshd 和 ssh-agent 即表明 ssh服务基本运行正常
ps -e | grep ssh


如果在hadoop01中无法输入cd ~/.ssh,提示没有此目录,可以输入ssh localhost
接着在hadoop01输入:ssh-keygen -t rsa 
生成秘钥




紧接着hadoop01中继续输入:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys




确保hadoop01能无密码登录到A中。可以使用ssh localhost来验证(ssh localhost要免密码登陆需要给authorized_keys 600权限)


如何没有提示输入密码,则hadoop01验证成功,否则重新执行以上生成秘钥操作


还是在hadoop01中进行秘钥验证(验证很多方法,这里最简单粗暴)
scp -r ~/.ssh/* luffy@hadoop02:/home/luffy/.ssh
如果出现没有权限,必须修改其他节点中的.ssh的权限问题,改成755(再改回来)
然后进行登录验证
ssh hadoop02
成功过通过
其它节点同样的操作




ssh免验证完成




三、hadoop2.6安装


1,解压hadoop安装包 tar -xzvf hadoop-2.6.0.tar.gz 


2,move到指定的目录下
mv  hadoop-2.6.0 ~/opt/ 


进入hadoop-2.6.0
cd hadoop-2.6.0
可以查看当前目录下的文件
bin  etc      lib      LICENSE.txt  README.txt  share
dfs  include  libexec  NOTICE.txt   sbin        tmp


3,配置之前,现在本地文件系统创建一下文件夹
~/hadoop-2.6.0/tmp
~/dfs/data
~/dfs/name


主要涉及的配置文件有7个:都在hadoop-2.6.0/etc/hadoop文件目录下


~/hadoop-2.6.0/etc/hadoop/hadoop-env.sh
~/hadoop-2.6.0/etc/hadoop/yarn-env.sh
~/hadoop-2.6.0/etc/hadoop/slaves
~/hadoop-2.6.0/etc/hadoop/core-site.xml
~/hadoop-2.6.0/etc/hadoop/hdfs-site.xml
~/hadoop-2.6.0/etc/hadoop/mapred-site.xml(如果没有可以按照模板拷贝一个)
~/hadoop-2.6.0/etc/hadoop/yarn-site.xml


++++++++一下文件修改都是通过sudo gedit ***+++++++++++


3.1、配置hadoop-env.sh文件-->>修改JAVA_HOME
export JAVA_HOME=/opt/java/jdk1.7


3.2、配置yarn-env.sh文件-->>修改JAVA_HOME
export JAVA_HOME=/opt/java/jdk1.7


3.3、配置slaves文件-->>增加slave节点

hadoop01

hadoop02
hadoop03


3.4、配置core-site.xml文件-->>增加hadoop核心配置(hdfs文件端口号是9000
、file:/home/luffy/opt/hadoop-2.6-0/tmp、)


<configuration>
<property>
  <name>fs.defaultFS</name>
  <value>hdfs://hadoop01:9000</value>
 </property>
 <property>
  <name>io.file.buffer.size</name>
  <value>131072</value>
 </property>
 <property>
  <name>hadoop.tmp.dir</name>
  <value>file:/home/luffy/opt/hadoop-2.6.0/tmp</value>
  <description>Abasefor other temporary directories.</description>
 </property>
 <property>
  <name>hadoop.proxyuser.luffy.hosts</name>
  <value>*</value>
 </property>
<property>
  <name>hadoop.proxyuser.luffy.groups</name>
  <value>*</value>
 </property>
</configuration>


3.5、配置hdfs-site.xml文件-->>增加hdfs配置信息(namenode、datanode端口号和目录位置)


<configuration>
<property>
  <name>dfs.namenode.secondary.http-address</name>
  <value>hadoop01:9001</value>
 </property>


  <property>
   <name>dfs.namenode.name.dir</name>
   <value>file:/home/luffy/opt/hadoop-2.6.0/dfs/name</value>
 </property>


 <property>
  <name>dfs.datanode.data.dir</name>
  <value>file:/home/luffy/opt/hadoop-2.6.0/dfs/data</value>
  </property>


 <property>
  <name>dfs.replication</name>
  <value>3</value>
 </property>


 <property>
  <name>dfs.webhdfs.enabled</name>
  <value>true</value>
 </property>
</configuration>


3.6、配置mapred-site.xml文件-->>增加mapreduce配置(使用yarn框架、jobhistory使用地址以及web地址)
<configuration>
 <property>
   <name>mapreduce.framework.name</name>
   <value>yarn</value>
 </property>
 <property>
  <name>mapreduce.jobhistory.address</name>
  <value>hadoop01:10020</value>
 </property>
 <property>
  <name>mapreduce.jobhistory.webapp.address</name>
  <value>hadoop01:19888</value>
 </property>
</configuration>


3.7、配置yarn-site.xml文件-->>增加yarn功能


<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>hadoop01:8032</value>
  </property>
  <property>
   <name>yarn.resourcemanager.scheduler.address</name>
   <value>hadoop01:8030</value>
  </property>
  <property>
   <name>yarn.resourcemanager.resource-tracker.address</name>
   <value>hadoop01:8035</value>
  </property>
  <property>
   <name>yarn.resourcemanager.admin.address</name>
   <value>hadoop01:8033</value>
  </property>
  <property>
   <name>yarn.resourcemanager.webapp.address</name>
   <value>hadoop01:8088</value>
  </property>
</configuration>


4、将配置好的hadoop文件copy到另一台slave机器上(完成copy一定要检查环境变量的配置)
scp -r /opt/hadoop-2.6.0/ luffy@hadoop02:~/opt/


四、验证
1,格式化namenode:
在hadoop01中操作
进入 cd hadoop-2.6.0
命令:./bin/hdfs  namenode -format




5、启动hdfs
 命令:./sbin/start-dfs.sh 


 命令:jps


4947 NameNode
5438 Jps
5068 DataNode
5216 SecondaryNameNode


配置hadoop命令


vi ~/.bashrc


export JAVA_HOME=/home/chao/jdk1.7.0_79
export HADOOP_HOME=/home/chao/hadoop-2.6.0
export CLASSPATH=${JAVA_HOME}/lib
export PATH=.:$HADOOP_HOME/bin:${JAVA_HOME}/bin:$PATH


hadoop搭建完成
原创粉丝点击