命令汇总

网络配置:

hostname          查看主机名

vi   /etc/sysconfig/network    设置主机名

ifconfig                       查看ip情况

 

vi  /etc/sysconfig/network-scripts/ifcfg-eth0    设置网络

    DEVICE=“eth0”       接口名(设备,网卡)

BOOTPROTO=STATIC    IP的配置方法(static:固定IP,dhcpHCP,none:手动)

ONBOOT=yes             系统启动的时候网络接口是否有效(yes/no)

IPADDR=192.168.1.2       IP网址

GETEWAY=192.168.1.0      网关

DNS1=202.113.112.55      DNS服务器

 

service  network   restart    重启网卡服务

service  network   start      开始网卡服务

service  network   stop       停止网卡服务

 

ifconfig  eth0  up|down       关闭和启用指定的网卡

 

ifconfig                   查看配置的ip信息是否生效

 

 

vi   /etc/ hosts               设置主机名和ip的映射关系

      192.168.1.2    master

      192.168.1.3    slave1

      192.168.1.4    slave2

 

ping   master

 

service   iptables  stop    关闭防火墙

chkconfig  iptables  off    关闭自启动服务

 

 

配置SSH

rpm  -qa  | grep openssh     查看是否安装了ssh服务

rpm  -qa  | grep rsync       查看是否安装了rsync服务

 

yum  install ssh        安装ssh协议

yum  install rsync      rshnc是一个远程数据同步工具

 

service   sshd   restart     启动sshd服务

 

ssh-keygen  -t rsa  -P ‘’  生成无密码密钥对(存放路径是

/home/Hadoop/.ssh

 

cat  ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys    将id_rsa.pub追加

到授权的Key中

 

chmod   600   ~/.ssh/authorized_keys              授予读写的权限

 

vi   /etc/ssh/sshd_config                   修改sshd服务的配置文件

       RSAAuthentication yes # 启用 RSA 认证

PubkeyAuthentication yes # 启用公钥私钥配对认证方式

AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)

service   sshd   restart  重启sshd服务,使修改生效

 

ssh   master      验证ssh登录(第一次会要求输入一次密码)

 

 

单点对多点的SSH无密码登录

ssh-keygen

ssh-copy-id  storm@slave1      格式是“ssh-copy-id  用户名@主机名”

ssh-copy-id  storm@slave2            将本机的公钥复制到远程机器的

authorized_keys文件中

 

 

多点对多点的ssh无密码登录

     操作起来比较复杂,建议使用脚本语言实现。

     每个机器上生成自己的公钥和私钥,并把自己的公钥追加到

authorized_keys文件

 

 

 

安装JDK

root用户登录

mkdir   /usr/java                  创建/usr/java目录

cp /root/Downloads/jdk-6u31-linux-i584.bin  /usr/java   复制

chmod  +x   jdk-6u31-linux-i584.bin     赋予执行的权限

./jdk-6u31-linux-i584.bin              解压过bin文件

rm  -rf   jdk-6u31-linux-i584.bin      删除jdk安装文件

 

vim   /etc/profile

 

在尾部添加如下内容:  

# set java environment

exportJAVA_HOME=/usr/java/jdk1.6.0_31/

exportCLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib

exportPATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

 

source  /etc/profile     使profile的配置文件生效

 

java –version          验证jdk是否安装成功

 

安装剩余机器:

 scp  /usr/java/jdk1.6.0_31/   Hadoop@master: /usr/java/

 

使用shell脚本安装:

for  i in  $(seq 1  100);

   do  echo   slave$i;

   scp  /usr/java/jdk1.6.0_31/   Hadoop@slave$i: /usr/java/;  

    done

 

profile环境变量的配置文件也可以配置好后一次发送所有集群中。

 

 

 

 

Hadoop集群的安装

以root用户登录

cp  /root/Downloads/Hadoop-1.0.0.tar.gz   /usr

cd   /usr

tar   -zxvf  Hadoop-1.0.0.tar.gz       解压tar.gz的安装包

mv  Hadoop-1.0.0   hadoop              文件夹重命名

