当前位置:   article > 正文

Linux-新手小白速秒Hadoop集群全生态搭建(图文混编超详细)_配置hadoop linux

配置hadoop linux

在之前的文章中,我教会大家如何一步一步搭建一个Hadoop集群,但是只提供了代码,怕有些朋友会在一些地方产生疑惑,今天我来以图文混排的方式,一站式交给大家如何搭建一个Hadoop高可用集群包括(HadoopHA,Zookeeper、MySQL、Hbase、Hive、Sqoop、Scala、Spark)。如果对之前文章感兴趣的朋友,可以观看这刊专栏:

大数据技术之Hadoop全生态组件学习与搭建icon-default.png?t=N7T8http://t.csdnimg.cn/LMyEn文章较长,附目录,此次安装是在VM虚拟环境下进行。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请留下你宝贵的点赞,谢谢。

目录

一,创建集群

一、创建主机

二、解压安装包配置环境变量

一、解压安装包

二、配置环境变量

三、创建从机

二、配置安装应用

1、HadoopHA 及 zookeeper

2、HBase

3、Hive及MySQL

4、sqoop

5、scala 及spark


一,创建集群

一、创建主机

 首先,我们需要在vm里安装新建一台名为BigData01的虚拟机作为我们的主机。

这个内存要注意,如果只是学习搭建,内存不用给很大,如果你的集群搭建是为了工作或别的高需求目的,能给多大就多大。

 

 

 

 

 

 

这样,我们就可以开启虚拟机了,第一次需要初始化。

这是添加新用户,name是用户名,password是密码。

这边我们选择用root(管理员)用户来登录,密码就是刚才创建虚拟机时所设置的密码。

将我们所需要的安装包(jdk、Hadoop、zookeeper、hbase、MySQL、MySQL.java、hive、sqoop、Scala、spark)上传到Linux的Downloads中。

二、解压安装包配置环境变量

一、解压安装包

打开终端,解压到opt下

  1. tar zxvf /root/Downloads/jdk-8u171-linux-x64.tar.gz -C/opt/
  2. tar zxvf /root/Downloads/zookeeper-3.4.5.tar.gz -C/opt/
  3. tar zxvf /root/Downloads/hadoop-2.7.5.tar.gz -C/opt/
  4. mv /opt/zookeeper-3.4.5/ /opt/zookeeper
  5. mv /opt/hadoop-2.7.5/ /opt/hadoopHA
  6. tar zxvf /root/Downloads/hbase-1.2.6-bin.tar.gz -C/opt/

  1. tar zxvf /root/Downloads/apache-hive-2.1.1-bin.tar.gz -C/opt/
  2. mv /opt/apache-hive-2.1.1-bin/ /opt/hive
  3. 卸载原有数据库
  4. rpm -qa | grep mariadb(出来的是哪个版本号下面就哪个)
  5. rpm -e --nodeps mariadb-libs-5.5.65-1.el7.x86_64
  6. rpm -e --nodeps mariadb-5.5.68-1.el7.x86_64
  7. rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
  8. 安装mysql
  9. cd /opt/
  10. mkdir mysql
  11. cd
  12. tar xvf /root/Downloads/mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar -C/opt/mysql
  13. cd /opt/mysql/
  14. rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm
  15. rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm
  16. rpm -ivh mysql-community-libs-compat-5.7.26-1.el7.x86_64.rpm
  17. rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm
  18. rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm
  19. 检查安装情况
  20. rpm -qa | grep mysql
  21. mv /root/Downloads/mysql-connector-java-5.1.46-bin.jar /opt/hive/lib/

  1. tar -zxvf /root/Downloads/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C/opt/
  2. mv /opt/sqoop-1.4.7.bin__hadoop-2.6.0/ /opt/sqoop

二、配置环境变量

