hadoop安装过程命令汇总

来源:互联网 发布:手机怎么淘宝购物 编辑:程序博客网 时间:2024/06/05 07:36

命令汇总

网络配置:

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是数据副本数量,默认为3salve少于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接着启动datanode1datanode2,然后启动secondarynamenode。再启动jobtracker,然后启动tasktracker1tasktracker2

  启动 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下的idnamenode 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)修改每个SlavenamespaceID使其与MasternamespaceID一致。

  或者

2)修改MasternamespaceID使其与SlavenamespaceID一致。

  该"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精品博客(虾皮)


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 dnf凯蒂不见了怎么办 马桶里掉进塑料瓶盖怎么办 塑料瓶子盖子打不开怎么办 按压瓶盖坏了怎么办 瓶盖拧错位了怎么办 红酒盖子开不了怎么办 胶盖罐头打不开怎么办 玻璃瓶的塑料盖打不开怎么办 香水按压不出来怎么办 电高压锅盖子打不开怎么办 杯子螺口错位怎么办 散粉盖子扭不开怎么办 玻璃瓶饮料盖子打不开怎么办 玻璃瓶玻璃盖子打不开怎么办 美甲没有胶水怎么办 按压式瓶盖打不开怎么办 睫毛胶水瓶盖打不开怎么办 玻璃杯盖子滑丝怎么办 瓶盖滑扣了怎么办 胶水瓶口被塞住怎么办 美林盖子打不开怎么办 美林瓶盖打不开怎么办 泰诺瓶盖打不开怎么办 玻璃罐头瓶盖打不开怎么办 塑料罐头瓶盖打不开怎么办 喷笔壶盖打不开怎么办 陶瓷壶盖卡住了怎么办 贝德玛瓶盖摔坏怎么办 塑料盖子错位拧不开怎么办 安全瓶盖坏了怎么办 刚买面霜打不开怎么办 可乐瓶盖鼓起来怎么办 暖壶塞子吸住了怎么办 茶兀瓶盖打不开怎么办 水杯盖太紧了拧不开怎么办 矿泉水瓶盖拧不开了怎么办 弩弦用手拉不上怎么办 茅台酒瓶口漏酒怎么办 化妆品盖子丢了怎么办 化妆品盖子碎了怎么办 自制水泵压力小怎么办