**
Hadoop伪分布式环境的安装
**
创建hadoop用户
useradd -m hadoop -s /bin/bash # 添加hadoop用户
passwd hadoop # 配置hadoop用户的密码,需要输入两次
visudo #打开配置文件 在最后一行加入 hadoop ALL=(ALL) ALL 并保存。 为hadoop添加管理员权限
配置免密登录
ssh-keygen -t rsa # 会有提示,都按回车就可以
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys # 加入授权
安装openssh
sudo yum install openssh-clients
sudo yum install openssh-server
安装JDK
cd jdk-download-home # 跳转到你下载的jdk的目录,将jdk-download-home替换为你的下载目录,比如/home/hadoop/downloads
tar zxvf jdk-pkg-name # 解压jdk 将jdk-pkg-name替换为你下载的jdk名字。比如jdk-8u151-linux-x64.tar.gz
sudo mv jdk-dir /usr/local/jdk # 将解压后的jdk目录移动到/usr/local/下并重命名为jdk。 将jdk-dir替换为你解压后的目录。比如jdk-8u151-linux-x64
配置JDK环境变量
vim ~/.bashrc # 打开环境变量配置文件,添加下面的配置
export JAVA_HOME=/usr/local/jdk
export PATH=J A V A H O M E / b i n : JAVA_HOME/bin:JAVAHOME/bin:JAVA_HOME/jre/bin:$PATH
source ~/.bashrc
安装Hadoop
cd hadoop-download-home # 跳转到你下载的hadoop的目录,将hadoop-download-home替换为你的下载目录,比如/home/hadoop/downloads
tar zxvf hadoop-pkg-name # 解压jdk 将hadoop-pkg-name替换为你下载的hadoop名字。比如hadoop-2.7.5.tar.gz
sudo mv hadoop-dir /usr/local/hadoop # 将解压后的hadoop目录移动到/usr/local/下并重命名为hadoop。 将hadoop-dir替换为你解压后的目录。比如hadoop-2.7.5
配置Hadoop
hadoop-env.sh
hdfs-site.xml
dfs.replication # 为文件保存副本的数量
dfs.namenode.name.dir # 为hadoop namenode数据目录,改成自己需要的目录(不存在需新建)
dfs.datanode.data.dir # 为hadoop datanode数据目录,改成自己需要的目录(不存在需新建)
core-site.xml
hadoop.proxyuser.root.hosts和hadoop.proxyuser.root.groups这两项是为了安装hive时使用,解决User: root is not allowed to impersonate anonymous (state=08S01,code=0)这个问题,这里出错的用户名是root,所以hadoop.proxyuser.用户名., 填写root.如果报错User:XXXX is not …,就改成hadoop.proxyuser.XXXX.
hadoop.tmp.dir # hadoop 缓存目录,更改为自己的目录(不存在需创建)
fs.defaultFS # hadoop fs 监听端口配置
mapred-site.xml
yarn-site.xml
Hadoop格式化和启动
cd /usr/local/hadoop/bin
./hdfs namenode -format
cd /usr/local/hadoop/sbin
./start-dfs.sh # 启动HDFS
./start-yarn.sh # 启动YARN
安装Hive
移动mysql驱动包到Hive目录
这里我使用的是mysql-connector-java-5.1.22-bin.jar
mv mysql-connector-java-5.1.22-bin.jar /usr/local/apache-hive-2.3.6-bin/lib/
配置Hive
配置Hive前要确保mysql上有hive用户
hive-env.sh
替换成自己的目录
hive-site.xml
javax.jdo.option.ConnectionURL
javax.jdo.option.ConnectionDriverName
javax.jdo.option.ConnectionUserName
javax.jdo.option.ConnectionPassword
此处密码要跟mysql中的hive用户密码一致
hive.server2.enable.doAs
创建目录
hdfs dfs mkdir /hive/warehouse
hdfs dfs mkdir /hive/log
hdfs dfs mkdir /hive/tmp
hdfs dfs -chmod -R 777 /hive
修改 ~/.bashrc
启动
在hive的bin目录下,我这里是/soft/home/apache-hive-2.3.6-bin/bin
./schematool --dbType mysql --initSchema
hive --service metastore &
hive --service hiveserver2 &