创建所需文件,配置环境变量

  1. cd /opt/zookeeper
  2. mkdir data && mkdir logs
  3. cd
  4. vim /etc/profile
  5. export JAVA_HOME=/opt/jdk1.8.0_171
  6. export HADOOP_HOME=/opt/hadoopHA
  7. export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  8. export ZOOKEEPER_HOME=/opt/zookeeper
  9. export PATH=$PATH:$ZOOKEEPER_HOME/bin
  10. export HBASE_HOME=/opt/hbase-1.2.6
  11. export PATH=$PATH:$HBASE_HOME/bin
  12. export HIVE_HOME=/opt/hive
  13. export HIVE_CONF_DIR=$HIVE_HOME/conf
  14. export HCAT_HOME=$HIVE_HOME/hcatalog
  15. export PATH=$PATH:$HIVE_HOME/bin
  16. export SQOOP_HOME=/opt/sqoop
  17. export PATH=$PATH:$SQOOP_HOME/bin
  18. export SCALA_HOME=/usr/local/soft/scala-2.12.12
  19. export PATH=$PATH:${SCALA_HOME}/bin
  20. export SPARK_HOME=/opt/spark-3.2.1
  21. export PATH=$PATH:${SPARK_HOME}/bin
  22. export PATH=$PATH:${SPARK_HOME}/sbin
  23. source /etc/profile

三、创建从机

主机关机,从目前的主机状态克隆出两个从机当集群中的从节点,名称分别为BigData01,BigData02。

 

BigData03创建方式同上 

二、配置安装应用