chown   -R    Hadoop:Hadoop  Hadoop   hadoo文件的属主重新分配,-R是递归,hadoop文件夹分配给hadoop组下的hadoop用户

 

rm –rf   Hadoop-1.0.0.tar.gz     删除安装文件(-r是递归,-f是强制)

 

配置hadoop的环境变量

vi   /etc/profile

     export   HADOOP_HOME=/usr/Hadoop

     export   PATH=$PATH:$HADOOP_HOME/bin

source   /etc/profile          使配置生效

 

配置hadoop

1.配置hadoop-env.sh

    文件位于“/usr/Hadoop/conf”

  vi    /usr/Hadoop/conf/Hadoop-env.sh

        export   JAVA_HOME=/usr/java/jdk1.6.0_31

 

2.配置core-site.xml文件

  mkdir   /usr/Hadoop/tmp      创建文件夹tmp,用来保存hadoop临时数据

  vi   /usr/Hadoop/conf/core-site.xml

     <configuration>

<property>

<name>hadoop.tmp.dir</name>

<value>/usr/hadoop/tmp</value>

备注:请先在 /usr/hadoop 目录下建立 tmp 文件夹,默认采用系统的临时目录:/tmp/Hadoop-hadoop。而这个目录每次重启都会被干掉,必须重新执行format才行,否则会出错。)

<description>A base for other temporary directories.</description>

</property>

<!-- file systemproperties ,配置NameNode的访问地址-->

<property>

<name>fs.default.name</name>

<value>hdfs://192.168.1.2:9000</value>

</property>

</configuration>

 

 

3.配置hdfs-site.xml文件

   修改hadoop中的hdfs的配置,配置的备份方式默认是3

      <configuration>

<property>

<name>dfs.replication</name>

<value>1</value>

(备注:replication 是数据副本数量,默认为3,salve少于3台就会报错)

</property>

<configuration>

 

4.配置mapred-site.xml文件

     修改hadoop中mapreduce的配置文件,配置的jobTracker的地址和端口

<configuration>

<property>

<name>mapred.job.tracker</name>

<value>http://192.168.1.2:9001</value>

</property>

</configuration>

 

 

5.配置masters文件

   修改/usr/Hadoop/conf/masters文件,指定master机器的主机名

   vi   /usr/Hadoop/conf/masters

        192.168.1.2(或者是master)

 

 

6.配置slaves文件

   vi  /usr/Hadoop/conf/slaves

       slave1

       slave2

注意:单机启动的时候,conf/slaves中一定不能为空。没有其他机器,就指定自己。

集群环境下,slave机器上可以不配置slaves

 

 

7.在集群中的其他机器上重复此配置

     建议在普通用户hadoop下通过scp复制到其他机器的对应目录下。

     其中第6步是master机器上特有的

使用shell脚本:

  for  i  in  $(seq1  100);

   do  echo   slave$i;

   scp  /usr/hadoop   Hadoop@slave$i: /usr;

   scp /etc/profile  Hadoop@slave$i:/etc; 

    done

 

    复制文件后可能会发现hadoop目录是root权限

    chown  -R   hadoop:Hadoop   Hadoop       授权给hadoop用户

 

Hadoop启动相关命令:

  Hadoop  namenode -format     在master机器上格式化namenode

                 只需要执行一次,如果要重新执行,一定要先删掉配置文件core-site.xml中配置的hadoop.tmp.dir对应路径下的文件

 

  service   iptables stop     关闭集群中所有机器防火墙

           For  i in (seq   1  100 );

               Do   ssh node$i   “hostname;

service  iptable stop;

               chkconfig    iptables  off;

               service  iptables  status

”; done

 

 

start-all.sh              启动hadoop的所有服务,包含(hdfs和mapreduce的相关服务)

 

 

 

 

 

  可以通过以下启动日志看出,首先启动namenode 接着启动datanode1,datanode2,…,然后启动secondarynamenode。再启动jobtracker,然后启动tasktracker1,tasktracker2,…。

  启动 hadoop成功后,在 Master 中的 tmp 文件夹中生成了 dfs 文件夹,在Slave 中的 tmp 文件夹中均生成了 dfs 文件夹和 mapred 文件夹。

 

