CDH版本hadoop2.6伪分布式安装
2018-01-19 11:20
489 查看
CDH版本hadoop的一个重要分支,使用hadoop-2.6.0-cdh5.9.0在单台CentOS配置hadoop伪分布式环境;
注:以上操作需要使用root用户
注:以上操作需要使用root用户,通过ping 主机名可以返回对应的IP即可
生成私钥和公钥
拷贝公钥到主机(需要输入密码)
注:以上操作需要在hadoop用户,通过hadoop用户ssh到其他主机不需要密码即可。
1、基础环境配置
主机名 | IP地址 | 角色 | Hadoop用户 |
---|---|---|---|
localhost | 192.168.30.139 | NameNode、ResourceManager、SecondaryNameNode、DataNode、NodeManager | hadoop |
1.1、关闭防火墙和SELinux
1.1.1、关闭防火墙
$ systemctl stop firewalld $ systemctl disable firewalld
1.1.2、关闭SELinux
$ setenforce 0 $ sed -i 's/enforcing/disabled/' /etc/sysconfig/selinux
注:以上操作需要使用root用户
1.2、hosts配置
$ vi /etc/hosts
########## Hadoop host ########## 192.168.30.139 localhost
注:以上操作需要使用root用户,通过ping 主机名可以返回对应的IP即可
1.3、配置无密码访问
首先要创建hadoop用户,然后在4台主机上使用hadoop用户配置无密码访问,所有主机的操作相同,以hadoop-master为例生成私钥和公钥
$ ssh-keygen -t rsa
拷贝公钥到主机(需要输入密码)
$ ssh-copy-id hadoop@hadoop
注:以上操作需要在hadoop用户,通过hadoop用户ssh到其他主机不需要密码即可。
1.4、Java环境配置
1.4.1、下载JDK
注:使用hadoop用户操作$ cd /home/hadoop $ curl -o jdk-8u151-linux-x64.tar.gz http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.tar.gz?AuthParam=1516091623_fa4174d4b1eed73f36aa38230498cd48[/code]1.4.2、安装java
安装java可使用hadoop用户操作;$ mkdir -p /home/hadoop/app/java $ tar -zxf jdk-8u151-linux-x64.tar.gz $ mv jdk1.8.0_151 /home/hadoop/app/java/jdk1.8
配置Java环境变量:$ vi /home/hadoop/.bash_profileexport JAVA_HOME=/home/hadoop/app/java/jdk1.8 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
启用环境变量$ source /home/hadoop/.bash_profile
注:通过java –version命令返回Java的版本信息即可2、安装hadoop
2.1、下载安装CDH版本的hadoop
$ cd ~ $ curl -O http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.13.0.tar.gz $ mkdir -p app/hadoop $ tar -zxf hadoop-2.6.0-cdh5.9.0.tar.gz -C ./app/hadoop/2.2、安装配置hadoop
hadoop的安装配置使用hadoop用户操作;
创建目录,用于存放hadoop数据$ mkdir -p /home/hadoop/app/hadoop/hdfs/{name,data}2.2.1、配置core-site.xml
$ vi /home/hadoop/app/hadoop/hadoop-2.6.0-cdh5.9.0/etc/hadoop/core-site.xml<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/home/hadoop/app/hadoop/tmp</value> </property> </configuration>2.2.2、配置hdfs-site.xml
$ vi /home/hadoop/app/hadoop/hadoop-2.6.0-cdh5.9.0/etc/hadoop/hdfs-site.xml<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/home/hadoop/app/hadoop/hdfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/home/hadoop/app/hadoop/hdfs/data</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> </configuration>2.2.3、配置mapred-site.xml
$ cd /home/hadoop/app/hadoop/hadoop-2.6.0-cdh5.9.0/etc/hadoop/ $ cp mapred-site.xml.template mapred-site.xml$ vi /home/hadoop/app/hadoop/hadoop-2.6.0-cdh5.9.0/etc/hadoop/mapred-site.xml<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>2.2.4、配置yarn-site.xml
$ vi /home/hadoop/app/hadoop/hadoop-2.6.0-cdh5.9.0/etc/hadoop/yarn-site.xml<configuration> <!-- Site specific YARN configuration properties --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>2.2.5、配置slaves
$ vi app/hadoop/hadoop-2.6.0-cdh5.9.0/etc/hadoop/slaveslocalhost2.2.6、配置hadoop-env
修改hadoop-env.sh文件的JAVA_HOME环境变量,操作如下:$ vi /home/hadoop/app/hadoop/hadoop-2.6.0-cdh5.9.0/etc/hadoop/hadoop-env.shexport JAVA_HOME=/home/hadoop/app/java/jdk1.82.2.7、配置yarn-env
修改yarn-env.sh文件的JAVA_HOME环境变量,操作如下:$ vi /home/hadoop/app/hadoop/hadoop-2.6.0-cdh5.9.0/etc/hadoop/hadoop-env.shexport JAVA_HOME=/home/hadoop/app/java/jdk1.82.2.8、配置mapred-env
修改mapred-env.sh文件的JAVA_HOME环境变量,操作如下:$ vi /home/hadoop/app/hadoop/hadoop-2.6.0-cdh5.9.0/etc/hadoop/hadoop-env.shexport JAVA_HOME=/home/hadoop/app/java/jdk1.82.2.9、配置HADOOP_PREFIX
$ vi /home/hadoop/.bash_profile####HADOOP_PREFIX export HADOOP_PREFIX=/home/hadoop/app/hadoop/hadoop-2.6.0-cdh5.9.0 export PATH=$PATH:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin
启用环境变量$ source /home/hadoop/.bash_profile
注:通过echo $HADOOP_PREFIX命令返回hadoop的安装目录3、启动hadoop伪分布式
3.1、启动hdfs
格式化hdfs$ hdfs namenode -format
启动dfs$ start-dfs.sh
启动的进程$ jps 15376 NameNode 15496 DataNode 15656 SecondaryNameNode 15759 Jps
注:关闭dfs命令为:stop-dfs.sh3.2、启动yarn
$ start-yarn.sh
注:关闭yarn命令为:stop-yarn.sh3.3、启动集群
hdfs和yarn的启动可以使用一条命令执行:
启动:start-all.sh
关闭:stop-all.sh
启动后的所有进程:$ jps 15376 NameNode 16210 Jps 15811 ResourceManager 15907 NodeManager 15496 DataNode 15656 SecondaryNameNode
MapReducer PI运算$ hadoop jar /home/hadoop/app/hadoop/hadoop-2.6.0-cdh5.9.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.9.0.jar pi 5 10
返回的结果是:Estimated value of Pi is 3.28000000000000000000
YARN管理界面:http://192.168.30.139:8088
HDFS管理界面:http://192.168.30.139:500704、hdfs的shell操作和Wordcount演示
4.1、简单的hdfs shell操作
创建目录$ hadoop fs -mkdir /input $ hadoop fs -mkdir /output
查看目录$ hadoop fs -ls / Found 4 items drwxr-xr-x - hadoop supergroup 0 2018-01-19 10:56 /input drwxr-xr-x - hadoop supergroup 0 2018-01-19 10:56 /output drwx------ - hadoop supergroup 0 2018-01-19 10:51 /tmp drwxr-xr-x - hadoop supergroup 0 2018-01-19 10:51 /user
上传文件$ hadoop fs -put /home/hadoop/app/hadoop/hadoop-2.6.0-cdh5.9.0/LICENSE.txt /input
查看文本文件内容$ hadoop fs -cat /input/LICENSE.txt4.2、Wordcount
将HDFS上/input/LICENSE.txt使用hadoop内置Wordcount的jar包统计文档的Wordcount
启动测试$ hadoop jar /home/hadoop/app/hadoop/hadoop-2.6.0-cdh5.9.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.9.0.jar wordcount /input /output/wordcounttest
查看结果$ hadoop fs -ls /output/wordcounttest Found 2 items -rw-r--r-- 1 hadoop supergroup 0 2018-01-19 11:04 /output/wordcounttest/_SUCCESS -rw-r--r-- 1 hadoop supergroup 22117 2018-01-19 11:04 /output/wordcounttest/part-r-00000 $ $ hadoop fs -cat /output/wordcounttest/part-r-00000|sort -k2 -nr|head the 641 of 396 or 269 and 255 to 241 this 164 in 162 OR 161 OF 160 a 1285、遇到的问题
5.1、WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
解决:导致该问题的改版本是因为${HADOOP_PREFIX}/lib/native目录没有lib库,解决办法是到hadoop官网下载2.6的包,把lib/native目录下的数据拷贝过去。5.2、openssl: false Cannot load libcrypto.so (libcrypto.so: 无法打开共享对象文件: 没有那个文件或目录)!
解决:/usr/lib64/目录下做一个libcrypto.so软连
接cd /usr/lib64/ ln -s /usr/lib64/libcrypto.so.1.0.1e libcrypto.so
使用命令export HADOOP_ROOT_LOGGER=DEBUG,console可以在终端上看到更详细的日志信息方便排查问题;
以上两个问题可以使用命令检查是否为true:hadoop checknative
注:${HADOOP_PREFIX}表示hadoop的安装目录,或者说是${HADOOP_HOME}6、参考资料
http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.7.5/hadoop-project-dist/hadoop-common/SingleCluster.html
相关文章推荐
- Hadoop集群安装 已检测到多个CDH版本
- Ubantu14.04中安装Hadoop-2.6伪分布式
- Hadoop(CDH)分布式集群安装笔记(亲测)
- Linux7 下Hadoop集群用户管理方案之二 CDH5.9.0版本安装配置
- Hadoop(CDH)分布式集群安装笔记(亲测)
- Hadoop-CDH5.11.0版本安装-双节点完整版
- Hadoop-安装过程-单虚拟机版(伪分布式)(Ubuntu13.04版本下安装)
- ubuntu10.04安装与测试hadoop1.1.1版本的伪分布式
- Hadoop(CDH)分布式集群安装笔记(亲测)
- Hadoop 2.6 集群搭建从零开始之3 Hadoop的安装与配置(伪分布式环境)
- Hadoop(CDH)分布式集群安装笔记(亲测)
- hadoop2.6完全分布式安装HBase1.1
- hadoop-2.0.0-cdh4.7.0伪分布式安装,mapreduce例子执行
- Hadoop(CDH)分布式集群安装笔记(亲测)
- hadoop - hadoop2.6 分布式 - 集群环境搭建 - JDK安装配置和SSH安装配置与免密码登陆(集群中)
- Hadoop 2.6 集群搭建从零开始之4 Hadoop的安装与配置(完全分布式环境)
- centos7 安装hadoop-cdh-2.6
- 最全的hadoop2.4.1版本分布式集群高可用模式安装步骤
- hadoop2.6伪分布式安装和使用(centos7)
- hadoop伪分布式环境apache版本切换为CDH