一.文件备注
jdk-8u181-linux-x64.tar.gz
hadoop-2.7.2.tar.gz
MySQL-5.6.26-1.linux_glibc2.5.x86_64.rpm-bundle.tar
mysql-connector-java-5.1.31.jar
apache-hive-1.2.1-bin.tar.gz
zeppelin-0.8.2-bin-all.tgz
hbase-1.3.1-bin.tar.gz
sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
所有的文件统一放在了 /root/data 下,MySQL-5.6.26-1.linux_glibc2.5.x86_64.rpm-bundle.tar单独放在了一个文件夹下( /root/data/MySql ),因为解包时会产生多个文件出来,方便管理.
二.安装前备注
如果有安装Hue的计划,那么在安装上述文件之前,最好选择先安装Hue,因为Hue的依赖众多,为了避免依赖冲突和其他诡异的原因,还是选择先安装Hue的依赖和包比较保险.
三.安装
1.配置JDK
1.解压jdk到opt下
tar zxvf jdk-8u181-linux-x64.tar.gz -C /opt
2.将java路径添加到profile中
vi /etc/profile
export JAVA_HOME=/opt/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH
3.刷新
source /etc/profile
4.测试
java -version
2.安装Hadoop
1.解压文件到opt下
tar zxvf hadoop-2.7.2.tar.gz -C /opt
2.vi /opt/hadoop-2.7.2/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/opt/jdk1.8.0_181
3.vi /opt/hadoop-2.7.2/etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
4.vi /opt/hadoop-2.7.2/etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
5.配置Yarn(伪分布式可以不配置yarn,一般不会有影响)
(1)配置mapred-site.xml(template改名)
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
(2)配置yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
6.格式化文件系统
bin/hdfs namenode -format
7.启动HDFS
sbin/start-all.sh
8.把Hadoop加入环境变量中
在/etc/profile中添加
export HADOOP_HOME=/opt/hadoop-2.7.2/bin
export PATH=$PATH:$HADOOP_HOME
备注 : 输入jps进行测试,需要有这些;然后打开http://ip:50070,如果能进入HDFS文件管理系统就没问题了
3.安装MySql
1.查看原有的mysql
rpm -qa | grep -i mysql
如果返回为空则跳过第一步,若不为空,则需要卸载所有的mysql组件,如:
sudo rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64
...
卸载完成后,再次查看,没有返回内容就行
2.解包(不是解压,只是打包文件解开就行)
cd /root/data/MySql
tar xvf MySQL-5.6.26-1.linux_glibc2.5.x86_64.rpm-bundle.tar
此时会产生多个mysql相关包。
3.依次使用 rpm -ivh 安装common、libs、client、server、develop包,并使用 service mysql start 启动。
4.修改密码
(1)查看随机密码:grep 'temporary password' /var/log/mysqld.log。
(2)使用密码登录,如果随机密码中有特殊字符,需要使用 “\” 转义符转义。
mysql -uroot -pxxxx
(3)修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
PS:如果修改密码过于简单,会进行提升并阻止修改。执行下面两句话,即可设置密码等级和长度。
set global validate_password_policy=LOW;
set global validate_password_length=6;
5.远程登录
(1)使用mysql表
use mysql;
(2)同意所有用户登录
update user set host='%' where user='root' and host='127.0.0.1';
(3)刷新权限
flush privileges;
4.安装Hive
Hive是依赖于HDFS的,所以需要先启动好HDFS
1.解压
tar zxvf apache-hive-1.2.1-bin.tar.gz -C /opt
2.创建HDFS的目录用于保存hive数据,并修改权限
hdfs dfs -mkdir /tmp
hdfs dfs -mkdir -p /user/hive/warehouse
hdfs dfs -chmod g+w /tmp
hdfs dfs -chmod g+w /user/hive/warehouse
3.修改hive-env.sh(复制hive-env.sh.template改名为hive-env.sh)
# Set HADOOP_HOME to point to a specific hadoop install directory
HADOOP_HOME=/opt/hadoop-2.7.2
# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/opt/hive-1.2.1/conf
4.修改hive-site.xml(复制hive-default.xml.template改名)
删除17行的configuration内所有内容,留下空的<configuration></configuration>
然后在其中插入元数据:
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
<description>location of default database for the warehouse</description>
</property>
5.Hive的元数据默认保存在derby中,实际使用中,一般会设置保存到mysql中
(1)hive-site.xml配置,其中的ip需要设置真实的地址
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.126.100:3306/metastore?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
备注:metastore: 默认保存hive中的元数据, 是一个数据库的名字
(2)hive-site.xml配置,设置jdbc的驱动类
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
(2)hive-site.xml配置,mysql的用户名和密码;若不是root则需要修改value
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>Username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
<description>password to use against metastore database</description>
</property>
(3)需要在hive/lib下边存放jdbc的驱动包
cp /root/data/mysql-connector-java-5.1.31.jar /opt/hive-1.2.1/lib
(4)初始化Hive元数据
bin/schematool -dbType mysql -initSchema
#这时,如果mysql中多出一个metastore数据库,则说明配置成功
6.此时重启hive
nohup bin/hive --service metastore &
nohup bin/hiveserver2 &
备注 : nohup是只把日志打印到nohup中,不显示在控制台
5.安装Zeppelin
1.解压
tar zxvf zeppelin-0.8.2-bin-all.tgz -C /opt
2.修改配置
(1)修改zeppelin-env.sh(template修改)
vi /opt/zeppelin-0.8.2-bin-all/conf/zeppelin-env.sh
添加JAVA_HOME
export JAVA_HOME=/opt/jdk1.8.0_181 (19行左右)
export HADOOP_CONF_DIR=/opt/hadoop-2.7.2/etc/hadoop (82行左右)
(2)修改zeppelin-site.xml(template修改)
第一个property,value改成自己的ip地址
<property>
<name>zeppelin.server.addr</name>
<value>192.168.126.100</value>
<description>Server address</description>
</property>
第二个是端口号,默认是8080,可以自己修改
(3)测试
bin/zeppelin-daemon.sh start
6.安装HBase
1.解压
tar zxvf hbase-1.3.1-bin.tar.gz -C /opt/
2.修改hbase-env.sh
vi /opt/hbase-1.3.1/conf/hbase-env.sh
export JAVA_HOME=/opt/jdk1.8.0_181
3.修改/opt/hbase-1.3.1/conf/hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop:9000/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/testuser/zookeeper</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
</configuration>
4.启动hbase
bin/start-hbase.sh
5.启动shell
bin/hbase shell
6.最后,需要将HBase集成MapReduce,需要用到bin/hbase mapredcp下的jar包,官方推荐是添加一个环境变量来使用
export HBASE_HOME=/opt/hbase-1.3.1
export PATH=$HBASE_HOME/bin:$PATH
export HADOOP_CLASSPATH=`${HBASE_HOME}/bin/hbase mapredcp`
刷新环境变量
source /etc/profile
7.安装Phoenix
1.解压
tar zxvf apache-phoenix-4.14.1-HBase-1.3-bin.tar.gz -C /opt/
cd /opt
2.拷贝phoenix的一个jar包到hbase中
cp phoenix-4.14.1-HBase-1.3-server.jar /opt/hbase-1.3.1/lib/
3.重启hbase
4.启动phoenix
cd /opt/phoenix/
bin/sqlline.py
**************************************************************************************
备注
phoenix可以使用比较标准的sql语句操作hbase,但是目前还不太成熟.
hbase创建的表在phoenix中是不可见的,但是反过来可以.
phoenix表内integer类型数据,在hbase中会变成类似\x80\x00\x00的样子
**************************************************************************************
8.安装Sqoop
1.解压
tar zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /opt
2.配置sqoop-env.sh(template修改)
#Set path to where bin/hadoop is available
export HADOOP_COMMON_HOME=/opt/hadoop-2.7.2
#Set path to where hadoop-*-core.jar is available
export HADOOP_MAPRED_HOME=/opt/hadoop-2.7.2
#set the path to where bin/hbase is available
export HBASE_HOME=/opt/hbase-1.3.1
#Set the path to where bin/hive is available
export HIVE_HOME=/opt/hive-1.2.1
#Set the path for where zookeper config dir is
#export ZOOCFGDIR=
3.拷贝mysql驱动包
cp /root/data/packet/mysql-connector-java-5.1.31.jar /opt/sqoop-1.4.6.bin/lib/
4.简单测试一下,显示mysql中的数据库
bin/sqoop list-databases \
--connect jdbc:mysql://localhost:3306 \
--username root \
--password root
**************************************************************************************
Sqoop语法多方测试
https://blog.csdn.net/qq_40579464/article/details/103887307
**************************************************************************************
至此,JDK,Hadoop,MySql,Hive,Zeppelin,Hbase,Phoenix,Sqoop已经全部安装完成.