• hadoop bug 笔记


    1.sqoop从mysql导入数据到hdfs的时候,总是在本地运行,而没有运行在集群上

      sqoop  配置文件的问题

      在 /usr/lib/sqoop/conf 目录下新增文件 sqoop-env.sh 按照sqoop-env-template.sh模板配置 如下

    et path to where bin/hadoop is available
    export HADOOP_COMMON_HOME=/home/wwx/hadoop/hadoop-2.6.0-cdh5.8.0

    #Set path to where hadoop-*-core.jar is available
    export HADOOP_MAPRED_HOME=/home/wwx/hadoop/hadoop-2.6.0-cdh5.8.0

    由于默认的HADOOP_COMMON_HOME并不是 我运行集群 所在的目录,而是 /usr/lib/sqoop/bin/configure-sqoop 中所配置的目录 打开这个文件就可以看到

    2.namenode重新format之后会导致namenode和datanode的版本不一致,再次启动datanode的时候会导致datanode启动不了

     应当尽量避免再次格式化,或者在格式化后删除原来的version文件,目录是在hdfs-site.xml文件中配置的dfs.datanode.data.dir属性

    3.ssh免密码登录

    本机免密码登录

    执行ssh看ssh是否安装了,一般默认都安装了  

    任意目录执行ssh-keygen -t rsa 生成公钥和私钥

    一直enter,不设密码

    cd ~/.ssh

    cat id_rsa.pub >> authorized_keys

    ssh localhost 看是否需要输入密码,如果要输入

    则 修改文件权限

    chmod 700 ~/.ssh

    chmod 600 ~/.ssh/authorized_keys

    ssh localhost 则不需要输入密码

    A机器免密码登录B机器

    将A机器的公钥id_rsa.pub 追加到B机器的authorized_keys中

    4.将用户添加到sudoer文件中

    su root

    visudo

    找到 root ALL这一行,在这一行下面加上 自己的username  ALL=(ALL) NOPASSWD:ALL

    5.修改锁屏时间

    桌面左上角找到System-->Preferences-->Screensaver  将时间调整

    6.关闭防火墙

    1) 重启后生效 
    开启: chkconfig iptables on
    关闭: chkconfig iptables off

    2) 即时生效,重启后失效
    开启: service iptables start
    关闭: service iptables stop
    7.给虚拟机设置静态ip

    修改ip:
    编辑文件/etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0 //设备名称,不要修改
    BOOTPROTO=static //不要修改
    BROADCAST=10.10.22.255 //广播地址,一般为本网段的最后一个IP
    IPADDR=10.10.22.145 //ip地址
    NETMASK=255.255.255.0 //子网掩码
    NETWORK=10.10.22.0 //网段地址
    HWADDR="00:0C:29:92:BF:74"//修改为当前网卡的mac地址
    ONBOOT=yes //不要修改
    TYPE=Ethernet //不要修改
    注意: ifcfg-eth0是第一张网卡,ifcfg-eth1是第二张网卡,依次类推
    克隆或复制的虚拟机,网卡mac地址就会增加一个,mac地址信息在/etc/udev/rules.d/70-persistent-net.rules
    注意要把mac地址修改为当前有效的网卡
    8.nodemanager启动不起来,并且错误信息为NodeManager from  hadoop-2 doesn't satisfy minimum allocations, Sending SHUTDOWN signal to the NodeManager貌似是因为在yarn-site.xml中

    <property>
    <description>Amount of physical memory, in MB, that can be allocated
    for containers.</description>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>30720</value>
    </property>

    其中value<1024,选择把这个给注释掉之后可以启动

    9.centos配置yum源

    cd /etc/yum.repos.d/

    新建一个repo源文件 sudo vi my-reponame.repo

    以小象学院的cloudera repo源为例

    添加以下内容

    [cloudera-cdh5-myself]
    name=Cloudera CDH, Version(Custom)
    baseurl=http://112.74.102.117/software/cloudera-cdh5
    gpgcheck=0

    保存退出即可使用

    10.mysql设置远程访问权限与远程访问

    设置远程访问权限:

    在启动了mysql的主机上执行mysql命令

    允许任意主机访问:mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;  #myuser是主机的用户名

    允许特定主机访问:mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;  #ip或者可识别的主机名都可

    远程访问测试:

    在另一台主机上执行 mysql -hhadoop-4 -u root -p #hadoop-4为本主机的主机名 root是mysql的登录账户名

    然后输入密码

    11.hive-server2启动出错,这个错误困扰了我好几天,最终解决了,必须得记录一下

    错误的详细信息可以参照小象问答上面一个人的提问,是一模一样的错误 http://wenda.chinahadoop.cn/question/767

    总结起来就是hive-server2 启动failed ,在/var/log/hive目录下查看日志发现说找不到HADOOP_HOME,也就是说hive找不到hadoop

    但是已经在/usr/lib/hive/conf/hive-env.sh中配置了HADOOP_HOME  而且错误信息是在执行/usr/lib/hive/bin/hive这个脚本时打印的

    所以去追查这个脚本 发现脚本中正确识别了HADOOP_HOME ,但是却没有权限去读取HADOOP_HOME/bin/hadoop这个脚本(认为它不存在,实际上是没有权限读取和执行)

    所以得修改这个权限,让hive可以执行  从小象问答的帖子中发现是要让hive用户有权限 所以执行chmod 755 -R / (HADOOP_HOME=/home/wwx/hadoop/hadoop-2.6.0-cdh5.8.0)目的是让其他用户也有读取和执行的权限

    操作之后果然有效果,但是却有新问题出现  在hive脚本中执行hadoop version时返回 又找不到java了  (JAVA_HOME not set) 之前hadoop都能运行,所以hadoop是肯定能找到java的,而且各种配置项也都配置了

    最后思考是不是其他目录也有hadoop存在,结果在/usr/lib/中发现了hadoop目录 在/usr/lib/hadoop/etc/hadoop/hadoop-env.sh (文件新建的)中设置好JAVA_HOME

    export JAVA_HOME=/home/wwx/jdk/jdk1.7.0_79

    发现问题解决了

    其实不太明白为什么hive会去读取这个目录的hadoop下的hadoop-env.sh 而不是配置的HADOOP_HOME目录下的hadoop-env.sh ,这是一个疑问有待后续发现。。

  • 相关阅读:
    java 基础语法 2
    hdu4570Multi-bit Trie
    poj1244Slots of Fun
    二维凸包模板
    花神的数论题(数位dp)
    poj1113Wall(凸包)
    poj1066Treasure Hunt(线段相交)
    poj1039Pipe(直线交点、叉积)
    hdu4588Count The Carries
    hdu2475Box(splay树形转线性)
  • 原文地址:https://www.cnblogs.com/fisherinbox/p/5907237.html
Copyright © 2020-2023  润新知