工欲善其事,必先利其器。首先从安装部署说起吧...
大数据组件jar包下载地址:
CDH下载地址: http://archive.cloudera.com/cdh5/cdh/5/
Apache下载地址:http://archive.apache.org/dist/
2、安装jdk:
解压:tar -xzvf jdk-7u79-linux-x64.tar.gz -C /opt/
进入到jdk的目录,验证jdk是否ok
bin/java -version
3、安装hadoop
伪分布模式安装步骤:
关闭防火墙
修改ip
修改hostname
设置ssh自动登录
安装jdk
安装hadoop
下面是详细步骤:
hadoop的伪分布安装,一般步骤:
1、设置ip,使物理机与虚拟机直接进行互通。
2、关闭防火墙
service iptables stop
查看防火墙是否被关闭,我们可以采用下面的命令进行查看:
service iptables status
3、关闭防火墙的自动运行
查看防火墙的详细情况:
chkconfig --list | grep iptables
设置所有的值都为off也就是关闭防火墙的自动启动方式:
chkconfig iptables off
然后再进行查看是否已经生效,就可以了。
4、设置一下主机名:
查看并设置主机名:
hostname进行查看主机名,
修改文件彻底的改变主机名:
vi /etc/sysconfig/network
修改完成后,我们可以重启一下,进行显示出我们修改以后的主机名
reboot -h now
5、设置一下ssh免密码登录。
首先执行命令生成相应的文件:
ssh-keygen -t rsa
然后进入到ssh中赋值并重命名一个新的文件:
cd ~/.ssh
cp id_rsa.pub authorized_keys
验证ssh + 主机名(上面进行设置的)
6、将ip与hostname进行绑定。
执行的命令是:vi /etc/hosts 新增一行 ip + 空格 + 主机名
检查 ping 主机名 例如: 192.168.159.4 hadoop
进入hadoop的相关根目录,然后呢。修改配置信息就OK了
$HADOOP_HOME/etc/hadoop/
1、hadoop-env.sh
export JAVA_HOME=/opt/jdk1.7.0_79
-
core-site.xml
<property>
<name>hadoop.tmp.dir</name>
<value>file:/opt/hadoop-2.5.0-cdh5.3.6/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop:9000</value>
</property>
-
Hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/opt/hadoop-2.5.0-cdh5.3.6/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/opt/hadoop-2.5.0-cdh5.3.6/tmp/dfs/data</value>
</property>
-
cp mapred-site.xml.template mapred-site.xml
Vi mapred-site.xml:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
-
yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
-
配置环境变量:
Vi /etc/profile
export HADOOP_HOME=/opt/hadoop-2.5.0-cdh5.3.6
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HBASE_HOME=/opt/hbase-0.98.6-cdh5.3.6
export PATH=$PATH:$HBASE_HOME/bin
export HIVE_HOME=/opt/hive-0.13.1-cdh5.3.6
export PATH=$PATH:$HIVE_HOME/bin
source /etc/profile
格式化 namenode:hdfs namenode -format (一次就好)
然后启动全部:start-all.sh
stop-all.sh
4、安装hbase
首先要先解压文件夹
然后 进入hbase目录,修改配置文件:
1、vi hbase-env.sh:
export JAVA_HOME=/opt/jdk1.7.0_79
export HBASE_MANAGES_ZK=true
2、hbase-site.xml
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
5、安装hive
无需配置,完全按默认的就可以了。学习嘛,不用那么复杂
唯一的不足就是不能多个session进行访问hive,那你就用一个窗口呗。
要是想配置的话:
cp hive-default.xml.template hive-site.xml
vim hive-site.xml
1.配置hive-site.xml
<!-- 插入一下代码 -->
<property>
<name>javax.jdo.option.ConnectionUserName</name>用户名(这4是新添加的,记住删除配置文件原有的哦!)
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>密码
<value>123456</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>mysql
<value>jdbc:mysql://192.168.1.68:3306/hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>mysql驱动程序
<value>com.mysql.jdbc.Driver</value>
</property>
<!-- 到此结束代码 -->
将 mysql驱动包放入 hive/lib/mysql-connector-java-5.1.18-bin.jar
################# 可参考 ################
我觉得学习的话不用配置mysql作为元数据库了,用默认的Derby足够学习用了。
如果想配置可参考下面:
2.hive的安装
(1)解压缩、重命名、设置环境变量
(2)在目录$HIVE_HOME/conf/下,执行命令
mv hive-default.xml.template hive-site.xml重命名
在目录$HIVE_HOME/conf/下,执行命令mv hive-env.sh.template hive-env.sh重命名
(3)修改hadoop的配置文件hadoop-env.sh,修改内容如下:
export HADOOP_CLASSPATH=.:$CLASSPATH:$HADOOP_CLASSPATH:$HADOOP_HOME/bin
(4)在目录$HIVE_HOME/bin下面,修改文件hive-config.sh,增加以下内容:
export JAVA_HOME=/usr/local/jdk
export HIVE_HOME=/usr/local/hive
export HADOOP_HOME=/usr/local/hadoop
3.安装mysql---方法一:
(1)首先我们进行检查mysql的安装情况,系统默认会有一个mysql,所以我们需要卸载一下:参考下面的卸载步骤!
(2)安装mysql的步骤:
(1)安装mysql的服务器端:
rpm -ivh MySQL-server-5.5.31-2.el6.i686.rpm
(2)安装成功以后,我们进行以安全模式启动mysql
mysqld_safe &
然后我们先停止mysql的安全模式,然后进行安装mysql的客户端:
rpm -ivh MySQL-client-5.5.31-2.el6.i686.rpm
然后执行命令进行修改密码:
mysql_secure_installation
然后我们会进入mysql的密码重置界面,然后默认的是无密码的,所以我们直接回车就行了,然后输入新密码,再输入一次新密码。然后会让我们输入y or n 有三个问题:
(1)是否允许匿名用户?
(2)是否允许远程登录?
(3)是否删除默认数据库?
(4)是否重新加载权限? 一般最后一个Y,其他N
一、卸载原来的MySQL:
卸载一:
卸载一:
输入:rpm -qa | grep -i mysql
显示:mysql-libs-5.1.52-1.el6_0.1.i686
卸载方法:
yum -y remove mysql-libs-5.1.52-1.el6_0.1.i686
卸载二:
输入:rpm -qa | grep -i mysql
显示:MySQL-client-5.1.62-1.glibc23.i386
MySQL-server-5.1.62-1.glibc23.i386
卸载方法:
rpm -ev MySQL-client-5.1.62-1.glibc23.i386 MySQL-server-5.1.62-1.glibc23.i386
3-2 、 mysql安装方法二:
安装配置mysql
yum install mysql-server -y
设置开机启动:chkconfig mysqld on
启动mysql: service mysqld start
查看状态: service mysqld status
mysql 进入
use mysql
select host,user from user
修改 mysql 权限: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
刷新:flush privileges;
删除多余会对权限造成影响的数据:delete from user where host !='%';
刷新权限
select host,user from user;
quit 退出
重新登录:mysql -u root -p
密码:123
4. 使用mysql作为hive的metastore
(1)把mysql的jdbc驱动放置到hive的lib目录下
(2)修改hive-site.xml文件,修改内容如下:(如果找不到检查hive的安装步骤)
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://zhang:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<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>
补充说明:mysql默认是不能进行远程登录的,需要我们进行授权.
代码如下:
mysql> grant all on *.* to 'root'@'%' identified by 'mysql';
mysql> flush privileges;
这样的话,我们才可以进行远程连接。
下面是hive的操作:
5. 内部表
CREATE TABLE t1(id int);
LOAD DATA LOCAL INPATH '/root/id' INTO TABLE t1;
CREATE TABLE t2(id int, name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
6. 分区表
CREATE TABLE t3(id int) PARTITIONED BY (day int);
LOAD DATA LOCAL INPATH '/root/id' INTO TABLE t3 PARTITION (day=22);
7. 桶表
create table t4(id int) clustered by(id) into 4 buckets;
set hive.enforce.bucketing = true;
insert into table t4 select id from t3;
8. 外部表
create external table t5(id int) location '/external';
安装hadoop:
下面我们进行安装Hadoop,首先是对压缩文件进行解压命令如下:
tar -xzvf hadoop-1.1.2.tar.gz
然后为了方便起见,我们进行了一下重命名为hadoop。
命令: mv hadoop-1.1.2.tar.gz hadoop
如果需要用hadoop那么我们就需要进行配置环境变量了,命令如下:
vi /etc/profile 在这个文件上面加上export就可以了。
补充一下:
复制粘贴命令:
在一行的任何位置按下yy,y是yanked拷贝的意思,然后去想粘贴的位置按下p即可。p是粘贴的意思。
如果想复制3行的话,按下3yy,就复制3行,如果想复制多行的话,直接按数字可以选中多好,然后粘贴。
剪切和粘贴:把光标移动到想剪切那一行的任意位置,按dd,然后在想粘贴的位置按下p粘贴
剪切多行的方法:
按下数字如3dd,剪切3行,然后去想粘贴的地方粘贴即可。
快速删除一行中多个字符的方法:
删除上面最后一行中的数字6,首先按下Ctrl+v,进入Visual Block模式(块选择模式),这是一种特殊的模式,允许我们选择多个字符。按方向键选中需要删除的内容,按d删除。
export JAVA_HOME=/usr/local/jdk
export HADOOP_HOME=/usr/local/hadoop
export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
然后进行重新执行一下profile文件:source /etc/profile
然后我们要进行伪分布式安装,还需要进行修改相应的配置文件:
修改hadoop配置文件:
1.hadoop-env.sh
export JAVA_HOME=/usr/local/jdk/
2.core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop0:9000</value>
<description>change your own hostname</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
</configuration>
3.hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
4.mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hadoop0:9001</value>
<description>change your own hostname</description>
</property>
</configuration>
然后启动hadoop
安装hbase:
4.HBase伪分布安装
4.1 解压缩、重命名、设置环境变量
4.2 修改$HBASE_HOME/conf/hbase-env.sh,修改内容如下:
export JAVA_HOME=/usr/local/jdk
export HBASE_MANAGES_ZK=true
4.2 修改$HBASE_HOME/conf/hbase-site.xml,修改内容如下:
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop0:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop0</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
4.3 (可选)文件regionservers的内容为hadoop0
4.4 启动hbase,执行命令start-hbase.sh
******启动hbase之前,确保hadoop是运行正常的,并且可以写入文件*******
4.5 验证:(1)执行jps,发现新增加了3个java进程,分别是HMaster、HRegionServer、HQuorumPeer
(2)使用浏览器访问http://hadoop0:60010