Ubuntu17.0下安装Hadoop

来源:互联网 发布:云计算产业 编辑:程序博客网 时间:2024/06/06 08:52

一、在Ubuntu下创建hadoop组和hadoop用户

    增加hadoop用户组,同时在该组里增加hadoop用户后续在涉及到hadoop操作时,我们使用用户

 

1、创建hadoop用户组

 

        

 

 

 

    2、创建hadoop用户

    

    sudo adduser -ingroup hadoop hadoop

    回车后会提示输入新的UNIX密码,这是新建用户hadoop的密码输入回车即可。

    如果不输入密码,回车后会重新提示输入密码,即密码不能为空。

    最后确认信息是否正确,如果没问题,输入 Y,回车即可。

    

 

 

 

 

 

 

 

 

 

 

 

 

    3、为hadoop用户添加权限

 

     输入:sudo gedit /etc/sudoers

     回车,打开sudoers文件

     给hadoop用户赋予和root用户同样的权限

 

 

    

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

二、用新增加的hadoop用户登录Ubuntu系统

 

三、安装ssh

sudo apt-get install openssh-server

 

 

 

 

 

 

 

 

 

 

 

 

安装完成后,启动服务

sudo /etc/init.d/ssh start

 

查看服务是否正确启动:ps -e | grep ssh

 

 

 

 

 

 

设置免密码登录,生成私钥和公钥

ssh-keygen -t rsa -P ""

 

 

 

 

 

 

 

 

 

 

 

 

 

此时会在/home/hadoop/.ssh下生成两个文件:id_rsa和id_rsa.pub,前者为私钥,后者为公钥。

下面我们将公钥追加到authorized_keys中,它用户保存所有允许以当前用户身份登录到ssh客户端用户的公钥内容。

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

 

 

 

登录ssh

ssh localhost

 

 

 

 

 

 

 

 

 

 

      

退出

exit

四、安装Java环境

1.首先搭建JAVA环境。

将下载的安装包解压到一个自己指定的目录。 
tar -zxvf jdk-8u101-Linux-x64.tar.gz -C ~/software

然后修改环境变量文件 sudo vi /etc/profile ,在末尾添加:

export JAVA_HOME=/home/hadoop/software/jdk1.8.0_101export JRE_HOME=/home/hadoop/software/jdk1.8.0_101/jreexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATHexport CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

保存关闭后,source /etc/profile,使修改生效。 
然后可以验证Java是否生效,java -version。 
图片 

五、安装Scala环境

过程跟JAVA差不多。 
就是修改profile有点区别:

export SCALA_HOME=/home/hadoop/software/scala-2.11.8export PATH=$PATH:$SCALA_HOME/bin
  • 1
  • 2
  • 1
  • 2

然后还是保存关闭后source一下,让它生效。 
最后Scala -version,看看版本。

六、安装hadoop2.7.3

1、官网下载http://mirror.bit.edu.cn/apache/hadoop/common/

 

    2、安装

 

        解压

        sudo tar -zxvf hadoop-2.7.3.tar.gz 

        假如我们要把hadoop安装到/usr/local下

        拷贝到/usr/local/下,文件夹为hadoop

        sudo mv hadoop-2.4.0 /usr/local/hadoop        

        

 

赋予用户对该文件夹的读写权限

        sudo chmod 774 /usr/local/hadoop



进入hadoop配置目录,~/software/hadoop-2.7.3/etc/hadoop,在此目录中,我们需要配置几个文件。

  • hadoop-env.sh,在里面设置JAVA_HOME。
# The java implementation to use.export JAVA_HOME=/home/hadoop/software/jdk1.8.0_101
  • 1
  • 2
  • 1
  • 2
  • yarn-env.sh,在里面设置JAVA_HOME。
# some Java parametersexport JAVA_HOME=/home/hadoop/software/jdk1.8.0_101
  • 1
  • 2
  • 1
  • 2
  • slaves,在这个文件里面加入作为slave的IP地址或者对应的hosts映射名字。
slave1slave2
  • 1
  • 2
  • 1
  • 2
  • core-site.xml,右键编辑。注意到底下的目录,如果软件内没有tmp,则自己创建。由于markdown语法问题,以下<符号后边都有一个空格,请自行删除。
