Excerpt |
---|
Released on October 7, 2015. |
Upgrade Instructions
1. Update repository links
On all servers (storage and cluster nodes) run:
Code Block |
---|
[squirro@storagenode01 ~] sudo sed -i -e 's/6\.[56]/6/' /etc/yum.repos.d/squirro-stable.repo |
2. Upgrade storage nodes
If your storage node runs in the same Virtual Machine or Operating System as your cluster node, skip this step. Otherwise upgrade all storage nodes one at a time by running:
Code Block |
---|
|
[squirro@storagenode01 ~] sudo yum upgrade -y
[squirro@storagenode01 ~] sudo reboot |
3. Install new users
Release 2.2.0 reintroduces data providers and squirro services that require new users to be installed before the upgrade. If you rely on squirro-cluster-node-users as recommended, this is done by running the following on all cluster nodes:
Code Block |
---|
language | bash |
---|
title | Install users using squirro-cluster-node-users |
---|
|
[squirro@clusternode01 ~] sudo yum upgrade -y squirro-cluster-node-users |
If you instead need to create the users manually, e.g. because your company policy forbids creating users from inside upgrade packages, ensure you add the following users such that /etc/passwd has the following entries:
Code Block |
---|
title | /etc/passwd containing new users |
---|
|
sqbing:x:467:500:Squirro Bing Provider Service:/var/lib/squirro/bing:/sbin/nologin
sqdifbot:x:466:500:Squirro Diffbot Provider Service:/var/lib/squirro/diffbot:/sbin/nologin
sqemails:x:468:500:Squirro Email Sender Service:/var/lib/squirro/emailsender:/sbin/nologin
sqfb:x:465:500:Squirro Facebook Provider Service:/var/lib/squirro/facebook:/sbin/nologin
sqgnip:x:464:500:Squirro Gnip Provider Service:/var/lib/squirro/gnip:/sbin/nologin
sqinstag:x:463:500:Squirro Instagram Provider Service:/var/lib/squirro/instagram:/sbin/nologin
sqmailer:x:469:500:Squirro Digest Mailer Service:/var/lib/squirro/digestmailer:/sbin/nologin
sqreddit:x:462:500:Squirro Reddit Provider Service:/var/lib/squirro/reddit:/sbin/nologin
sqtwtr:x:461:500:Squirro Twitter Provider Service:/var/lib/squirro/twitter:/sbin/nologin
sqyoutub:x:460:500:Squirro YouTube Provider Service:/var/lib/squirro/youtube:/sbin/nologin
[..] |
You can verify that all new users have been correctly added with. If all users have been added, the script prints nothing.
Code Block |
---|
language | bash |
---|
title | Check that all new users exist |
---|
|
[squirro@localhost clusternode01 ~] sudo su
[root@localhost clusternode01 ~] for SQ_USER in sqmailer sqemails sqbing sqdifbot sqfb sqgnip sqinstag sqreddit sqtwtr sqyoutub; do grep -q $SQ_USER /etc/passwd; if [ "$?" -ne "0" ]; then echo Missing $SQ_USER; fi; done |
4. Upgrade all squirro cluster nodes
The following step upgrades cluster nodes (and if run locally storage nodes too). This step takes about 20 minutes on a reasonably good network connection.
Code Block |
---|
|
[squirro@clusternode01 ~] sudo yum upgrade -y |
5. Resolve configurations
The Squirro packages attempt to upgrade *.ini and *.conf configuration files automatically. However if you have made local modifications, the upgrade results in *.rpmnew files that you would need to merge manually. We recommend
- backing up the previous *.ini and *.conf files to *.ini.orig and *.conf.orig,
- renaming the *.ini.rpmnew and *.conf.rpmnew files to *.ini and *.conf respectively
- inspecting all the *.orig files individually and porting any settings manually
Use the following scripts to look for and resolve unresolved configuration files on each cluster node:
Code Block |
---|
|
# 1. First remember all *.rpmnew because we are about to rename them, but we want to remember the list for step 3 below
sudo su
FILES_TO_RESOLVE=`ls /etc/squirro/*.ini.rpmnew /etc/nginx/conf.d/*.conf.rpmnew /etc/monit.d/*.rpmnew 2> /dev/null | sed -e "s/\.rpmnew//"`
# 2. Back up original config files and make the *.rpmnew files the real configuration files
# (\cp and \rm are used to avoid interactive alias of the commands and to ensure that the config file retains the ownership of the original config file)
for CONFIG_FILE in ${FILES_TO_RESOLVE}; do \cp ${CONFIG_FILE} ${CONFIG_FILE}.orig; \cp ${CONFIG_FILE}.rpmnew ${CONFIG_FILE}; \rm ${CONFIG_FILE}.rpmnew; done
# 3. Finally merge the commands. Exit vim via :q<enter>:q<enter> to accept a new config files verbatim
for CONFIG_FILE in ${FILES_TO_RESOLVE}; do vim -O ${CONFIG_FILE}.orig ${CONFIG_FILE}; done |
6. Reboot
Reboot every cluster node like so:
Code Block |
---|
|
[squirro@clusternode01 ~] sudo reboot |
New Features
Dashboard
Search
...