hadoop及spark平台搭建笔记


##一、创建hadoop用户并赋予权限

###①创建hadoop用户组

1
sudo addgroup hadoop

###②创建hadoop用户

1
sudo adduser -ingroup hadoop hadoop

###③密码设为admin

###④增加权限

1
sudo gedit /etc/sudoers

在文件内上述修改以下代码并保存

1
2
3
# User privilege specification
root ALL=(ALL:ALL) ALL
hadoop ALL=(ALL:ALL) ALL


##二、安装jdk

###①创建目录 usr/lib/jvm

1
2
cd usr/lib    
sudo mkdir jvm

###②下载安装包并解压,移动
假设安装文件在下载目录
回到主目录

1
cd 下载

执行下述代码(注意修改对应版本号)

1
sudo tar zxvf ./jdk-8u45-linux-x64.tar.gz  -C ../../../usr/lib/jvm

进入到该目录下,并进行移动操作

1
2
3
4
cd usr/lib/jvm

sudo mv jdk1.8.0_45/ java-8u45-sun
//注意版本号

###③配置环境变量
注意!!:这种方式是为当前用户配置的所以,切换到hadoop之后,还需要在配置一遍
使用vim ~/.bashrc命令编辑
在底部加入命令

1
2
3
4
#######java-8u45-sun
export JAVA_HOME=/usr/lib/jvm/java-8u45-sun
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
1
2
source ~/.bashrc
//更新文件

使用java -version检查是否成功


##三、修改机器名(不必要)

sudo gedit /etc/hostname

编辑名字即可(随意,只是为了方便区分)


##四、安装ssh服务

###①安装openssh-server

1
sudo apt-get install openssh-server

###②若报错为:“Ubuntu无法锁定管理目录(/var/lib/dpkg/),是否有其他进程占用它?“

1
2
sudo rm /var/lib/dpkg/lock
sudo rm /var/cache/apt/archives/lock


##五、 建立ssh无密码登录本机

###①按照rsa方式生成密钥

1
2
ssh-keygen -t rsa -C "751440280@qq.com"
//邮箱输入自己的,仅作为标识

###②输入存储目录

1
/home/hadoop/.ssh/id_rsa

成功后如下:

1
2
3
The key fingerprint is:
2f:bb:13:23:66:09:34:29:be:57:db:93:69:f0:71:2a 751440280@qq.com
The key's randomart image is:

###③将id_rsa.pub追加到authorized_keys授权文件中

1
2
3
4
cd /home/hadoop/.ssh/
//默认文件夹

cat id_rsa.pub >> authorized_keys

###④测试是否能够登陆

1
2
ssh localhost
//输入yes 测试能否登陆。


##六、安装hadoop

###①下载hadoop
hadoop下载地址

###②安装过程

####2.1、复制文件到/usr/local/下

1
sudo cp hadoop-2.5.2.tar.gz  /usr/local/

####2.2、解压

1
sudo tar -zxf hadoop-2.5.2.tar.gz

####2.3、改名字

1
sudo mv hadoop-2.5.2 hadoop

####2.4、将该hadoop文件夹的属主用户设为hadoop

1
2
sudo chmod -R 775 /usr/local/hadoop  
sudo chown -R hadoop:hadoop /usr/local/hadoop

####2.5、修改bashrc的配置:

1
sudo gedit ~/.bashrc

在最后增加

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#HADOOP VARIABLES START  

export JAVA_HOME=/usr/lib/jvm/????
#(看jdk配置//上一行需要保留并设置成本机的路径)

export HADOOP_INSTALL=/usr/local/hadoop

export PATH=$PATH:$HADOOP_INSTALL/bin

export PATH=$PATH:$HADOOP_INSTALL/sbin

export HADOOP_MAPRED_HOME=$HADOOP_INSTALL

export HADOOP_COMMON_HOME=$HADOOP_INSTALL

export HADOOP_HDFS_HOME=$HADOOP_INSTALL

export YARN_HOME=$HADOOP_INSTALL

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native

export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"

#HADOOP VARIABLES END

然后更新生效

1
source ~/.bashrc

####2.6、修改hadoop-env.sh的配置

1
sudo gedit /usr/local/hadoop/etc/hadoop/hadoop-env.sh

找到JAVA_HOME改为上面的值,如下

1
2
#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/usr/lib/jvm/java-8u45-sun

####2.7、修改core-site.xml

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

1
2
3
4
5
6
7
8
9
10
11
<configuration>  
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>

####2.8、修改mapred-site.xml

