目录
一、写在前面
截至大三上学期(2020年12月),本人写《hadoop那些事》系列已经有25篇了,初衷其实就是比赛时期做笔记用,因为安装hadoop及其组件需要一直保持手感,从虚拟机的ip配置到各种小错以及hadoop、mysql、sqoop、mapreduce、hbase、hive等等;后来写博客是为了帮助同学,以及缓解老师压力,这个过程是真的很磨练人,因为要从0开始,甚至虚拟机的安装,VM的安装开始,一直到 跑MR程序,那是2020年上半年,在家经过疫情的时候,给同学开远程协助都一直开到半夜两三点。然而到现在从这里写一些博客成了我的一个解压方式,因为把曾经我掌握的技术总结分享到网络上影响别人是一件很幸福的事情,在这个过程中我也经历了查阅很多很多博客,官方文档,请教其他同学,浏览器上面的标签密密麻麻,最终调试成功的时候只是我一个人的喜悦,通过博客,可以变成很多人的喜悦,同时每次博客写成后我都会让舍友同学照做一遍看看我遗漏了哪些细节并及时改正,真的很喜欢这段时光,我可以和键盘交流,可以和正在学习的你交流。
——感谢霏霏同学踩坑~~~
二、软件清单
-
VMware® Workstation 15 Pro-15.5.6 build-16341506
-
ubuntu LTS 16.04
-
hadoop 3.1.3
-
jdk 1.8 8u162.x64
-
hbase 2.2.2
-
hive 3.1.2
-
mysql 5.1.40
-
scala 2.11.8
-
spark 2.4.0
-
sbt 1.3.8
-
maven 3.6.3
如果有大佬看到我这篇文章请先不要谈论用docker部署,问就是在部署docker了
三、ubuntu LTS 16.04
下载地址:https://releases.ubuntu.com/16.04.7/
官网有可能下载慢,但是比非会员百度云和迅雷云快吧。
如果发现不能用xftp或者xshell传输文件或者编辑,方法如下:传输文件可以用rz -E 需要下载lrzsz ,编辑文件可以更改文件的权限例如chmod 777 文件名称。解决
安装应该就像之前一样,这次默认是桌面版本。
如下图:我新建的相关配置
然后就等呀等,等不到头。 如下图:
如箭头所示 ,点击一下,就会出现如下图。
点击skip即可。 由于网络问题所以下载东西会非常慢。到后面就很顺畅了。
修改 /etc/sudoers
如下
三、jdk 1.8 8u162.x64
jdk老版本聚集地:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html
配置环境变量
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_162
export PATH=$PATH:$JAVA_HOME/bin
测试是否安装成功如下
java -version
四、hadoop 3.1.3
- 本次实验做伪分布式
下载地址 里面有各种版本,下载3.1.3即可https://archive.apache.org/dist/hadoop/common/
vi /etc/profile
export HADOOP_HOME=/usr/hadoop/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
检测是否安装成功
hadoop version
免密服务(先ssh-keygen)
切换到ssh目录:cd ~/.ssh/
ssh-keygen -t rsa -P ""
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
core-site.xml
yarn-site.xml
hdfs-site.xml
mapred-site.xml
hadoop-env.sh
必做(去链接里面照做即可):解决no HDFS_NAMENODE_USER问题
格式化namenode
hdfs namenode -format
最后启动即可:
测试一个例子:
hadoop jar /usr/hadoop/hadoop-3.1.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar pi 5 5
hadoop就先到此为止了
五、Maven 3.6.3
下载地址:
https://maven.apache.org/download.cgi?Preferred=https%3A%2F%2Fdownloads.apache.org%2F
转移位置 配置环境变量
export MAVEN_HOME=/usr/maven
export PATH=$PATH:$MAVEN_HOME/bin
六 、scala 2.11.8
vi etc/profile
#scala
export SCALA_HOME=/usr/scala/scala-2.11.8
export PATH=$PATH:$SCALA_HOME/bin
source /etc/profile
七 、sbt-1.3.8
wget https://piccolo.link/sbt-1.3.8.tgz
tar -xvf sbt-1.3.8.tgz
cd sbt
mv sbt/ sbt-1.3.8
export SBT_HOME=/usr/sbt/sbt-1.3.8
export PATH=$PATH:$SBT_HOME/bin
source /etc/profile
sbt sbtVersion
八、mysql 5.1.40
add-apt-repository 'deb http://archive.ubuntu.com/ubuntu trusty main universe'
apt-get update
#命令1
sudo apt-get update
#命令2
sudo apt-get install mysql-server
vim /etc/mysql/mysql.conf.d/mysqld.cnf
注释掉bind-address = 127.0.0.1
sudo mysql -uroot -p
GRANT ALL ON *.* TO root@'%' IDENTIFIED BY "123456" with grant option;
flush privileges;
exit
systemctl restart mysql
windows上也可连接成功
九、hbase 伪分布式
http://archive.apache.org/dist/hbase/2.2.2/
环境变量
export HBASE_HOME=/usr/hbase/hbase-2.2.2
export PATH=$PATH:$HBASE_HOME/bin
配置文件
修改 conf/hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://ubuntu:9000/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/tmp/zookeeper</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
</configuration>
接着修改conf/hbase-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_162
export HBASE_MANAGES_ZK=true
十、hive 3.1.2
https://mirror-hk.koddos.net/apache/hive/hive-3.1.2/
环境变量
export HIVE_HOME=/usr/hive/hive-3.1.2
export PATH=$PATH:$HIVE_HOME/bin
配置文件
cd /usr/hive/hvie-3.1.2/conf
cp hive-env.sh.template hive-env.sh
vi hive-env.sh
vi hive-site.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- jdbc-url -->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://ubuntu:3306/hive?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false</value>
</property>
<!-- jdbc-driver -->
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<!-- 数据库用户名 -->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<!-- 数据密码-->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
<property>
<name>datanucleus.readOnlyDatastore</name>
<value>false</value>
</property>
<property>
<name>datanucleus.fixedDatastore</name>
<value>false</value>
</property>
<property>
<name>datanucleus.autoCreateSchema</name>
<value>true</value>
</property>
<property>
<name>datanucleus.schema.autoCreateAll</name>
<value>true</value>
</property>
<property>
<name>datanucleus.autoCreateTables</name>
<value>true</value>
</property>
<property>
<name>datanucleus.autoCreateColumns</name>
<value>true</value>
</property>
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
<!-- 显示表的列名 -->
<property>
<name>hive.cli.print.header</name>
<value>true</value>
</property>
<!-- 显示数据库名称 -->
<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
</property>
<property>
<name>hive.exec.local.scratchdir</name>
<value>/usr/hive/hive-3.1.2</value>
<description>Local scratch space for Hive jobs</description>
</property>
<!-- 自定义目录start -->
<property>
<name>hive.downloaded.resources.dir</name>
<value>/usr/hive/hive-3.1.2/hive-downloaded-addDir/</value>
<description>Temporary local directory for added resources in the remote file system.</description>
</property>
<property>
<name>hive.querylog.location</name>
<value>/usr/hive/hive-3.1.2/querylog-location-addDir/</value>
<description>Location of Hive run time structured log file</description>
</property>
<property>
<name>hive.server2.logging.operation.log.location</name>
<value>/usr/hive/hive-3.1.2/hive-logging-operation-log-addDir/</value>
<description>Top level directory where operation logs are stored if logging functionality is enabled</description>
</property>
<!-- 自定义目录end -->
</configuration>
包的适配
解决版本冲突和 jar 包依赖问题
cp /usr/hive/hive-3.1.2/lib/jline-2.12.jar /usr/hadoop/hadoop-3.1.3/share/hadoop/yarn/lib/
下载mysql驱动包到hive目录下的lib目录下
wget http://central.maven.org/maven2/mysql/mysql-connector-java/6.0.6/mysql-connector-java-6.0.6.jar
或者下载好传进去
hive lib下
删除hive中低版本的guava-19.0.jar包,将hadoop中的guava-27.0-jre.jar复制到hive的lib目录下即可。
# 格式化数据库
schematool -dbType mysql -initSchema
# 启动hive
hive
# 查看数据库
hive> show databases;
十一、spark
https://archive.apache.org/dist/spark/spark-2.4.0/
环境变量
export SPARK_HOME=/usr/spark/spark-2.4.0
export PATH=$PATH:$SPARK_HOME/bin
配置文件
cp spark-env.sh.template spark-env.sh
写入如下
export SCALA_HOME=/usr/scala/scala-2.11.8
export JAVA_HOME=/usr/java/jdk1.8.0_162
export SPARK_MASTER_IP=ubuntu
export SPARK_WORKER_MEMORY=4G
启动
sbin/start-all.sh
spark-shell
print(“hello spark!”)
十二、相关资源
迅雷:
链接:https://pan.xunlei.com/s/VMTtjnW2uYkilC8e5SykA7SbA1 提取码:jzg3
百度云(含虚拟机 paike 123456)
链接:https://pan.baidu.com/s/1BY8eIt-NS5tBZR1-OV1CYQ 提取码:djgw
复制这段内容后打开百度网盘手机App,操作更方便哦–来自百度网盘超级会员V3的分享