jps       查看进程

    在master上的结果是:

       jobTracker

       NameNode

       jps

       SecondaryNameNode

在slave上的结果是:

    TaskTracker

    DataNode

    jps

 

 

Hadoop   dfsadmin   -report    查看hadoop集群的状态

Hadoop   dfsadmin  -safemode leave     关闭hdfs的安全模式

 

http:192.168.1.2:50030     访问mapreduce对应网页

http:192.168.1.2:50070     访问hdfs的对应网页

服务一直启动不了的终极解决办法:

1.删除集群中所有机器上的/usr/Hadoop/tmp文件

2.删除集群中所有机器上的pid文件。默认存放在/tmp目录下。这里我重新设置到了/bigdata/hadoop/pids,记得要授权给hadoop用户

3.重新执行stop-all.sh,把能关的服务先都关掉。

4.执行ps -ef | grep java| grep hadoop命令,查询是否还有hadoop相关进程才运行,如果有,执行kill -9  进程号    命令杀掉

5.重新格式化主机master

Hadoopnamenode  -format

6.执行start-all.sh启动hadoop

7.发现没有报错,执行 Hadoopdfsadmin –report 命令查看hadoop运行状态

出现如图所示:

发现只启动了一个节点。可能是还存在安全模式。

8.执行hadoop dfsadmin –safemodeleave,关闭主机上的安全模式

9.再次执行hadoop dfsadmin –report

 

 

 

解决“no   datanode to  stop”问题?

原因:

每次namenode format会重新创建一个namenodeId,而tmp/dfs/data下包含了上次format下的id,namenode format清空了namenode下的数据,但是没有清空datanode下的数据,导致启动时失败,所要做的就是每次fotmat前,清空tmp一下的所有目录。

第一种方法:

删除master上的tmp文件夹

   rm  -rf /usr/Hadoop/tmp

创建/usr/Hadoop/tmp文件夹

   mkdir  /usr/Hadoop/tmp

删除“/tmp”一下的“hadoop”开头文件

   rm  -rf  /tmp/Hadoop*

重新格式化hadoop的master

   Hadoop  namenode -format

启动hadoop

   start-all.sh

 

使用第一种方案,有种不好处就是原来集群上的重要数据全没有了。假如说Hadoop集群已经运行了一段时间。建议采用第二种。

 

第二种方法:(推荐)

1)修改每个Slave的namespaceID使其与Master的namespaceID一致。

  或者

2)修改Master的namespaceID使其与Slave的namespaceID一致。

  该"namespaceID"位于"/usr/hadoop/tmp/dfs/data/current/VERSION"文件中,前面蓝色的可能根据实际情况变化,但后面红色是不变的。

 

建议采用第二种,这样方便快捷,而且还能防止误删。

 

 

 

 

 

解决Exceeded   MAX_FAILED_UNIQUE_FETCHES问题

出现错误如下:

Shuffle Error: Exceeded MAX_FAILED_UNIQUE_FETCHES; bailing-out

  程序里面需要打开多个文件,进行分析,系统一般默认数量是1024,(用ulimit -a可以看到)对于正常使用是够了,但是对于程序来讲,就太少了。

执行ulimit  -a    查看文件限制数量

   vim   /etc/security/limits.conf

        添加:

       soft   nofile  102400

      soft   nofile 409600  

 

vim  /etc/pam.d/login

添加:

   session  required /lib/security/pam_limits.so


hadoop精品博客(虾皮)