< configuration>    < property>        < name>fs.defaultFS</name>        < value>hdfs://master:9000/</value>    < /property>    < property>         < name>hadoop.tmp.dir</name>         < value>file:/home/hadoop/software/hadoop-2.7.3/tmp</value>    < /property>< /configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • hdfs-site.xml,右键编辑。注意到底下的目录,如果软件内没有/dfs/name以及/dfs/data,则自己创建。由于markdown语法问题,以下<符号后边都有一个空格,请自行删除。
< configuration>    < property>        < name>dfs.namenode.secondary.http-address</name>        < value>master:9001</value>    < /property>    < property>        < name>dfs.namenode.name.dir</name>        < value>file:/home/hadoop/software/hadoop-2.7.3/dfs/name</value>    < /property>    < property>        < name>dfs.datanode.data.dir</name>        < value>file:/home/hadoop/software/hadoop-2.7.3/dfs/data</value>    < /property>    < property>        < name>dfs.replication</name>        < value>3</value>    < /property>< /configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • mapred-site.xml,右键编辑。由于markdown语法问题,以下<符号后边都有一个空格,请自行删除。
< configuration>    < property>        < name>mapreduce.framework.name</name>        < value>yarn</value>    < /property>< /configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • yarn-site.xml,右键编辑。由于markdown语法问题,以下<符号后边都有一个空格,请自行删除。
< configuration>    < property>        < name>yarn.nodemanager.aux-services</name>        < value>mapreduce_shuffle</value>    < /property>    < property>        < name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>        < value>org.apache.hadoop.mapred.ShuffleHandler</value>    < /property>    < property>        < name>yarn.resourcemanager.address</name>        < value>master:8032</value>    < /property>    < property>        < name>yarn.resourcemanager.scheduler.address</name>        < value>master:8030</value>    < /property>    < property>        < name>yarn.resourcemanager.resource-tracker.address</name>        < value>master:8035</value>    < /property>    < property>        < name>yarn.resourcemanager.admin.address</name>        < value>master:8033</value>    < /property>    < property>        < name>yarn.resourcemanager.webapp.address</name>        < value>master:8088</value>    < /property>< /configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

3 . 最后就可以将配置好的hadoop-2.7.3文件夹分发给所有slave了。

scp -r ~/software/hadoop-2.7.3 hadoop@slave1:~/software/scp -r ~/software/hadoop-2.7.3 hadoop@slave2:~/software/
  • 1
  • 2
  • 1
  • 2

4 . 启动hadoop。cd到hadoop主目录。然后先格式化namenode,然后再启动。

bin/hadoop namenode -formatsbin/start-all.sh
  • 1
  • 2
  • 1
  • 2

5 . 用jps命令查看hadoop进程。 
在master上应该有:

3407 SecondaryNameNode3218 NameNode3552 ResourceManager3910 Jps
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

在slave1与slave2上应该有:

2072 NodeManager2213 Jps1962 DataNode
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

并且,在master节点,浏览器输入 master:8088 能够访问hadoop管理界面,并看到slaves的存在。

安装Spark

1 . 解压已经下载的Spark到到~/software/目录。 
2 . 进入到Spark配置目录,~/software/spark-2.0.0-bin-hadoop2.7/conf,在此目录下,可以看到很多配置文件。但是很多文件都是以template结尾的,这是因为spark给我们提供的模板配置文件,我们可以拷贝一份,然后将.template给去掉,变成真正的配置文件后再编辑。

  • spark-env.sh,这个文件里可以配置各种spark的运行环境。我们配置几个基本的,可以根据自己机器的实际情况进行配置。添加一下代码到末尾。
export SCALA_HOME=/home/hadoop/software/scala-2.11.8export JAVA_HOME=/home/hadoop/software/jdk1.8.0_101export HADOOP_HOME=/home/hadoop/software/hadoop-2.7.3export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoopSPARK_MASTER_IP=masterSPARK_LOCAL_DIRS=/home/hadoop/software/spark-2.0.0-bin-hadoop2.7SPARK_DRIVER_MEMORY=512M
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • slaves,在这个文件里把slaves的hosts里的映射名添加进去。
slave1slave2
  • 1
  • 2
  • 1
  • 2

3 . 最后就可以将配置好的spark-2.0.0-bin-hadoop2.7文件夹分发给所有slave了。

scp -r ~/software/spark-2.0.0-bin-hadoop2.7 hadoop@slave1:~/software/scp -r ~/software/spark-2.0.0-bin-hadoop2.7 hadoop@slave2:~/software/
  • 1
  • 2
  • 1
  • 2

4 . 启动Spark,cd到spark主目录,然后sbin/start-all.sh。 
5 . 如果启动成功,那么用jps命令可以看到: 
在master节点上有7805 Master进程, 
在slaves有3759 Worker进程。 
同样的,在master节点,浏览器输入 master:8080 能够访问spark管理界面,并看到slaves的存在。


原创粉丝点击