您的位置:首页 > 运维架构

hadoop 伪分布模式的搭建

2017-05-18 11:40 363 查看
安装JDK

java -version查看java version,ubuntu默认没装jdk,centos默认装openjdk,所以要是centos,先卸载openjdk在安装

sudo apt-get update 更新软件包信息

sudo apt-get install default-jdk 安装默认jdk

java -version 查看是否安装成功

update-alternatives --display java 查看安装路径,等会配置java_home /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java

设置SSH无密码登录

sudo apt-get install ssh  安装ssh

su hadoop   切换hadoop用户,也就是你当前用户

cd /home/hadoop

$ ssh-keygen -t rsa 一直回车,生成密钥

完成后,在home跟目录下会产生隐藏文件夹.ssh

$ cd .ssh

cp id_rsa.pub  authorized_keys(或者cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 将产生的密钥放到许可者文件中)

测试:

$ssh localhost

安装HADOOP

sudo tar -zxvf hadoop-2.7.3.tar.gz  解压hadoop

sudo mv hadoop-2.7.3 /usr/local/hadoop 移动到文件夹(用命令移动,这样子会自动删除hadoop-2.7.3这个文件夹,之后配置hadoop_home就不用多写一个文件夹路径)

sudo gedit ~/.bashrc   设置环境变量

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

export HADOOP_HOME=/usr/local/hadoop

export PATH=$PATH:$HADOOP_HOME/bin

export PATH=$PATH:$HADOOP_HOME/sbin

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 HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH

source ~/.bashrc   使环境变量立即生效

sudo gedit /usr/local/hadoop/etc/hadoop/hadoop-env.sh  修改hadoop-env.sh

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64  修改里面的javahome

sudo gedit /usr/local/hadoop/etc/hadoop/core-site.xml  修改core-site.xml

如果是分布式模式,localhost改为master.

<property>

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

   </value>hdfs://localhost:9000</value>

</property>

sudo gedit /usr/local/hadoop/etc/hadoop/yarn-site.xml  修改yarn-site.xml

如果是分布式模式,还需其他配置,本文是伪分布模式,即master和slave为同一台机子,适合初学者,以及编写代码练习

<property>

   <name>yarn.nodemanager.aux-services</name>

   <value>mapreduce_shuffle</value>

</property>

<property>

   <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>

   <value>org.apache.hadoop.mapred.ShuffleHandler</value>

</property>

sudo gedit /usr/local/hadoop/etc/hadoop/hdfs-site.xml  修改hdfs-site.xml

如果是分布式模式,还需其他配置,本文是伪分布模式,即master和slave为同一台机子,适合初学者,以及编写代码练习

 <property>

        <name>dfs.namenode.name.dir</name>

        <value>file:/usr/local/hadoop/hadoop_data/hdfs/namenode</value>

 </property>

 <property>

        <name>dfs.replication</name>

        <value>3</value>

 </property>

 <property>

        <name>dfs.datanode.data.dir</name>

        <value>file:/usr/local/hadoop/hadoop_data/hdfs/datanode</value>

 </property>

复制模板文件 sudo cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/etc/hadoop/mapred-site.xml

sudo gedit /usr/local/hadoop/etc/hadoop/mapred-site.xml  编辑mapred-site.xml

 <property>

        <name>mapreduce.framework.name</name>

        <value>yarn</value>

 </property>

创建并格式HDfS目录

sudo mkdir -p /usr/local/hadoop/hadoop_data/hdfs/namenode

sudo mkdir -p /usr/local/hadoop/hadoop_data/hdfs/datanode

sudo chown hduser:hduser -R /usr/local/hadoop 将hadoop目录的所有者权限更改为hduser

hadoop namenode -format 格式化namenode

启动hadoop

start-all.sh或者分别启动dfs和yarn(start-dfs.sh、start-yarn.sh)

jps查看进程

可以看到

4288 NodeManager

3120 ResourceManager

3650 NameNode

4025 SecondaryNameNode

4395 Jps

3820 DataNode
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: