hadoop 伪分布模式的搭建

来源:互联网 发布:淘宝上的宠物狗 编辑:程序博客网 时间:2024/06/05 09:01

安装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

























原创粉丝点击