1
sudo gedit /usr/local/hadoop/etc/hadoop/mapred-site.xml //此项不必要

1
2
3
4
5
6
<configuration>  
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>

####2.9、修改yarn-site.xml

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

1
2
3
4
5
6
7
8
9
10
11
<configuration>  
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

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

####2.10、修改hdfs-site.xml

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<configuration>  
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>

####2.11、修改master与slaves

1
2
3
4
5
sudo gedit /usr/local/hadoop/etc/hadoop/masters 

sudo gedit /usr/local/hadoop/etc/hadoop/slaves

添加:localhost


##七、运行hadoop

###①首先在 Hadoop 目录下创建所需的临时目录

1
2
cd /usr/local/hadoop  
mkdir tmp dfs dfs/name dfs/data

###②格式化hdfs文件系统,初次运行

1
2
cd /usr/local/hadoop/
bin/hdfs namenode -format

###③最后开启服务

1
2
sbin/start-dfs.sh  
sbin/start-yarn.sh


##八、状态查看

1
2
3
Namenode information:
http://localhost:50070
来查看Hadoop的信息。

1
2
All Applications:
http://localhost:8088/,

##九、安装Eclipse

###①下载地址
eclipse官方下载

###②解压到/opt

1
cd /opt/ && sudo tar -zxvf ~/下载/eclipse(根据下载的版本号填写)

###③创建快捷方式

1
gksudo gedit /usr/share/applications/eclipse.desktop

录入下述内容

1
2
3
4
5
6
7
8
9
10
[Desktop Entry]
Name=Eclipse 4
Type=Application
Exec=/opt/eclipse/eclipse
Terminal=false
Icon=/opt/eclipse/icon.xpm
Comment=Integrated Development Environment
NoDisplay=false
Categories=Development;IDE;
Name[en]=Eclipse

###④作jre的软链接

1
2
cd /opt/eclipse
ln -sf /usr/lib/jvm/java-8u45-sun/jre

###⑤、使用方式
用搜索栏搜索到eclipse,打开即可,可以选择拖拽到左侧快速启动栏


##十、安装Eclipse hadoop插件

###①下载hadoop-eclipse-plugin-2.4.0.jar
版本号无所谓,把这个文件拷贝到opt/eclipse/plugins中,这里介绍

1
sudo nautilus

这个命令会给你一个最高权限的资源管理器,可以进行复制
拷贝完之后,打开eclipse

###②添加Hadoop的安装目录

1
在Window->Preferences->Hadoop Map/Reduce中添加Hadoop的安装目录

###③配置Map/Reduce Locations

1
2
在Window-->Show View->other,
在MapReduce Tools中选择Map/Reduce Locations

配置如下:
此处输入图片的描述


scala配置+spark安装

##一.安装 Scala
Scala 官网地址为 http://www.scala-lang.org/。

####1)下载 scala-2.11.7.tgz

####2)进入目录下解压,并移动到合适的位置(比如opt目录下):
tar -xzvf scala-2.11.7.tgz

####3)配置环境变量,编辑~/.bashrc,添加下面的内容。
sudo gedit ~/.bashrc

1
2
3
#scala envir
export SCALA_HOME=/xxxxxxxx //写上你的目录比如/opt/scala-2.11.7
export PATH=${SCALA_HOME}/bin:$PATH

####4)使 bashrc 文件更新生效。

1
source ~/.bashrc

####5)在终端输入scala测试是否安装成功

###注:
不能使用apt-get install scala 这样安装是基于openjdk,问题很多.


##二.安装 Spark
进入官网下载对应 Hadoop 版本的 Spark 程序包
官网地址为 http://spark.apache.org/downloads.html。
这边下载最新版本1.41,2015年08月15日

####1)下载 spark-1.4.1-bin-hadoop2.6.tgz

####2)解压并移动到合适的位置(比如opt目录下):。

1
2
tar -xzvf spark-1.4.1-bin-hadoop2.6.tgz
//为了方便,移动后改名为spark

####3)配置环境变量,编辑~/.bashrc,添加下面的内容。
sudo gedit ~/.bashrc

1
2
3
#spark
export SPARK_HOME=$HOME/opt/spark
export PATH=$PATH:$SPARK_HOME/bin

####4)使 bashrc 文件更新生效。

1
source ~/.bashrc

####5)配置 conf/spark-env.sh 文件\
加上 export JAVA_HOME=/usr/lib/jvm/java-8u45-sun

####6)若出现权限问题,修改组权限为读写

####7)在sbin目录下,调用脚本start-all.sh开启服务