hadoop的一些常用命令:
[root@node1 hadoop]# start-dfs.sh 启动集群
hadoop-daemon.sh start 单个启动
[root@node1 ~]# stop-dfs.sh 关闭集群
[root@node1 ~]# hadoop fs -put hadoop-2.6.5.tar.gz 上传文件
[root@node1 ~]# hadoop fs -ls / 展示上传的文件
[root@node1 hadoop]# hdfs namenode -format 初始化
haoop伪分布式
上传hadoop安装包并解压
[root@node1 ~]# tar -zxvf hadoop-2.6.5.tar.gz
[root@node1 ~]# cat .bash_profile编写文件
#hadoop
export HADOOP_HOME=/root/hadoop-2.6.5
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
进入该目录
分别编写 core-site.xml hdfs-site.xml slaves
并且改变hadoop-env.sh yarn-env.sh mapred-env.sh三个文件的jdk路径
[root@node1 hadoop]# vi core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/root/local</value>
</property>
</configuration>
[root@node1 hadoop]# mkdir /root/local
第一个是默认登录入口第二个property是创建hadoop 的临时目录在root下的local
node1应该是本机的ip地址 因为之前配置过etc下的host映射文件 里面为node1 所以这里node1也行
第二个是临时目录,如果不加,默认在/tmp/hadoop-${user.name}下
配置临时目录的原因:
1.是由于linux可能会误删
2.是会联系到另外两个关键目录
(1)dfs.namenode.name.dir的file://${hadoop.tmp.dir}/dfs/name目录
(2)dfs.datanode.data.dir的file://${hadoop.tmp.dir}/dfs/data目录
[root@node1 hadoop]# vi hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node1:50090</value>
</property>
</configuration>
1是副本数,由于我安装的是伪分布式副本数不能大于节点数所以只能是1
下面的是我们的SecondaryNameNode相当于备份备份在主机node1
配置datanode主机
修改hadoop-env.sh yarn-env.sh mapred-env.sh三个文件的jdk路径(env.sh结尾)
[root@node1 hadoop]# cat /root/.bash_profile 复制jdk绝对路径
分别修改 hadoop-env.sh yarn-env.sh mapred-env.sh三个文件的java路径
[root@node1 hadoop]# cat hadoop-env.sh 修改配置文件
[root@node1 hadoop]# vi yarn-env.sh也修改java的绝对路径
[root@node1 hadoop]# vi mapred-env.sh
[root@node4 ~]# cat /etc/hosts 查看自己的ip地址映射文件 需要写入自己的ip地址
[root@node1 ~]# reboot
[root@node1 hadoop]# hdfs namenode -format初始化
[root@node1 hadoop]# start-dfs.sh 从新启动
[root@node1 hadoop]# jps
[root@node1 ~]# hadoop fs -put hadoop-2.6.5.tar.gz /上传文件
[root@node1 ~]# hadoop fs -ls /
[root@node1 ~]# stop-dfs.sh 关电脑时一定要关闭hdfs 防止下次开机时出现问题
如果jps有没有启动的 需要从新初始化[root@node1 hadoop]# hdfs namenode -format在[root@node1 hadoop]# start-dfs.sh 从新启动
如果还不管用我们需要查看初始化命令运行后的错误信息 然后进入对应目录下查看log日志文件的后100行 tail -100 文件名.log
需要删除我们的临时目录/root/local 然后从新创建
192.168.175.51:50070
完全分布式安装
三个虚拟机都需要执行:
关闭防火墙
[root@node1 ~]# service iptables status 查看防火墙状态
[root@node1 ~]# service iptables stop 临时关闭防火墙
[root@node1 ~]# chkconfig iptables off永久关闭防火墙
关闭selinux
[root@node1 ~]# vi /etc/selinux/config
从新启动
reboot
从起成功后jps看有没有hadoop Java程序
[root@node1 ~]# stop-dfs.sh关闭
进入目录编写文件
[root@node1 hadoop]# vi slaves
[root@node1 hadoop]# vi hdfs-site.xml
[root@node2 ~]# mkdir local
[root@node3 ~]# mkdir local 两个datanode创建local
[root@node1 ~]# scp -r hadoop-2.6.5 node2:/root分发到node2
[root@node1 ~]# scp -r hadoop-2.6.5 node3:/root分发到node3
[root@node1 ~]# rm -rf local/
[root@node1 ~]# mkdir local
[root@node1 local]# hdfs namenode -format 初始化 主节点上
[root@node1 local]# start-dfs.sh启动
[root@node1 dfs]# ssh root@node2 “source ~/.bash_profile;jps”
[root@node1 dfs]# ssh root@node3 “source ~/.bash_profile;jps”
192.168.175.51:50070