CentOS上hadoop伪分布式配置

  Hadoop是用作处理大数据用的,核心是HDFS、Map/Reduce。虽然目前工作中不需要使用这个,但是,技多不压身,经过虚拟机很多遍的尝试,终于将Hadoop2.5.2的环境顺利搭建起来了。

       首先准备一个CentOS,将主机名改为master,并且在/etc/hosts里面加入master对应的本机ip地址。

Linux基本配置

?
1
2
3
4
5
vi  /etc/sysconfig/network
#编辑文件里面的HOSTNAME=master
vi  /etc/hosts
#添加
本机IP地址   master

         然后关闭iptables并设置开机不启动。

?
1
2
service iptables stop
chkconfig iptables off

重启系统,接下来是配置ssh无密码登陆。配置这个的理由是在启动hadoop可以不用输入密码。

SSH无密码登陆

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
vi  /etc/ssh/sshd_config
#以下4行的注释需要打开
HostKey  /etc/ssh/ssh_host_rsa_key
RSAAuthentication  yes
PubkeyAuthentication  yes
AuthorizedKeysFile      . ssh /authorized_keys
 
#保存,并重启sshd
 
service sshd restart
 
#生成免登陆秘钥
ssh -keygen -t rsa
#一路回车就行。之后会在当前登陆用户主目录中的.ssh文件夹里生成2个文件。
#进入.ssh目录。
cat  id_rsa.pub >> authorized_keys
 
#现在可以用ssh无密码登陆系统了。
ssh  localhost

JDK安装配置(略)

使用的版本是jdk-7u79-linux-x64。

安装并配置Hadoop2.5.2

将下载好的tar.gz包上传至环境。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
tar  -zxvf hadoop-2.5.2. tar .gz -C  /usr
 
vi  /etc/profile
 
#将以下内容放在最后面。
export  JAVA_HOME= /usr/java/jdk1 .7.0_79
export  CLASSPATH=.:$JAVA_HOME /lib/dt .jar:$JAVA_HOME /lib/tools .jar
export  HADOOP_HOME= /usr/hadoop-2 .5.2
export  PATH=$PATH:$JAVA_HOME /bin :$HADOOP_HOME /bin :$HADOOP_HOME /sbin
export  HADOOP_COMMON_HOME=$HADOOP_HOME
export  HADOOP_HDFS_HOME=$HADOOP_HOME
export  HADOOP_MAPRED_HOME=$HADOOP_HOME
export  HADOOP_YARN_HOME=$HADOOP_HOME
export  HADOOP_CONF_DIR=$HADOOP_HOME /etc/hadoop
export  HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME /lib/native
export  HADOOP_OPTS=-Djava.library.path=$HADOOP_HOME /lib
 
 
#保存,并执行source /etc/profile
 
 
 
#配置Hadoop
#创建hadoop的name与data目录
mkdir  -p  /usr/hdfs/name
mkdir  -p  /usr/hdfs/data
mkdir  -p  /usr/hdfs/tmp
 
cd  /usr/hadoop-2 .5.2 /etc/hadoop
设置以下文件的JAVA_HOME
hadoop- env .sh hadoop-yarn.sh
 
 
vi  core-site.xml
#在configuration节点里面加入以下配置,注意ip改为本机ip
<property>
       <name>hadoop.tmp. dir < /name >
       <value> /usr/hdfs/tmp < /value >
       <description>A base  for  other temporary directories.< /description >
   < /property >
<!-- file  system properties-->
   <property>
       <name>fs.defaultFS< /name >
       <value>hdfs: //192 .168.1.112:9000< /value >
   < /property >
   
 
 
vi  hdfs-site.xml
#同样在configuration节点里面加入以下配置
     <property>
         <name>dfs.namenode.name. dir < /name >
         <value> /usr/hdfs/name < /value >
     < /property >
     <property>
         <name>dfs.datanode.data. dir < /name >
         <value> /usr/hdfs/data < /value >
     < /property >
     <property>
         <name>dfs.replication< /name >
         <value>1< /value >
     < /property >
     <property>
         <name>dfs.permissions< /name >
         <value> false < /value >
     < /property >
     
 