1、HadoopHA 及 zookeeper

  1. vim /etc/hosts
  2. 192.168.67.128 BigData01
  3. 192.168.67.129 BigData02
  4. 192.168.67.130 BigData03
  5. (根据实际ip改变)
  6. scp -r /etc/hosts @BigData02:/etc/
  7. scp -r /etc/hosts @BigData03:/etc/
  8. (接yes和密码)

 

  1. ssh-keygen -t rsa
  2. cd ~/.ssh/
  3. cat ./id_rsa.pub >> ./authorized_keys
  4. 产生的授权后的钥匙要发送给s1和s2节点
  5. #scp 发送命令
  6. scp ./authorized_keys root@BigData02:/.ssh
  7. scp ./authorized_keys root@BigData03:/.ssh
  8. ssh-copy-id BigData02
  9. ssh-copy-id BigData03
  10. ssh-add 启动ssh的服务

  1. echo 1 > /opt/zookeeper/data/myid
  2. cp /opt/zookeeper/conf/zoo_sample.cfg /opt/zookeeper/conf/zoo.cfg
  3. vim /opt/zookeeper/conf/zoo.cfg
  4. 修改dataDir=/opt/zookeeper/data
  5. 末尾添加:
  6. server.1=BigData01:2888:3888
  7. server.2=BigData02:2888:3888
  8. server.3=BigData03:2888:3888
  9. scp -r /opt/zookeeper root@BigData02:/opt/
  10. scp -r /opt/zookeeper root@BigData03:/opt/
  11. 02虚拟机下:echo 2 > /opt/zookeeper/data/myid
  12. 03虚拟机下:echo 3 > /opt/zookeeper/data/myid
  13. 三个节点:
  14. systemctl stop firewalld.service
  15. zkServer.sh start
  16. zkServer.sh status

  1. cd /opt/hadoopHA/
  2. mkdir tmp
  3. scp -r /opt/hadoopHA/tmp @BigData02:/opt/hadoopHA/
  4. scp -r /opt/hadoopHA/tmp @BigData03:/opt/hadoopHA/
  5. vim /opt/hadoopHA/etc/hadoop/hadoop-env.sh
  6. export JAVA_HOME=/opt/jdk1.8.0_171
  7. vim /opt/hadoopHA/etc/hadoop/core-site.xml
  8. <property>
  9. <!--指定HDFS的通信地址-->
  10. <name>fs.defaultFS</name>
  11. <value>hdfs://ns1</value>
  12. </property>
  13. <property>
  14. <!--指定hadoop运行时产生文件的存储路径(即临时目录)-->
  15. <name>hadoop.tmp.dir</name>
  16. <value>/opt/hadoopHA/tmp</value>
  17. </property>
  18. <property>
  19. <!--指定ZooKeeper地址(2181端口参考zoo.cfg配置文件) -->
  20. <name>ha.zookeeper.quorum</name>
  21. <value>BigData01:2181,BigData02:2181,BigData03:2181</value>
  22. </property>
  23. vim /opt/hadoopHA/etc/hadoop/hdfs-site.xml
  24. <property>
  25. <!--指定HDFS的nameservices为ns1,需要与core-site.xml保持一致-->
  26. <name>dfs.nameservices</name>
  27. <value>ns1</value>
  28. </property>
  29. <property>
  30. <!--ns1下面设置2个NameNode,分别是nn1,nn2-->
  31. <name>dfs.ha.namenodes.ns1</name>
  32. <value>nn1,nn2</value>
  33. </property>
  34. <property>
  35. <!--设置nn1的RPC通信地址-->
  36. <name>dfs.namenode.rpc-address.ns1.nn1</name>
  37. <value>BigData01:9000</value>
  38. </property>
  39. <property>
  40. <!--设置nn1的http通信地址-->
  41. <name>dfs.namenode.http-address.ns1.nn1</name>
  42. <value>BigData01:50070</value>
  43. </property>
  44. <property>
  45. <!--设置nn2的RPC通信地址-->
  46. <name>dfs.namenode.rpc-address.ns1.nn2</name>
  47. <value>BigData02:9000</value>
  48. </property>
  49. <property>
  50. <!--设置nn2的http通信地址-->
  51. <name>dfs.namenode.http-address.ns1.nn2</name>
  52. <value>BigData02:50070</value>
  53. </property>
  54. <property>
  55. <!--设置NameNode的元数据在JournalNode上的存放位置-->
  56. <name>dfs.namenode.shared.edits.dir</name>
  57. <value>qjournal://BigData01:8485;BigData02:8485;BigData03:8485/ns1</value>
  58. </property>
  59. <property>
  60. <!--指定JournalNode存放edits日志的目录位置-->
  61. <name>dfs.journalnode.edits.dir</name>
  62. <value>/opt/hadoopHA/tmp/dfs/journal</value>
  63. </property>
  64. <property>
  65. <!--开启NameNode失败自动切换-->
  66. <name>dfs.ha.automatic-failover.enabled</name>
  67. <value>true</value>
  68. </property>
  69. <property>
  70. <!--配置失败自动切换实现方式-->
  71. <name>dfs.client.failover.proxy.provider.ns1</name>
  72. <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
  73. </property>
  74. <property>
  75. <!--配置隔离机制-->
  76. <name>dfs.ha.fencing.methods</name>
  77. <value>sshfence</value>
  78. </property>
  79. <!--设置使用隔离机制时需要的SSH免登录-->
  80. <property>
  81. <name>dfs.ha.fencing.ssh.private-key-files</name>
  82. <value>/home/hadoop/.ssh/id_rsa</value>
  83. </property>
  84. vim /opt/hadoopHA/etc/hadoop/yarn-site.xml
  85. <property>
  86. <!--设置resourcemanager在哪个节点上-->
  87. <name>yarn.resourcemanager.hostname</name>
  88. <value>BigData01</value>
  89. </property>
  90. <property>
  91. <!--Reducer取数据的方法是mapreduce_shuffle-->
  92. <!--指定nodemanager启动时加载server的方式-->
  93. <name>yarn.nodemanager.aux-services</name>
  94. <value>mapreduce_shuffle</value>
  95. </property>
  96. <property>
  97. <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
  98. <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  99. </property>
  100. cd /opt/hadoopHA/etc/hadoop
  101. cp mapred-site.xml.template mapred-site.xml
  102. cd
  103. vim /opt/hadoopHA/etc/hadoop/mapred-site.xml
  104. <property>
  105. <!--指定MR(mapreduce)框架使用YARN方式-->
  106. <name>mapreduce.framework.name</name>
  107. <value>yarn</value>
  108. </property>
  109. vim /opt/hadoopHA/etc/hadoop/slaves
  110. BigData01
  111. BigData02
  112. BigData03
  113. scp -r /opt/hadoopHA root@BigData02:/opt/
  114. scp -r /opt/hadoopHA root@BigData03:/opt/
  115. 三个节点启动zookeeper,查看状态
  116. zkServer.sh start
  117. zkServer.sh status
  118. jps查看进程
  119. hadoop-daemon.sh start journalnode
  120. 主节点下:
  121. hdfs namenode -format
  122. scp -r /opt/hadoopHA/tmp/dfs @BigData02:/opt/hadoopHA/tmp/
  123. hadoop-daemon.sh start namenode
  124. 另外一个namenode节点下:
  125. hdfs namenode -bootstrapStandby
  126. hadoop-daemon.sh start namenode
  127. 主节点下:
  128. hdfs zkfc -formatZK 格式化
  129. 启动服务:
  130. start-dfs.sh
  131. start-yarn.sh
  132. 查看进程:
  133. jps
  134. 关机前关闭集群服务:
  135. stop-yarn.sh
  136. stop-dfs.sh

