hadoop配置与安装

一,新增用户

sudo useradd -m hadoop -s /bin/bash

       添加密码

sudo passwd hadoop

      附加权限

sudo adduser hadoop sudo

     切换到hadoop用户下,当运行sudo命令时出现:hadoop不再sudoers文件中,此事将被报告。

     解决方法:切换到root用户下,打开 /etc/sudoers 文件,增加

hadoop ALL=(ALL:ALL) ALL

    文件中有用户的例子,仿照写出上面的命令

   切换到hadoop目录下(以下操作都在hadoop目录下操作,包括idea,jdk(将root下的.bashrc中的环境变量拷贝到                 

   hadoop目录下的bashrc文件中))

二 ,配置免密码登录ssh

      生成ssh公钥

ssh-keygen -t rsa

      安装openssh-server(openssh-clients一般系统自带)

sudo apt-get install openssh-server

      进入公钥的目录下 .ssh目录下(加入授权)

cat id_rsa.pub >> authorized_keys

      赋予权限

chmod 600 ./authorized_keys

   运行命令:ssh localhost

   出现:sign_and_send_pubkey: signing failed: agent refused operation

   并要求输入密码

    解决方法:

eval "$(ssh-agent -s)"
ssh-add
  然后在运行:ssh localhost 不用输入密码就可以进入了,exit可以退出ssh

   

三,配置hadoop

 

/etc/profile或 .bashrc 文件中添加:(hadoop_home和path必须,其他作用不明)

如果在创建的hadoop用户下操作,建议将配置写在.bashrc文件中

export HADOOP_HOME=/usr/hadoop
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$PATH
export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH

保存并且更新/etc/profile文件:source /etc/profile

编辑hadoop-env.sh文件:vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh,在最后加上:

export JAVA_HOME=/usr/local/jdk

修改Configuration文件:vim $HADOOP_HOME/etc/hadoop/core-site.xml

<configuration>
        <property>
                <name>fs.default.name</name>
                <value>hdfs://localhost:9000</value>
        </property>
</configuration>

修改hdfs-site.xml:vim $HADOOP_HOME/etc/hadoop/hdfs-site.xml

<configuration>
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
</configuration>

修改mapred-site.xml:

cp $HADOOP_HOME/etc/hadoop/mapred-site.xml.template $HADOOP_HOME/etc/hadoop/mapred-site.xml
vim $HADOOP_HOME/etc/hadoop/mapred-site.xml
<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
</configuration>

修改yarn-site.xml:vim $HADOOP_HOME/etc/hadoop/yarn-site.xml

<configuration>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
</configuration>

格式化namenode:(hadoop/bin下)

./hdfs namenode -format
启动:
hadoop@adu-T6-3:/usr/local/hadoop/sbin$ ./start-all.sh

有时需要给hadoop目录赋予权限sudo chmod 777 hadoop因为系统需要创建log文件

然后:jps

检查webUI  http://localhost:8088/

                      http://localhost:50070

停止:

$HADOOP_HOME/sbin/stop-all.sh

但是在启动时候有一个警告,提示hadoop不能加载本地库:

解决方法:
在/etc/profile中添加:

HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"

保存并更新文件:source /etc/profile
并且在hadoop-env.sh添加: vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh

export HADOOP_HOME=/software/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"


posted @ 2018-04-22 20:17  菜鸟阿都  阅读(198)  评论(0)    收藏  举报