#从模板复制一份mapred-site.xml
cp  mapred-site.xml.template mapred-site.xml
vi  mapred-site.xml
#同样在configuration节点里面加入以下配置
<property>
   <name>mapreduce.framework.name< /name >
   <value>yarn< /value >
< /property >
   
 
vi  yarn-site.xml
#同样在configuration节点里面加入以下配置,注意将ip地址换成本机的。
<property>
     <name>yarn.nodemanager.aux-services< /name >
     <value>mapreduce_shuffle< /value >
   < /property >
   <property>
     <description>The address of the applications manager interface  in  the RM.< /description >
     <name>yarn.resourcemanager.address< /name >
     <value>192.168.1.112:18040< /value >
   < /property >
   <property>
     <description>The address of the scheduler interface.< /description >
     <name>yarn.resourcemanager.scheduler.address< /name >
     <value>192.168.1.112:18030< /value >
   < /property >
   <property>
     <description>The address of the RM web application.< /description >
     <name>yarn.resourcemanager.webapp.address< /name >
     <value>192.168.1.112:18088< /value >
   < /property >
   <property>
     <description>The address of the resource tracker interface.< /description >
     <name>yarn.resourcemanager.resource-tracker.address< /name >
     <value>192.168.1.112:8025< /value >
   < /property >

至此,已经将Hadoop初步的环境配置好了,在启动之前还需要格式化namenode。

输入命令“hadoop namenode -format”;

启动命令:

start-dfs.sh

start-yarn.sh

停止命令:

stop-dfs.sh

stop-yarn.sh

启动完毕,打开浏览器输入  http://192.168.1.112:50070  与  http://192.168.1.112:18088  验证安装。


测试Hadoop

通过运行hadoop自带的wordcount来验证安装是否正确。

进入hadoop安装的目录,输入以下命令。

?
1
2
mkdir  example
cd  example


编辑file1.txt与file2.txt

?
1
vi  file1.txt

hello zhm

hello hadoop

hello cz


?
1
vi  file2.txt

hadoop is ok

hadoop is newbee

hadoop 2.5.2


?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
cd  ..
hadoop fs - mkdir  /data
hadoop fs -put -f example /file1 .txt example /file2 .txt  /data
#运行wordcount例子
hadoop jar . /share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2 .5.2-sources.jar org.apache.hadoop.examples.WordCount  /data  /output
#查看运行结果
hadoop fs - cat  /output/part-r-00000
#结果如下:
2.5.2   1
cz      1
hadoop  4
hello   3
is      2
newbee  1
ok      1
zhm     1

   到这里,环境就已经配置好了,下面就是搞使用Maven开发Hadoop项目了。

HDFS常用命令

创建HDFS文件夹

在根目录创建input文件夹

Text |  复制
1
hdfs dfs -mkdir -p /input

在用户目录创建input文件夹

说明:如果不指定“/目录”,则默认在用户目录创建文件夹

Text |  复制
1
2
hdfs dfs -mkdir -p input
#等同于 hdfs dfs -mkdir -p /user/hadoop/input

查看HDFS文件夹

查看HDFS根文件夹

Text |  复制
1
hdfs  dfs  -ls /

查看HDFS用户目录文件夹

Text |  复制
1
hdfs  dfs  -ls

查看HDFS用户目录文件夹下input文件夹

Text |  复制
1
2
hdfs  dfs  -ls input
#等同与 hdfs  dfs  -ls /user/hadoop/input

复制文件到HDFS

Text |  复制
1
hdfs dfs -put /usr/hadoop/etc/hadoop input

删除文件夹

Text |  复制
1
hdfs  dfs  -rm -r input

10参考资料

单机伪分布式搭建教程:http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SingleCluster.html

集群环境搭建教程:http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/ClusterSetup.html


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值