service iptables start
当即开启防火墙,可是重启后失效。java
service iptables stop
当即关闭防火墙,可是重启后失效。node
以下命令是永久性操做,重启后生效。linux
chkconfig iptables on
开启防火墙,重启后生效。shell
chkconfig iptables off
关闭防火墙,重启后生效。vim
注意安装hadoop的集群主机名不能有下划线。否则会出现找不到主机的问题,致使集群没法启动。浏览器
配置主机名:bash
vim /etc/sysconfig/network source /etc/sysconfig/network
例如:服务器
NETWORKING=yes HOSTNAME=hadoop01
配置完成,命令操做界面不会立刻修改,须要重启机器才能更改。app
也可使用以下命令,临时修改主机名。ssh
hostname hadoop01
配置此功能,是为了解耦,若是每一个服务中都写具体的ip地址,若是某台服务器的ip地址发生了改变,再次修改ip会是一个很大的工做量;若是在服务配置中使用ip的地方都改为主机名称的方法,那么当某台服务器的ip发生改变,只须要在/etc/hosts文件中更改对应的映射关系便可。
vim /etc/hosts
填入内容格式以下:
127.0.0.1 localhost ::1 localhost 192.168.75.150 hadoop01 其余主机和ip 主机名 ……
此配置和Windows下配置hosts文件是同样的操做。
生成本身的公钥和私钥,生成的公私钥将自动存放在/root/.ssh目录下。
命令以下:
ssh-keygen
把生成的公钥copy到须要互相通讯的远程机器上。
命令以下:
ssh-copy-id root@hadoop01
此时在远程主机的/root/.ssh/authorized_keys文件中保存了公钥,在known_hosts中保存了已知主机信息,当再次访问的时候就不须要输入密码了。
这里须要给本机发一个免密登陆,hadoop在启动的时候,就不须要输入密码了,不然在启动的时候不论是HDFS仍是yarn启动的时候都的输入密码。
ssh hadoop01
经过上述命令远程链接,检验是否能够不需密码链接。
经过fz将jdk安装包上传到本身的管理目录。
解压安装包
tar -zxvf [jdk安装包位置]
修改/etc/profile
这个文件是每一个用户登陆时都会运行的环境变量设置,当用户第一次登陆时,该文件被执行。并从/etc/profile.d目录的配置文件中搜集shell的设置。
vim /etc/profile
在文件行尾加入以下配置后保存退出。
export JAVA_HOME=/home/app/jdk1.7.0_45/ export PATH=$PATH:$JAVA_HOME/bin
注意:JAVA_HOME配置的jdk的目录,切记不要盲目照抄。
从新加载profile使配置生效,命令以下:
source /etc/profile
环境变量配置完成,测试环境变量是否生效,使用以下命令,正常显示变量路径和java信息则配置正确。
echo $JAVA_HOME java -version
经过fz将hadoop安装包上传到linux本身的管理目录,解压安装包。
tar -zxvf [hadoop安装包位置]
如下配置文件,均在hadoop-2.7.1/etc/hodoop/目录下。
经过vim打开hadoop-env.sh。
vim [hadoop]/etc/hadoop/hadoop-env.sh
主要是修改java_home的路径。
在hadoop-env.sh的第27行,把export JAVA_HOME=${JAVA_HOME}修改为和环境变量中JAVA_HOME的路径相同便可。
从新加载使修改生效。命令以下:
source hadoop-env.sh
此文件为核心配置文件,主要管理namenode的配置和文件存储位置的配置。
经过vim打开core-site.xml文件。
vim [hadoop]/etc/hadoop/core-site.xml
初次配置此文件中配置信息为空,须要在<configuration>标签中增长namenode配置、文件存储位置配置。配置信息以下:
<configuration> <property> <!--用来指定hdfs的master,namenode的地址--> <name>fs.defaultFS</name> <value>hdfs://hadoop01:9000</value> </property> <property> <!--用来指定hadoop运行时产生文件的存放目录--> <name>hadoop.tmp.dir</name> <value>/home/park/work/hadoop-2.7.1/tmp</value> </property> </configuration>
第一个<value>标签中,须要注意主机名称,填写本身规划好的主机名称。
第二个<value>标签中,须要规划本身的tmp目录的存放位置,按照本身的规划填写便可,千万不要使用Linux系统/tmp目录,由于这个目录Linux有本身的清除机制,会形成数据丢失。
此文件为HDFS的配置文件,主要配置HDFS的存储副本数量。
经过vim打开hdfs-site.xml:
vim [hadoop]/etc/hadoop/hdfs-site.xml
此文件初次次配置配置信息也是空的,须要在<configuration>标签中增长要配置的内容,配置模版内容以下:
<configuration> <property> <!--指定hdfs保存数据副本的数量,包括本身,默认为3--> <!--伪分布式模式,此值必须为1--> <name>dfs.replication</name> <value>1</value> </property> </configuration>
此文件主要修改的也是<value>标签的内容,安装伪集群的话,将值配置为1便可。由于伪分布式只有一台服务器,没法实现分布式存储。
此目录主要配置的是maperd的运行平台。
在/etc/hadoop的目录下,只有一个mapred-site.xml.template文件,此文件为配置模版文件,将其复制一个改名,将后缀.template去掉便可。操做命令以下:
cp mapred-site.xml.template mapred-site.xml
经过vim打开mapred-site.xml文件。命令以下:
vim [hadoop]/etc/hadoop/mapred-site.xml
此文件初次配置,配置内容也为空,将以下的模版信息填入便可,此配置是让mapreduce运行在yarn上。
<configuration> <property> <!--指定mapreduce运行在yarn上--> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
此文件是yarn的核心配置文件,主要管理yarn的配置以及NodeMannager获取数据的方式。
经过vim打开yarn-site.xml 文件。命令以下:
vim [hadoop]/etc/hadoop/yarn-site.xml
此文件第一次初次配置,配置内容也为空,配置模版以下:
<configuration> <property> <!--指定yarn的master,resourcemanager的地址--> <name>yarn.resourcemanager.hostname</name> <value>hadoop01</value> </property> <property> <!--NodeManager获取数据的方式--> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
第一个<value>标签的值须要改成本身规划的主机名称,其余的不用作修改。
此文件是配置本身的下属成员的。
vim打开此文件,命令以下:
vim slaves
打开文件发现,这是一个空文件,只须要在这个文件中添加本身下属的服务器主机名称便可,由于是伪集群,只有一台主机,因此这里只需输入本身的规划的主机名称便可,例如:
hadoop01
输入完成,退出保存便可。
使用Hadoop和java同样,也许要配置环境变量,在/etc/profile文件中添加Hadoop的环境变量信息便可。
使用以下命令打开/etc/profile文件:
vim /etc/profile
export HADOOP_HOME=/home/park/work/hadoop-2.5.2/ export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
注意:HADOOP_HOME的值为Hadoop的安装目录,不要盲目照抄。
PATH的值须要配置两个,一个bin的路径,一个sbin的路径,由于Hadoop中有两个命令目录,这两个命令目录都须要添加到环境变量中。
使用以下命令,从新加载配置文件:
source /etc/profile
环境变量配置完成,测试环境变量是否生效。
echo $HADOOP_HOME
出现Hadoop的安装路径信息,即为配置正确。
正常状况,配置完成的Hadoop不须要重启。若是Hadoop中一些配置文件不生效,能够重启Linux服务来解决此问题。为何须要重启配置文件才起做用?缘由暂时不明。
重启命令以下,使用其中那个均可以:
reboot init 6
在启动Hadoop以前须要进行一个格式化的操做,这个操做保证namenode可以正常的存储数据。
进入hadoop/bin输入命令格式化namenode,命令以下:
hadoop namenode -format
之前格式化的命令是下面这样的:
hdfs namenode -format
在格式化的时候,看到以下输出信息,则证实格式化成功。
Storage directory /tmp/hadoop-root/dfs/name has been successfully formatted
在hadoop-2.7.1/sbin目录下有不少命令文件,进入此目录能够看到,在此目录下执行以下命令,能够启动整个Hadoop集群组件:
./start-all.sh
在启动以后,输入以下命令:
jps
能够看到5个Hadoop相关的进程,则证实启动成功。
在/home/app/hadoop-2.6.0/sbin目录下也一样存在关闭服务的命令,在此目录下输入以下命令,则关闭整个集群组件,中止服务。
./stop-all.sh
hadoop fs -mkdir /user/trunk hadoop fs -ls /user hadoop fs -lsr /user (递归的) hadoop fs -put test.txt /user/trunk hadoop fs -put test.txt . (复制到hdfs当前目录下,首先要建立当前目录) hadoop fs -get /user/trunk/test.txt . (复制到本地当前目录下) hadoop fs -cat /user/trunk/test.txt hadoop fs -tail /user/trunk/test.txt (查看最后1000字节) hadoop fs -rm /user/trunk/test.txt hadoop fs -rmdir /user/trunk hadoop fs -help ls (查看ls命令的帮助文档)
当Hadoop服务配置完成,正常重启,能够在别的pc上经过浏览器输入以下格式的地址,即可以访问Hadoop的Web管理页面。
http://[server_ip]:50070
若是访问不了有多是服务器50070端口被关闭了。经过以下方式打开50070端口:
service iptables status #查询防火墙状态 service iptables start #开启防火墙 iptables -I INPUT -p tcp --dport 80 -j ACCEPT #开通特定端口 iptables -I INPUT -p tcp --dport 80 -j DROP #关闭特定端口 service iptables save #保存配置 service iptables restart #重启防火墙
上一篇:Hadoop简介
下一篇:Hadoop彻底分布式集群搭建