后面的配置方法同上,就不附图了

2、HBase

  1. 在BigData01下:
  2. tar zxvf /root/Downloads/hbase-1.2.6-bin.tar.gz -C/opt/
  3. vim /etc/profile
  4. export HBASE_HOME=/opt/hbase-1.2.6
  5. export PATH=$PATH:$HBASE_HOME/bin
  6. source /etc/profile
  7. vim /opt/hbase-1.2.6/conf/hbase-env.sh
  8. export JAVA_HOME=/opt/jdk1.8.0_17127行)
  9. export HBASE_MANAGES_ZK=false(128)此行下面添加:
  10. # Configure PermSize. Only needed in JDK7. You can safely remove it for JDK8+
  11. export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=256m"
  12. export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=256m"
  13. vim /opt/hbase-1.2.6/conf/hbase-site.xml
  14. <property>
  15. <name>hbase.rootdir</name> <!-- hbase存放数据目录 ,默认值${hbase.tmp.dir}/hbase-->
  16. <!-- 端口要和Hadoop的fs.defaultFS端口一致-->
  17. <!--ns1为hdfs-site.xml中dfs.nameservices的值。或与Hadoop的fs.defaultFS一致-->
  18. <value>hdfs://ns1/data/hbase_db</value>
  19. </property>
  20. <property>
  21. <name>hbase.cluster.distributed</name> <!-- 是否分布式部署 -->
  22. <value>true</value>
  23. </property>
  24. <property>
  25. <name>dfs.support.append</name>
  26. <value>true</value>
  27. </property>
  28. <property>
  29. <name>hbase.zookeeper.quorum</name> <!-- list of zookooper -->
  30. <value>BigData01,BigData02,BigData03</value>
  31. </property>
  32. <property>
  33. <name>hbase.zookeeper.property.datadir</name> <!--zookooper配置、日志等的存储位置 -->
  34. <value>/opt/zookeeper-3.4.12</value>
  35. </property>
  36. <property>
  37. <name>hbase.zookeeper.property.clientPort</name>
  38. <value>2181</value>
  39. </property>
  40. vim /opt/hbase-1.2.6/conf/regionservers
  41. BigData01
  42. BigData02
  43. BigData03
  44. vim /opt/hbase-1.2.6/conf/backup-masters
  45. BigData02
  46. scp /opt/hadoopHA/etc/hadoop/hdfs-site.xml /opt/hbase-1.2.6/conf/
  47. scp -r /etc/profile @BigData02:/etc/
  48. scp -r /etc/profile @BigData03:/etc/
  49. scp -r /opt/hbase-1.2.6 root@BigData02:/opt/
  50. scp -r /opt/hbase-1.2.6 root@BigData03:/opt/
  51. 两节点下
  52. source /etc/profile
  53. 依次启动zkServer.sh start(检查防火墙)
  54. systemctl stop firewalld
  55. 01下:
  56. start-dfs.sh
  57. start-yarn.sh
  58. start-hbase.sh
  59. jps
  60. 03下:
  61. mr-jobhistory-daemon.sh start historyserver
  62. jps
  63. 浏览器打开查看
  64. http://192.168.67.128:16010
  65. http://192.168.67.128:16030
  66. 根据实际ip地址查看
  67. HBase的Shell命令
  68. 1)基本Shell命令
  69. 1、启动Shell(进入HBase命令行环境)
  70. $ hbase shell
  71. [hadoop@BigData01 ~]$ hbase shell
  72. hbase(main):001:0>
  73. 2、查看HBase运行状态
  74. hbase(main):002:0> status
  75. 1 active master, 1 backup masters, 3 servers, 0 dead, 0.6667 average load
  76. 3、查看版本
  77. hbase(main):003:0> version
  78. 4、获得帮助
  79. hbase(main):004:0> help
  80. 5、退出Shell
  81. hbase(main):005:0> exit
  82. 2)DDL操作命令
  83. 1、创建表
  84. create 表名student,列族名address, 列族名info
  85. hbase(main):001:0> create 'student', 'address', 'info'
  86. 0 row(s) in 2.9230 seconds
  87. => Hbase::Table - student
  88. 2、列表的形式显示所有数据表
  89. hbase(main):002:0> list
  90. TABLE
  91. student
  92. 1 row(s) in 0.0920 seconds
  93. => ["student"]
  94. 3、查看表的结构
  95. hbase(main):003:0> describe 'student'
  96. Table student is ENABLED
  97. student
  98. COLUMN FAMILIES DESCRIPTION
  99. {NAME => 'address', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE',
  100. DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true',
  101. BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}
  102. {NAME => 'info', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE',
  103. DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true',
  104. BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}
  105. 2 row(s) in 0.1420 seconds
  106. 4、修改表结构(需要先将表设为不可用)
  107. hbase(main):004:0> disable 'student'
  108. 0 row(s) in 2.4820 seconds
  109. 4.1)增加列族
  110. hbase(main):005:0> alter 'student', NAME=>'cf3', VERSIONS=>5
  111. Updating all regions with the new schema...
  112. 1/1 regions updated.
  113. Done.
  114. 0 row(s) in 2.3320 seconds
  115. 4.2)删除列族
  116. hbase(main):007:0> alter 'student', NAME=>'cf3', METHOD=>'delete'
  117. Updating all regions with the new schema...
  118. 1/1 regions updated.
  119. Done.
  120. 0 row(s) in 2.2480 seconds
  121. 4.3)设表为启用状态
  122. enable 'student'
  123. 5、查询表是否存在
  124. exists 'student'
  125. 6、查询表是否可用
  126. is_enabled 'student'
  127. 7、判断表是否不可用
  128. is_disabled 'student'
  129. 8、删除表
  130. 先disable表,再drop表
  131. disable 'test'
  132. drop 'test'
  133. 2)DML操作命令
  134. 假设student表的列族address{province,city,university},info{height,weight,birthday,telephone,qq}
  135. create 'student', 'address', 'info'
  136. Row Key: 姓名(也可根据需要设学号为row key
  137. 1、插入记录数据(put '表名', 'row key', '列族:列', '列的值'
  138. put 'student','zhangsan','info:height','180'
  139. put 'student','zhangsan','info:birthday','1990-01-20'
  140. put 'student','zhangsan','info:weight','70'
  141. put 'student','zhangsan','address:province','Hubei'
  142. put 'student','zhangsan','address:city','Wuhan'
  143. put 'student','zhangsan','address:university','Wenhua College'
  144. 2、获取一条数据(get '表名', 'row key'
  145. hbase(main):011:0> get 'student', 'zhangsan'
  146. COLUMN CELL
  147. address:city timestamp=1521772686458, value=Wuhan
  148. address:province timestamp=1521772681481, value=Hubei
  149. address:university timestamp=1521772690856, value=Wenhua College
  150. info:birthday timestamp=1521772670610, value=1990-01-20
  151. info:height timestamp=1521772660840, value=180
  152. info:weight timestamp=1521772675096, value=70
  153. 6 row(s) in 0.1980 seconds
  154. 3、获取一个ID(row key),一个列族的所有数据
  155. get 'student', 'zhangsan', 'info'
  156. 4、获取一个ID(row key),一个列族中某列的所有数据
  157. get 'student', 'zhangsan', 'info:birthday'
  158. 5、更新一条记录
  159. put 'student', 'zhangsan', 'info:weight', '75'
  160. 6、读出数据(全表扫描)
  161. scan 'student'
  162. 7、查询表有多少行(row key的数量)
  163. count 'student'
  164. 8、将整表清空
  165. truncate 'student'
  166. 9、删除某ID(row key)的某列的值
  167. delete 'student', 'zhangsan', 'info:weight'
  168. 3)运行HBase Shell脚本
  169. 可以把操作命令写入到文件中,如testHbaseData.sh,再在Linux shell命令下执行:
  170. $ hbase shell testHbaseData.sh
  171. 如testHbaseData.sh文件中写入如下内容:
  172. put 'student','lisi','info:height','170'
  173. put 'student','lisi','info:birthday','1991-06-20'
  174. put 'student','lisi','info:weight','65'
  175. put 'student','lisi','address:province','Hubei'
  176. put 'student','lisi','address:city','Wuhan'
  177. put 'student','lisi','address:university','Wuhan University'

3、Hive及MySQL

  1. tar zxvf /root/Downloads/apache-hive-2.1.1-bin.tar.gz -C/opt/
  2. mv /opt/apache-hive-2.1.1-bin/ /opt/hive
  3. 关闭防火墙及自启
  4. systemctl stop firewalld
  5. systemctl disable firewalld
  6. 卸载原有数据库
  7. rpm -qa | grep mariadb(出来的是哪个版本号下面就哪个)
  8. rpm -e --nodeps mariadb-libs-5.5.65-1.el7.x86_64
  9. rpm -e --nodeps mariadb-5.5.68-1.el7.x86_64
  10. rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
  11. 安装mysql
  12. cd /opt/
  13. mkdir mysql
  14. cd
  15. tar xvf /root/Downloads/mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar -C/opt/mysql
  16. cd /opt/mysql/
  17. rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm
  18. rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm
  19. rpm -ivh mysql-community-libs-compat-5.7.26-1.el7.x86_64.rpm
  20. rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm
  21. rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm
  22. 检查安装情况
  23. rpm -qa | grep mysql
  24. 修改配置文件
  25. vim /etc/my.cnf
  26. 添加到symbolic-links=0 配置信息的下方
  27. default-storage-engine=innodb
  28. innodb_file_per_table
  29. collation-server=utf8_general_ci
  30. init-connect='SET NAMES utf8'
  31. character-set-server=utf8
  32. 启动mysql服务
  33. mysqld --initialize --user=mysql
  34. systemctl start mysqld
  35. systemctl status mysqld(出现绿色active (running))
  36. cat /var/log/mysqld.log | grep password(查看默认密码,复制:s/!:!8:kNrf)
  37. mysql -uroot -p(输入拷贝的密码)
  38. set password=password("123456");(修改密码)
  39. update mysql.user set host='%' where user='root';(实现任意主机root用户的远程登录)
  40. flush privileges;(刷新权限表)
  41. quit;(退出,重新登录)
  42. mysql -uroot -p(修改后的密码登录成功即可退出,mysql配置成功)
  43. hive配置
  44. mv /root/Downloads/mysql-connector-java-5.1.46-bin.jar /opt/hive/lib/
  45. 修改hive环境变量
  46. vim /etc/profile
  47. export HIVE_HOME=/opt/hive
  48. export HIVE_CONF_DIR=$HIVE_HOME/conf
  49. export HCAT_HOME=$HIVE_HOME/hcatalog
  50. export PATH=$PATH:$HIVE_HOME/bin
  51. source /etc/profile
  52. 配置hive
  53. cd /opt/hive/conf/
  54. cp hive-default.xml.template hive-site.xml
  55. vim /opt/hive/conf/hive-site.xml
  56. <name>javax.jdo.option.ConnectionPassword</name>
  57. <value>123456</value>
  58. <description>password to use against metastore database</description>
  59. <property>
  60. <name>javax.jdo.option.ConnectionURL</name>
  61. <value>jdbc:mysql://BigData01:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false</value>
  62. <description>JDBC connect string for a JDBC metastore</description>
  63. </property>
  64. 484-488
  65. 684true
  66. <property>
  67. <name>javax.jdo.option.ConnectionDriverName</name>
  68. <value>com.mysql.jdbc.Driver</value>
  69. <description>Driver class name for a JDBC metastore</description>
  70. </property>928-932
  71. <property>
  72. <name>javax.jdo.option.ConnectionUserName</name>
  73. <value>root</value>
  74. <description>Username to use against metastore database</description>
  75. </property>
  76. 953-957
  77. <name>hive.exec.scratchdir</name>
  78. <value>/opt/hive/tmp</value>
  79. <description>Location of Hive run time structured log file</description>(1513-1514)
  80. <name>hive.exec.local.scratchdir</name>
  81. <value>/opt/hive/tmp</value>
  82. <name>hive.downloaded.resources.dir</name>
  83. <value>/opt/hive/tmp/resources</value>
  84. <name>hive.server2.logging.operation.log.location</name>
  85. <value>/opt/hive/tmp/operation_logs</value>
  86. 创建hive缓存路径
  87. mkdir /opt/hive/tmp
  88. 添加Hadoop远程登录配置文件
  89. vim /opt/hadoopHA/etc/hadoop/core-site.xml
  90. <property>
  91. <name>hadoop.proxyuser.hadoop.hosts</name>
  92. <value>*</value>
  93. </property>
  94. <property>
  95. <name>hadoop.proxyuser.hadoop.groups</name>
  96. <value>*</value>
  97. </property>
  98. scp -r /opt/hadoopHA/etc/hadoop/core-site.xml root@BigData02:/opt/hadoopHA/etc/hadoop/
  99. scp -r /opt/hadoopHA/etc/hadoop/core-site.xml root@BigData03:/opt/hadoopHA/etc/hadoop/
  100. 初始化 hive 元数据
  101. cd /opt/hive/lib/
  102. ll
  103. mv log4j-slf4j-impl-2.4.1.jar log4j-slf4j-impl-2.4.1.jar.bak
  104. schematool -initSchema -dbType mysql(报错纠错查看报错原,极大可能是配置文件出错)
  105. mysql -uroot -p
  106. show databases;(出现hive表即配置成功)
  107. 启动hive
  108. 启动各服务,关闭防火墙
  109. systemctl stop firewalld
  110. stop-all.sh
  111. start-all.sh
  112. 依次启动zkServer.sh start(检查防火墙)
  113. 01下:
  114. start-dfs.sh
  115. start-yarn.sh
  116. start-hbase.sh
  117. jps
  118. 03下:
  119. mr-jobhistory-daemon.sh start historyserver
  120. 确保各前置服务启动成功后首次启动hive需初始化
  121. hive --service metastore
  122. 出现WARNING!即成功
  123. hive

4、sqoop

  1. tar -zxvf /root/Downloads/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C/opt/
  2. mv /opt/sqoop-1.4.7.bin__hadoop-2.6.0/ /opt/sqoop
  3. vim /etc/profile
  4. export SQOOP_HOME=/opt/sqoop
  5. export PATH=$PATH:$SQOOP_HOME/bin
  6. source /etc/profile
  7. scp /opt/hive/lib/mysql-connector-java-5.1.46-bin.jar /opt/sqoop/lib/
  8. cp sqoop-env-template.sh sqoop-env.sh
  9. vim sqoop-env.sh
  10. #Set path to where bin/hadoop is available
  11. export HADOOP_COMMON_HOME=/opt/hadoopHA
  12. #Set path to where hadoop-*-core.jar is available
  13. export HADOOP_MAPRED_HOME=/opt/hadoopHA
  14. #set the path to where bin/hbase is available
  15. export HBASE_HOME=/opt/hbase-1.2.6
  16. #Set the path to where bin/hive is available
  17. export HIVE_HOME=/opt/hive
  18. #Set the path for where zookeper config dir is
  19. export ZOOCFGDIR=/opt/zookeeper

5、scala 及spark

  1. cp /opt/spark-3.2.1/conf/spark-env.sh.template /opt/spark-3.2.1/conf/spark-env.sh
  2. cp /opt/spark-3.2.1/conf/workers.template /opt/spark-3.2.1/conf/workers
  3. vim /opt/spark-3.2.1/conf/spark-env.sh
  4. export SCALA_HOME=/opt/scala-2.12.15
  5. export JAVA_HOME=/opt/jdk1.8.0_171
  6. export SPARK_MASTER_IP=BigData01
  7. export SPARK_WOKER_CORES=2
  8. export SPARK_WOKER_MEMORY=2g
  9. export HADOOP_CONF_DIR=/opt/HadoopHA
  10. #export SPARK_MASTER_WEBUI_PORT=8080
  11. #export SPARK_MASTER_PORT=7070
  12. vim /opt/spark-3.2.1/conf/workers
  13. BigData02
  14. BigData03
  15. scp -r /opt/spark-3.2.1/ BigData02:/opt/
  16. scp -r /opt/spark-3.2.1/ BigData03:/opt/
  17. vim /etc/profile
  18. export SPARK_HOME=/opt/spark-3.2.1
  19. export PATH=$PATH:${SPARK_HOME}/bin
  20. export PATH=$PATH:${SPARK_HOME}/sbin
  21. source /etc/profile
  22. 主节点下:
  23. cd /opt/spark-3.2.1/sbin/
  24. ./start-all.sh
  25. 三个节点分别:
  26. jps

三、效果

 

 

拓展-Hadoop生态系统组件

组件简略作用
HDFS (Hadoop Distributed File System)用于存储和管理大规模数据集,提供高可靠性、可扩展性和高吞吐量的数据存储。
MapReduce分布式计算框架,用于并行处理大规模数据集,实现大数据量的计算和分析。
YARN (Yet Another Resource Negotiator)集群资源管理器,负责管理和调度集群中的计算资源,允许多租户并行运行不同的作业。
Hive基于Hadoop的数据仓库基础设施,提供类似SQL的查询语言(HiveQL),用于处理和分析结构化数据。
Pig数据流编程语言和执行环境,用于在Hadoop上进行数据转换和分析,简化大数据处理过程。
HBase分布式列存数据库,用于存储非结构化和半结构化数据,提供高可靠性、高性能的数据存储和访问能力。
ZooKeeper分布式协调服务,用于维护服务器状态信息、存储配置信息、实现命名服务和集群管理。
Spark快速、通用的大数据处理引擎,可以在内存中进行数据处理,提供高效的数据分析和计算能力。

组件简略作用
Sqoop用于在Hadoop和传统数据库之间进行高效的数据传输,可以实现数据的导入和导出操作。
Oozie工作流调度系统,用于定义和管理Hadoop作业的工作流,实现作业的自动化执行和调度。
Flume分布式、可靠和高可用的服务,用于有效地收集、聚合和移动大量日志数据。
Ambari管理工具,用于安装、配置、监控和管理Hadoop集群,提供直观的用户界面和强大的管理功能。
Tez基于Hadoop YARN的框架,用于优化执行速度,使得Hive、Pig等处理引擎能够更快地处理数据。
Flink一个流处理和批处理的开源平台,可以在Hadoop上运行,提供高效的数据处理和分析能力。

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号