初识Hadoop之Hadoop单机版搭建
最近闲来无事,和朋友志声大神一起想学习Hadoop,最晚弄机器的弄到两点多,今天动手和志声一起安装Hadoop的环境,刚开始也是一头雾水啊,Hadoop官网 的教程我也是醉了,说的牛头不对马嘴,最后只能通过各种百度解决了问题,最后把安装的一些操作都记录下来,希望可以帮助到后来人
环境
这里我们使用了两台腾讯云的机器以及一台阿里云的机器,本来是准备搭建一个Hadoop集群的,但是由于两个人都没有任何的大数据的经验,所以先在我的阿里云机器上部署了一套单机版的Hadoop测试一下,看看能不能行
* 操作系统:centOS 7.3
* JAVA版本:jdk1.8
* Hadoop版本:Hadoop2.9.0(binary)
这里顺带附上Hadoop的下载地址 http://hadoop.apache.org/releases.html
开始安装
- ### 安装java环境变量
- 先下载java版本,如果机器上自带了openjdk请先卸载自带的openJDK
- 下载好后将jdk放到自己的机器上,本人放在
/user/local/java
目录下 - 解压
tar -zxvf yourjavajdkname
- 解压后就可以在当前目录下看到解压的文件夹了,然后配置Java的环境变量
sudo vim + /etc/profile
- 在文件最后加上以下代码
export JAVA_HOME=/usr/local/java/java_1.8
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib
注:java1.8是我本人将jdk解压后的文件夹重命名为java_1.8 source /etc/profile
编译一下- 输入java -version看看有没有版本信息输出,有的话就是安装成功了
- ### 配置hosts端口
sudo vim + /etc/hosts
- 在文件末尾加上自己机器的IP和别名为了以后做集群做准备
- ### 配置SSH免密登录
注:同样是为了以后做集群做准备 - 安装expect命令 :
yum -y install expect
- 下载ssh_p2p.zip放在任意目录下
unzip ssh_p2p
如果没有unzip命令,先安装unzip- 安装unzip命令,如果已经有了,可以跳过这一步,
yum -y install unzip
- 修改resource的ip值
vim /ssh_p2p/deploy_data/resource
- 添加如下代码:
adress=(
"IP,登录账号,登录密码,free"
"IP,登录账号,登录密码,free"
"IP,登录账号,登录密码,free"
) - 修改start.sh的运行权限
chmod u+x start.sh
- 运行
./start.sh
- 测试: ssh ip(测试是否可以登录)
到这里我们为后面做安装集群的准备就好了
-
配置Hadoop
-
- 将下载好的Hadoop上传到我们的机器,然后解压,我本人在/usr/local/目录下新建了一个hadoop目录,然后把下载好的压缩包上传到/usr/local/hadoop目录下
- 解压
tar -zxvf hadoopfilename
- 然后修改hadoop解压目录下的/etc/hadoop/hadoop-env.sh文件
sudo vim + /usr/local/hadoop/hadoop-2.9.0/etc/hadoop
-
将Java home的路径配置进去,如果不知道或者不记得自己的JavaHome路径可以用下面的命令,
echo ${JAVA_HOME}
输出javaHome的路径,得到了javaHome的路径后,添加下面代码
export JAVA_HOME = /usr/local/java/java_1.8
,这是我本人的JavaHome路径,
*然后配置Hadoop的环境变量,和我们配置java的环境变量一样,使用以下命令
sudo vim + /etc/profile
, -
添加以下代码:
export HADOOP_HOME= /usr/local/hadoop/hadoop-2.9.0/ export PATH=$PATH:$HADOOP_HOME/bin
-
source /etc/profile
编译让我们刚刚修改生效 -
修改/usr/local/hadoop/hadoop-2.9.0/etc/hadoop/core-site.xml文件
<configuration> <property> <name>fs.defaultFSname> <value>hdfs://localhost:9000value> property> <property> <name>hadoop.tmp.dirname> <value>/usr/local/hadoop/hadoop-2.9.0/tmpvalue> property> configuration>
-
tmp文件夹是我自己创建的,hadoop不自带,特此说明
- fs.defaultFS直接用localhost就行,如果重命名了主机名,也可以用重命名的。比如说你重命名为xxxx那么就用xxxx替代localhost
-
修改/usr/local/hadoop/hadoop-2.9.0/etc/hadoop/hdfs-site.xml
<configuration> <property> <name>dfs.name.dirname> <value>/usr/hadoop/hdfs/namevalue> <description>namenode上存储hdfs名字空间元数据 description> property> <property> <name>dfs.data.dirname> <value>/usr/hadoop/hdfs/datavalue> <description>datanode上数据块的物理存储位置description> property> <property> <name>dfs.replicationname> <value>1value> property> configuration>
-
SSH免密登录,这里的和SSH免密登录和前面的SSH免密登录互不影响,不冲突,如果这里不配置的话,后面启动的时候也会提示你是否要连接,所以还是配置比较好
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys chmod 0600 ~/.ssh/authorized_keys
-
HDFS的启动与停止(第一次启动需要格式化)
-
启动命令
cd /usr/local/hadoop/hadoop-2.9.0 ./bin/hdfs namenode -format ./sbin/start-dfs.sh
-
停止命令
./sbin/stop-dfs.sh
-
- 然后在浏览器中输入
http://yourIP:50070
就可以看到效果了,如果没有的话,证明上面没有配置好,
-
yarn配置
在hadoop中,默认mapred-site.xml的名字是mapred-site.xm.template,所以我们要先用MV命令修改名字,-
配置yarn-site.xml
<configuration> <property> <name>yarn.nodemanager.aux-servicesname> <value>mapreduce_shufflevalue> property> configuration>
-
启动和停止yarn
cd /usr/local/hadoop/hadoop-2.9.0 ./sbin/start-yarn.sh
-
停止yarn
./sbin/stop-yarn.sh
-
在浏览器输入http://yourIp:8088,就可以看到成果了
-
-
mv /usr/local/hadoop/hadoop-2.9.0/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/hadoop-2.9.0/etc/hadoop/mapred-site.xml
- 编辑mapred-site.xml
sudo vim + mapred-site.xml
<configuration> <property> <name>mapreduce.framework.namename> <value>yarnvalue> property> configuration>
- 编辑mapred-site.xml
到这里Hadoop配置工作就完成了,集群的配置以后配置成功了再写成教程发出来。
时间:2018-10-09 22:41 来源: 转发量:次
声明:本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,不为其版权负责。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。
相关文章:
相关推荐:
网友评论: