配置所需软件:
①、VirtualBox-5.2.0-118431-Win.exe
②、Ubuntu14.04.5
(一)、下载并安装VirtualBox
默认安装
(二)、安装Ubuntu14.04.5
然后“继续”,“下一步”
信息填完后点击继续安装完成后会重新进入系统。
(三)、创建用户hadoop
$ sudo adduser hadoop
并按照提示输入hadoop用户的密码,例如密码设定为 hadoop。注意输入密码的时候是不显示的。并将hadoop用户添加进sudo用户组
$ sudo usermod -G sudo hadoop
输入
$ cd ../ #进入到home目录
$ cd ../ #进入到根目录
输入
$ sudo gedit ~/etc/sudoers #打开sudoers配置文件
在root ALL = (ALL:ALL) ALL下面添加如下代码:
hadoop ALL = (ALL:ALL) ALL
保存并退出。
注销切换成hadoop用户
(四)、安装JDK
①下载JDK
②安装解压
将下载下来的 .tar.gz 文件解压。使用如下命令解压:
$ sudo tar zxvf ./jdk-8u151-linux-x64.tar.gz
为了方便管理,将解压后的文件移至另一个目录下
$ sudo mkdir /usr/lib/jvm
$ sudo mv jdk1.8.0_151 /usr/lib/jvm
③设置环境变量
编辑用户主目录下的.bashrc文件
$ vim ~/.bashrc
在该文件的末尾追加以下几行代码:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_151
export CLASSPATH=${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
为了让更改立即生效,执行如下命令:
$ source ~/.bashrc
④验证JDK
$ java -version
(五)、安装Hadoop2.7.3
①下载hadoop2.7.3
②安装hadoop-2.7.3
进入到下载目录
将下载下来的 .tar.gz 文件解压。使用如下命令解压:
$ sudo tar zxvf hadoop-2.7.3.tar.gz
为了方便管理,将解压后的文件移至另一个目录下
$ sudo mv hadoop-2.7.3 /usr/local/hadoop
为安装目录添加权限
$ sudo chmod 777 /usr/local/hadoop
③配置hadoop2.7.3
编辑用户主目录下的.bashrc文件
$ gedit ~/.bashrc
$ vim ~/.bashrc
在该文件的末尾追加以下几行代码:
#HADOOP START
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_151
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 END
保存退出后,激活新加的环境变量
$ source ~/.bashrc
④验证安装是否成功
$ cd /usr/local/hadoop
$ mkdir ./input
$ cp ./etc/hadoop/*.xml ./input #将配置文件作为输入文件
$ ./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep ./input ./output 'dfs[a-z.]+'
$ cat ./output/* #查看运行结果
出现以下结果即可。
(六)、安装SSH、配置SSH无密码登陆
$ sudo apt-get install openssh-server
$ ssh localhost
输入yes
$ exit #退出刚才的 ssh localhost
$ cd ~/.ssh/ #若没有该目录,请先执行一次ssh localhost
$ ssh-keygen -t rsa #会有提示,都按回车就可以
$ cat ./id_rsa.pub >> ./authorized_keys #加入授权
然后输入
$ ssh localhost
结果如下:
(七)、安装hadoop-伪分布式配置
Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行,节点既作为 NameNode 也作为 DataNode,同时,读取的是 HDFS 中的文件。
①修改配置文件
Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。
修改配置文件 core-site.xml (通过 gedit 编辑会比较方便: gedit ./etc/hadoop/core-site.xml),将当中的
<configuration>
</configuration>
修改为如下配置:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
< value> file:/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>
同样的,修改配置文件 hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>
②执行 NameNode 的格式化:
./bin/hdfs namenode –format
成功的话,会看到 “successfully formatted” 和 “Exitting with status 0” 的提示,若为 “Exitting with status 1” 则是出错。
③开启 NameNode 和 DataNode 守护进程。
./sbin/start-dfs.sh
关闭守护进程
./sbin/stop-dfs.sh
若出现以下SSH提示,输入yes即可。
④通过jps查看启动的Hadoop进程
⑤运行Hadoop伪分布式实例
./bin/hdfs dfs -mkdir -p /usr/hadoop
./bin/hdfs dfs -mkdir input
./bin/hdfs dfs -put ./etc/hadoop/* .xml input
./bin/hdfs dfs -ls input
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep ./input ./output 'dfs[a-z.]+'
./bin/hdfs dfs -cat output/*
⑥成功启动后,可以访问 Web 界面
http://localhost:50070 查看 NameNode 和 Datanode 信息,还可以在线查看 HDFS 中的文件。
(八)、启动YARN
①首先修改配置文件 mapred-site.xml,这边需要先进行重命名:
②编辑mapred-site.xml 文件,
gedit ./etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>yarn</value>
</property>
</configuration>
③修改配置文件 yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce shuffle</value>
</property>
</configuration>
④启动 YARN 了(需要先执行过 ./sbin/start-dfs.sh)
./sbin/start-dfs.sh #启动YARN
./sbin/mr-jobhistory-daemon.sh start historyserver #开启历史服务器,才能在Web中查看任务运行情况
关闭YARN
./sbin/stop-yarn.sh
启动 YARN 有个好处是可以通过 Web 界面查看任务的运行情况:http://localhost:8088/cluster,如下图所示
不启动 YARN 需重命名 mapred-site.xml
如果不想启动 YARN,务必把配置文件 mapred-site.xml 重命名,改成 mapred-site.xml.template,需要用时改回来就行。
否则在该配置文件存在,而未开启 YARN 的情况下,运行程序会提示 “Retrying connect to server: 0.0.0.0/0.0.0.0:8032” 的错误,这也是为何该配置文件初始文件名为 mapred-site.xml.template。
⑤开启 NameNode 和 DataNode 守护进程。
./sbin/start-dfs.sh
到此hadoop大数据已配置完成。