hadoop伪分布配置

来源:互联网 发布:酒吧骰子软件 编辑:程序博客网 时间:2024/05/18 00:41

修改主机名

sudo vi /etc/hosts 改成和命令窗口标题栏上@符号后的一样

提示:若出现hadoop is not in the sudoers file. This incident will be reported. 错误
解决办法:
1. 切换到root下
2. 输入visudo
3. 在第99 行添加: 原来的用户名 ALL=(ALL) ALL

安装ssh

sudo yum install openssh-clients
sudo yum install openssh-server

登入ssh(此时需要密码)
ssh localhost

配置免密登入 (要退出ssh localhost)
cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa # 会有提示,都按回车就可以
cat id_rsa.pub >> authorized_keys # 加入授权
chmod 600 ./authorized_keys # 修改文件权限

使用免密登入
ssh localhost (此时不需要密码)

安装java环境

将下载文件下的jdk解压到/usr/local中
sudo tar -zxvf ~/downloads/jdk-7u91-linux-x64.tar.gz -C /usr/local
配置java环境
vi ~/.bashrc 进入编辑
环境变量

export JAVA_HOME=/usr/local/jdk1.7.0_91export PATH=$JAVA_HOME/bin:$PATH:

配好保存之后需要执行
source ~/.bashrc # 使变量设置生效
java -version #检查jdk是否成功

安装hadoop

解压到/usr/local
sudo tar -zxvf ~/downloads/hadoop-2.6.1.tar.gz -C /usr/local
sudo mv hadoop-2.6.1 hadoop #为了方便后续使用, 修改文件名
修改所属用户, 非常重要的一步
sudo chown -R hadoop:hadoop hadoop
检测hadoop是否安装成功
cd /usr/local/hadoop #进入hadoop目录下
./bin/hadoop version #查看是否安装成功

进行伪分布式配置

新增环境变量
vi ~/.bashrc

export HADOOP_HOME=/usr/local/hadoopexport HADOOP_INSTALL=$HADOOP_HOMEexport HADOOP_MAPRED_HOME=$HADOOP_HOMEexport HADOOP_COMMON_HOME=$HADOOP_HOMEexport HADOOP_HDFS_HOME=$HADOOP_HOMEexport YARN_HOME=$HADOOP_HOMEexport HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/nativeexport PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

执行环境生效
source ~/.bashrc

修改 /usr/local/hadoop/etc/hadoop/ 下的两个配置文件(core-site.xml 和 hdfs-site.xml)

  • core-site.xml
  • <configuration><property><!-- 指定hadoop运行时产生文件的存储路径 -->        <name>hadoop.tmp.dir</name>        <value>file:/usr/local/hadoop/tmp</value>        <description>Abase for other temporary directories.</description>    </property><property><!-- namenode的通信地址 -->        <name>fs.defaultFS</name>        <value>hdfs://localhost:9000</value>    </property></configuration>

  • hdfs-site.xml
  • <configuration><property><!-- 设置hdfs副本数量 -->        <name>dfs.replication</name>        <value>1</value>    </property><property><!-- name node 存放 name table 的目录 -->        <name>dfs.namenode.name.dir</name>        <value>file:/usr/local/hadoop/tmp/dfs/name</value>    </property><property><!-- data node 存放数据 block 的目录 -->        <name>dfs.datanode.data.dir</name>        <value>file:/usr/local/hadoop/tmp/dfs/data</value>    </property></configuration>

    执行NameNode格式化 (分布式搭建完成后必须执行的一步)
    ./bin/hdfs namenode -format
    执行结果 “Exitting with status 0” 则是正确, 若是”Exitting with status 1” 则是错误,错误原因有可能是忘记执行sudo chown -R hadoop:hadoop hadoop

    关闭防火墙

    sudo service iptables stop # 关闭防火墙服务
    sudo chkconfig iptables off # 禁止防火墙开机自启,就不用手动关闭了

    开启进程

    ./sbin/start-dfs.sh

    验证伪分布是否成功

    执行命令jps
    查看结果显示:
    “NameNode”、”DataNode”和SecondaryNameNode则表示安装成功

    1. 列表内容

    配置yarn

    在hadoop/etc/hadoop下
    改名mv mapred-site.xml.template mapred-site.xml
    编辑vi mapred-site.xml

    <configuration><property><!-- 通知框架MR使用YARN -->        <name>mapreduce.framework.name</name>        <value>yarn</value>    </property></configuration>

    编辑yarn-site.xml

    <configuration><!-- reducer取数据的方式是mapreduce_shuffle -->    <property>        <name>yarn.nodemanager.aux-services</name>        <value>mapreduce_shuffle</value>        </property></configuration>

    启动yarn:start-yarn.sh
    开启历史服务器: mr-jobhistory-daemon.sh start historyserver

    最终jps查看结点

    20756 SecondaryNameNode20927 ResourceManager21404 Jps20602 DataNode20479 NameNode21368 JobHistoryServer21020 NodeManager
    原创粉丝点击