hadoop安装过程命令汇总相关推荐

  1. hadoop 安装过程记录

    1)首先配置好了四个linux虚拟机 root pwd:z****l*3 关闭了防火墙 开通了 sshd服务 开通了 ftp服务 配置了 jdk 1.8 配置好了互信 (之前配置的过程忘了!--检查了 ...

  2. Hadoop安装过程

    1.安装JDK apt-get install openjdk-7-jdk 2.配置环境变量 vim /etc/profile 编辑: export JAVA_HOME=/usr/lib/jvm/ja ...

  3. Hadoop-2.8.0集群搭建、hadoop源码编译和安装、host配置、ssh免密登录、hadoop配置文件中的参数配置参数总结、hadoop集群测试,安装过程中的常见错误

    25. 集群搭建 25.1 HADOOP集群搭建 25.1.1集群简介 HADOOP集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起 HDFS集群: 负责海量数据 ...

  4. 安装完Hadoop之后,命令行输入hadoop或hdfs却找不到命令的解决方法

    安装完Hadoop之后,命令行输入hadoop或hdfs却找不到命令的解决方法 参考文章: (1)安装完Hadoop之后,命令行输入hadoop或hdfs却找不到命令的解决方法 (2)https:// ...

  5. 安装解压版本的MySQL,安装过程中的常见命令,检查windows系统错误日志的方式来检查MySQL启动错误,关于Fatal error: Can't open and lock privilege

    安装mysql 下载mysql-5.6.26-winx64,并解压到:D:\Installed\mysql-5.6.26-winx64\mysql-5.6.26-winx64 创建data目录 创建m ...

  6. Linux下载cfg命令,Linux安装详解-配置ks.cfg实现自动安装过程

    之前发过一篇关于通过PXE实现Linux批量无人值守自动安装的文章(可以参考http://www.linuxidc.com/Linux/2011-08/39949.htm),不过写的只是具体的配置和操 ...

  7. 达梦数据库(dm8)命令行安装过程

    操作系统:麒麟V10 达梦数据库:dm8(企业版) 本机IP地址:192.168.174.180 一.达梦数据库的环境初始化(操作系统及相关配置) 1. 配置主机名,并修改本地hosts文件 host ...

  8. 安装、进程-云计算学习笔记---hadoop的简介,以及安装,用命令实现对hdfs系统进行文件的上传下载-by小雨...

    本文是一篇关于安装.进程-的帖子 1.Hadoop简介 1.hadoop的生诞 l  Nutch和Lucene之父Doug Cutting在2006年成完Hadoop目项. l  Hadoop并非一个 ...

  9. git与github——1,简介、安装及设置账号、创建版本库及提交文件、常用命令汇总、git的时光穿梭机

    目录 一.git是什么? 1,git与github 2,分布式与集中式 二.安装.设置账号.设置ssh 1.安装.设置账号 2,设置ssh 三.创建版本库及提交文件 1,创建版本库 2,添加文件到版本 ...

最新文章

  1. android里的editText怎么用,Android自定义控件EditText使用详解
  2. linux c remove 删除文件或目录函数
  3. mysql fnv算法_《高性能MySQL》读书笔记之创建高性能的索引
  4. linux配置apache tomcat,linux下apache+tomcat的配置实现
  5. java getreader_java后台发起get请求获取响应数据学习记录: 话不多说直接上代码
  6. 最新,Python终成第1!Java和C长期霸榜时代结束
  7. 基于lis3dh的简易倾角仪c源码_开源网关apisix源码阅读和最佳实践
  8. oracle 查表的用户名和密码,查看Oracle数据库中的所有用户名
  9. linux的sudo apt-get install 和dpkg -i package.deb命令
  10. 小程序如何避免多次点击,重复触发事件
  11. Pycharm安装与汉化教程
  12. SQL server 2008 r2 安装出错 Could not open key:
  13. EditPlus批量转码
  14. 数学建模——指派问题
  15. MagicDraw二次开发过程
  16. 西部世界IPFS科普:什么是非对称加密?
  17. AES解密报错,Input length must be multiple of 16 when decrypting with padded cipher
  18. StoneDT开源舆情系统大数据技术栈介绍
  19. 关于 Swiper 的坑——只有3.3.1的非压缩版正常,非常奇怪
  20. 本地搭建start.spring.io

热门文章

  1. 奶爸日记-好好弹钢琴的保证书
  2. 张益唐对于素数间隔有限研究概述
  3. VCS命令详解(二):仿真命令
  4. 电商常用功能模块的数据库设计
  5. 2022张宇考研基础30讲 第十五讲 数一数二专题
  6. 漫画趣解Flink实时数仓
  7. 打怪升级之小白的大数据之旅(六十一)<Hive旅程第二站:Hive安装>
  8. Excel打开csv或文本文件乱码怎么办?
  9. Android 开放配件协议 1.0
  10. devops 三十六计_要避免的6个DevOps错误