码迷,mamicode.com
首页 > 其他好文 > 详细

hadoop搭建

时间:2015-05-23 14:10:25      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:

1.准备

去官网下载,http://hadoop.apache.org/ 
然后官网是源码自己编译

 

2.开始搭建

  1. 干掉防火墙
  2. 安装ssh
  3. 安装jdk
  4. 配置ssh无密码访问
  5. 改hadoop配置文件
  6. 测试hadoop wordcount
 

干掉防火墙

ubuntu系列

 

ufw disable 
apt-get remove iptables

redhat系列 
systemctl disable firewalld 
/etc/init.d/iptables stop

 

配置ssh无密码访问

 

cd ~/.ssh 
.ssh里面有ssh的配置文件 
ssh-keygen -t rsa 
一路按回车

 

cat id_rsa.pub>> 
把生成的那个rsa.pub追加到authorized_keys 
配置好ssh试一下

配置Hadoop的环境变量

export HADOOP_HOME=/hadoop/hadoop-2.2.0(hadoop的位置) 
export PATH=$PATH:$HADOOP_HOME/bin 
export PATH=$PATH:$HADOOP_HOME/sbinf

 

配置/etc/hosts

sudo vim /etc/hosts 
在里面添加以下语句 
理解ip对应一个名字 
这个就是下面各种配置文件里

 

<value>hdfs://localhost:9000</value> 
<value>hdfs://localhost:9000</value>
 
192.168.142.136 localhost 
192.168.142.138 master 
192.168.142.139 node 
192.168.142.140 node1

配置java的环境变量

export JAVA_HOME=/usr/java/jdk1.7.0_45(jdk的位置) 
PATH=$JAVA_HOME/bin:$PATH 
export JRE_HOME=$JAVA_HOME/jre 
export CLASSPATH=./:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

 

配置hadooop的/etc/hadoop/的文件

这里要涉及到的配置文件有7个:

~/hadoop-2.2.0/etc/hadoop/hadoop-env.sh

~/hadoop-2.2.0/etc/hadoop/yarn-env.sh

~/hadoop-2.2.0/etc/hadoop/slaves

~/hadoop-2.2.0/etc/hadoop/core-site.xml

~/hadoop-2.2.0/etc/hadoop/hdfs-site.xml

~/hadoop-2.2.0/etc/hadoop/mapred-site.xml

~/hadoop-2.2.0/etc/hadoop/yarn-site.xml

依次修改yarn-env.sh hadoop-env.sh core-site.xml yarn-site.xml mapred-site.xml和hdfs-site.xml配置文件 
1. 改yarn-env.sh hadoop-env.sh里 
在里面找到JAVA_HOME,并将它的值设置为你电脑jdk所在的绝对路径

 

JAVA_HOME=/opt/jdk/ 
(改成自己jdk)的位置 
2. 編輯core-site.xml 
Java代码 
<configuration> 
<property> 
<name>fs.default.name</name> 
<value>hdfs://localhost:9000</value> 
</property> 
<property> 
<name>hadoop.tmp.dir</name> 
<value>/tmp/hadoop/hadoop-${user.name}</value> 
</property> 
</configuration>
 
3. 編輯hdfs-site.xml 
Java代码

 

<configuration> 
<property> 
<name>dfs.replication</name> 
<value>1</value> 
</property> 
</configuration>
 
4. 编辑mapred-site.xml 
Java代码 
<configuration> 
<property> 
<name>mapred.job.tracker</name> 
<value>localhost:9001</value> 
</property> 
</configuration>
 
5. 编辑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>cloud001:8032</value> 
</property> 
<property> 
<name>yarn.resourcemanager.scheduler.address</name> 
<value> cloud001:8030</value> 
</property> 
<property> <name>yarn.resourcemanager.resource-tracker.address</name> 
<value> cloud001:8031</value> 
</property> 
<property> 
<name>yarn.resourcemanager.admin.address</name> 
</property> 
<property> 
<name>yarn.resourcemanager.webapp.address</name> 
<value> cloud001:8088</value> 
</property> 
</configuration>
 
这里大概说的该配置什么,根据自己改。。。。2333

3.开始测试

 


  1. 格式化工作空间 
    进入bin目录,运行 ./hadoop namenode –format
  2. 启动hdfs 
    进入hadoop目录,在bin/下面有很多启动脚本,可以根据自己的需要来启动。 
    • start-all.sh 启动所有的Hadoop守护。包括namenode, datanode, jobtracker, tasktrack
    • stop-all.sh 停止所有的Hadoop
    • start-mapred.sh 启动Map/Reduce守护。包括Jobtracker和Tasktrack
    • stop-mapred.sh 停止Map/Reduce守护
    • start-dfs.sh 启动Hadoop DFS守护Namenode和Datanode
    • stop-dfs.sh 停止DFS守护
  3. start-all.sh然后jps 
    19024 ResourceManager 
    18880 SecondaryNameNode 
    18707 DataNode 
    18565 NameNode 
    19146 NodeManager 
    1292 Jps
  4. 文件操作 

     

    Hadoop使用的是HDFS,能够实现的功能和我们使用的磁盘系统类似。并且支持通配符,如*。 
    查看文件列表 
    查看hdfs中/user/admin/aaron目录下的文件。 
    1. 进入HADOOP_HOME目录。 
    2. 执行sh bin/hadoop fs -ls /user/admin/aaro 
    这样,我们就找到了hdfs中/user/admin/aaron目录下的文件了。 
    我们也可以列出hdfs中/user/admin/aaron目录下的所有文件(包括子目录下的文件)。 
    1. 进入HADOOP_HOME目录。 
    2. 执行sh bin/hadoop fs -lsr /user/admin/aaron 
    创建文件目录 
    查看hdfs中/user/admin/aaron目录下再新建一个叫做newDir的新目录。 
    1. 进入HADOOP_HOME目录。 
    2. 执行sh bin/hadoop fs -mkdir /user/admin/aaron/newDir 
    删除文件 
    删除hdfs中/user/admin/aaron目录下一个名叫needDelete的文件 
    1. 进入HADOOP_HOME目录。 
    2. 执行sh bin/hadoop fs -rm /user/admin/aaron/needDelete 
    删除hdfs中/user/admin/aaron目录以及该目录下的所有文件 
    1. 进入HADOOP_HOME目录。 
    2. 执行sh bin/hadoop fs -rmr /user/admin/aaron 
    上传文件 
    上传一个本机/home/admin/newFile的文件到hdfs中/user/admin/aaron目录下 
    1. 进入HADOOP_HOME目录。 
    2. 执行sh bin/hadoop fs –put /home/admin/newFile /user/admin/aaron/ 
    下载文件 
    下载hdfs中/user/admin/aaron目录下的newFile文件到本机/home/admin/newFile中 
    1. 进入HADOOP_HOME目录。 
    2. 执行sh bin/hadoop fs –get /user/admin/aaron/newFile /home/admin/newFile 
    查看文件 
    我们可以直接在hdfs中直接查看文件,功能与类是cat类似 
    查看hdfs中/user/admin/aaron目录下的newFile文件 
    1. 进入HADOOP_HOME目录。 
    2. 执行sh bin/hadoop fs –cat /home/admin/newFile

  5. 试试跑一wordcount的事例

 

 

hadoop搭建

标签:

原文地址:http://www.cnblogs.com/franzlistan/p/4523970.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!